How can I count pixel of particular color in image?

30 views (last 30 days)
I want to count the number of pixels with particular color in the image below. What function can I use to count pixels?
The size of this image is 672*708*3.

Accepted Answer

Image Analyst
Image Analyst on 31 Oct 2017
For example, to get the number of yellow pixels:
yellowPixels = rgbImage(:,:,1) == 255 & rgbImage(:,:,2) == 255 & rgbImage(:,:,3) == 0;
numYellowPixels = sum(yellowPixels(:));
To get the number of blue pixels:
bluePixels = rgbImage(:,:,1) == 0 & rgbImage(:,:,2) == 0 & rgbImage(:,:,3) == 255;
numBluePixels = sum(bluePixels(:));
  9 Comments
Iszuzuldin amirull bin mohd janudin
mask= g_channel > 100, b_channel > 800, r_channel < 800, b_channel < 0, r_channel < 0;
numBlackPixels = sum(~mask(:))
how can i change to yellow mask ?
Image Analyst
Image Analyst on 10 Jun 2021
@Iszuzuldin amirull bin mohd janudin, try using the Color Thresholder app on the Apps tab of the tool ribbon. Segment your image, probably using the HSV color space would be good. then tell it to export the code as a function that you can then call from your program.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!