MATLAB Code for Vein Detection using IR Camera.

23 views (last 30 days)
I am working on a mini project to find the matlab code to detect the veins using an IR Camera. I have referred a paper and applied all those techniques as mentioned in the algorithm attached as image.
The code I have written so far is as follows. May I get the code inorder to improve the precision and do it more effectively ?
Matlab Code:
clc
%Remove items from workspace, freeing up system memory
clear all
%Remove figures
close all
%read image
img=imread('C:\Users\Ananthu\Desktop\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');
  6 Comments
Ananthu Jayan
Ananthu Jayan on 10 Feb 2018
@Image Analyst I have added the image for your testing purpose.
I am a beginer in matlab and I have tried out direct algorithms in the papers read from the link. The algorithm which I followed is also attached in the question above. Please see to it and even I have added an image for the testing purpose.
My ultimate aim is to get an image as shown below:
Then process the final image using the algorithms in the paper. Is there a method atleast to do these procedures.
Thanks
Image Analyst
Image Analyst on 10 Feb 2018
Not at a high level - there is no vein extraction function. You'll have to build up the algorithm in the paper from lower level functions. It looks like you're doing that.

Sign in to comment.

Answers (3)

ali ismaeel
ali ismaeel on 8 Dec 2018
I applied this code and its really worked.
thank you so much

ali ismaeel
ali ismaeel on 8 Dec 2018
but when i convert to grayscale i want to keep one color which is green lets say
i mean i want to show only the vein in green color and others in grayscale
Anyone can help?

Ranjani Elango
Ranjani Elango on 18 Jan 2020
Mr Ananthu Jayan, can you please help me out how can you made the vein detector and can you please send me the matlab program which gives final successful output. Thank you

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!