How to find the dark pixels in an image?

5 ビュー (過去 30 日間)
Al Falamanki
Al Falamanki 2017 年 11 月 28 日
コメント済み: Al Falamanki 2017 年 11 月 28 日
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

採用された回答

Bshara Murr
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 件のコメント
Bshara Murr
Bshara Murr 2017 年 11 月 28 日
Aha okay. Did you find what you were looking for?
Al Falamanki
Al Falamanki 2017 年 11 月 28 日
I am working on it, but so far, i think will get a satisfactory solution. Thanks !!

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
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.

Community Treasure Hunt

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

Start Hunting!

Translated by