Calculating black pixels in colour image

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

 Respuesta aceptada

Image Analyst
Image Analyst el 12 de Abr. de 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 comentarios

Hui Shi Lim
Hui Shi Lim el 12 de Abr. de 2015
Thank you. But where is the line to add in my own picture in order to calculate it?
Image Analyst
Image Analyst el 12 de Abr. de 2015
Editada: Image Analyst el 12 de Abr. de 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 el 12 de Abr. de 2015
Thank you:)
Image Analyst
Image Analyst el 12 de Abr. de 2015
You're welcome. If we're done here, can you mark the Answer as Accepted. Thanks in advance.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 12 de Abr. de 2015

Comentada:

el 12 de Abr. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by