How to find the dark pixels in an image?
5 次查看(过去 30 天)
显示 更早的评论
Hello. I have a lot of images like this one:

From the whole shrimp, I would like to determine the area of dark pixels as a percentage of the visible surface. Does anybody have an idea how to do that? My idea is to first define/find the desired color and then filter the image for that defined color.
Thanks Falamanki
0 个评论
采纳的回答
Bshara Murr
2017-11-28
I = imread('shrimp.bmp');
N = I(:,:,3)>100;
I(:,:,2) = I(:,:,2)>100;
Where the second line treats each color channel separately, 3 represents the blue color, you can use 1 and 2 for red and green the 100 is the threshold that you can change as you with, you can use < as well, this gives you a bw image of the desired channel. the third line returns an rgb image but with a certain color channel thresholded but it will alter your white background as well.
4 个评论
更多回答(1 个)
Walter Roberson
2017-11-28
You could try rgb2gray, then imbinarize using some brightness level you consider to be "dark", and count the number of 0 in the result.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!