フィルターのクリア

Region Of Interest Extraction in a Hand and Detect Veins Present in this Region

3 ビュー (過去 30 日間)
Ananthu Jayan
Ananthu Jayan 2018 年 2 月 9 日
From the image attached, I want to extract the region shown in pink rectangular shape automatically and then process the veins in the particular region using vein detection using Near Infrared Algorithm. The alogirthm is also attached below.
Automatically means that if another image of hand is taken using a camera, the same Region Of Interest has be taken based on some marker present in hand and then processed further.
The Matlab code written so far for capturing veins using the algorithm is shown below:
if true
% %Remove items from workspace, freeing up system memory
clear all
%Remove figures
close all
%read image
img=imread('test.jpg');
%display image
figure,imshow(img);
%convert image to grayscale
I=rgb2gray(img);
figure,imshow(I),title('Grayscale image');
%applying median filter to remove noise
K = medfilt2(I);
figure,imshow(K), title('median filtering');
%applying CLAHE
J = adapthisteq(I,'clipLimit',0.05,'Distribution','rayleigh');
figure,imshow(J), title('CLAHE');
%median filtering to remove the noise
K1 = medfilt2(J);
figure,imshow(K1), title('median filtering2');
%blurring images for accuracy
%Adaptive thresholding
T = adaptthresh(K1, 0.7);
BW = imbinarize(K1,T);
figure, imshow(BW), title('Adaptive threshold')
%T1 = adaptthresh(K1,0.5,'ForegroundPolarity','dark');
%figure,imshow(T1), title('foreground');
%BW = imbinarize(K1,T1);
%figure,imshow(BW), title('new thresholding');
se1 = strel('line',11,90);
erodedBW = imdilate(BW,se1);
figure, imshow(erodedBW,[]), title('dilated image');
BW3 = bwperim(erodedBW);
figure, imshow(BW3,[]),title('perimeter extraction');
C = imfuse(img,BW3,'blend','Scaling','joint');
figure, imshow(C), title('fusing images');
end

回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by