Azzera filtri
Azzera filtri

How to find the dark pixels in an image?

10 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

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