Calculating black pixels in colour image

Hi, does anyone know how do I calculate black pixels in a colour image using Matlab? Thank you.

 Réponse acceptée

Image Analyst
Image Analyst le 12 Avr 2015
Find pixels that are black in all three color channels. One way to do it is:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1) == 0;
greenChannel = rgbImage(:, :, 2) == 0;
blueChannel = rgbImage(:, :, 3) == 0;
blackPixelImage = redChannel & greenChannel & blueChannel;
numBlackPixels = sum(blackPixelImage(:));
message = sprintf('The number of pure black pixels = %d', numBlackPixels);
uiwait(helpdlg(message));

4 commentaires

Hui Shi Lim
Hui Shi Lim le 12 Avr 2015
Thank you. But where is the line to add in my own picture in order to calculate it?
Image Analyst
Image Analyst le 12 Avr 2015
Modifié(e) : Image Analyst le 12 Avr 2015
I called your image rgbImage. What did you call it? In the line below:
rgbImage = imread(yourFileName);
what is the variable name you used instead of "rgbImage"? Whatever it is, that's what you'd use in my code.
By the way, you can also use the sum() function
blackPixelImage = sum(rgbImage, 3) == 0;
numBlackPixels = sum(blackPixelImage(:));
message = sprintf('The number of pure black pixels = %d', numBlackPixels);
uiwait(helpdlg(message));
Hui Shi Lim
Hui Shi Lim le 12 Avr 2015
Thank you:)
Image Analyst
Image Analyst le 12 Avr 2015
You're welcome. If we're done here, can you mark the Answer as Accepted. Thanks in advance.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by