Colour Segmentation in LAB colour space

2 次查看(过去 30 天)
Please help. I need some help to do yellow segmentation from my retina images. The goal is to use the LAB colour space, and then by means of distance calculation, obtain the new image with everything that is yellow become white and the background black.
Here is my code. I used gtool to select the yellow, and then it must be that yellow that the user has clicked on to determine which are the nearest distance to that colour. What must I further do?
RGB2=im2double(OriginalRGB);
[X Y]=ginput(2);
x=round(X);
y=round(Y);
punt=[x y];
cform = makecform('srgb2lab');
lab = applycform(OriginalRGB,cform);
l=lab(:,:,1);
a=lab(:,:,2);
b=lab(:,:,3);
pixel=double(lab(x,y,:));
[d1 d2]=size(lab);
for i=1:d1
for j=1:d2
euclidean_distance = norm(((pixel(:,:,2)-a).^2+ (pixel(:,:,3)-b).^2).^0.5);
end
end I need to obtain the segmented image?

采纳的回答

Image Analyst
Image Analyst 2013-7-27
I have several color segmentation demos in my File Exchange. I doubt that LAB would be the best color space for finding yellow, though it could be depending on what your image's gamut looks like. But most likely, you're better off using hsv color space. Here's one demo of mine that finds yellow: http://www.mathworks.com/matlabcentral/fileexchange/28512-simple-color-detection-by-hue Check out the other segmentation tutorials I've uploaded also.
  6 个评论
Image Analyst
Image Analyst 2013-7-30
I don't know, but like I said, you don't want to do it that way anyway, unless you want your program to be inefficient and slow.

请先登录,再进行评论。

更多回答(1 个)

Elad
Elad 2013-7-27

Community Treasure Hunt

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

Start Hunting!

Translated by