How to find the dark pixels in an image?

7 Ansichten (letzte 30 Tage)
Al Falamanki
Al Falamanki am 28 Nov. 2017
Kommentiert: Al Falamanki am 28 Nov. 2017
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

Akzeptierte Antwort

Bshara Murr
Bshara Murr am 28 Nov. 2017
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 Kommentare
Bshara Murr
Bshara Murr am 28 Nov. 2017
Aha okay. Did you find what you were looking for?
Al Falamanki
Al Falamanki am 28 Nov. 2017
I am working on it, but so far, i think will get a satisfactory solution. Thanks !!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 28 Nov. 2017
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