How to count the number of pixels from an image for specifies colors?
2 次查看(过去 30 天)
显示 更早的评论
I have used the code stated below.
if true
% code
imread color.jpg
load color.jpg
redChannel = color(:, :, 1);
greenChannel = color(:, :, 2);
blueChannel = color(:, :, 3);
whitePixels = redChannel == 255 & ...
greenChannel == 255 & ...
blueChannel == 255;
count = sum(whitePixels(:));
Red1Pixels = redChannel == 255 & ...
greenChannel == 166 & ...
blueChannel == 166;
count = sum(Red1Pixels(:));
Red2Pixels = redChannel == 254 & ...
greenChannel == 85 & ...
blueChannel == 82;
count = sum(Red2Pixels(:))
Blue1Pixels = redChannel == 179 & ...
greenChannel == 169 & ...
blueChannel == 250;
count = sum(Blue1Pixels(:))
Blue2Pixels = redChannel == 255 & ...
greenChannel == 255 & ...
blueChannel == 255;
count = sum(Blue2Pixels(:))
end
and I am getting error as below.
if true
% code
Index exceeds matrix dimensions.
Error in Try_03_07_2018 (line 17) greenChannel = color(:, :, 2); and Try_03_07_2018 is the file name.
Kindly help me out of this.
Regards,
Jotheeshwar V
0 个评论
采纳的回答
更多回答(2 个)
Image Analyst
2018-7-4
Replace this
imread color.jpg
load color.jpg
with this
fileName = fullfile(pwd, 'color.jpg');
color = imread(fileName );
[rows, columns, numberOfColorChannels] = size(color);
if numberOfColorChannels < 3
errorMessage = sprintf('%s is not a color image!', fileName)
uiwait(errordlg(errorMessage));
return;
end
0 个评论
komal
2019-6-7
After doing skin detection. I want to count the pixels of white region which indicates skin part shown in the image.How can I do it? Please help me out
2 个评论
Image Analyst
2019-6-7
numWhitePixels = nnz(skinMask);
where skinMask is your binary image that you get after doing the skin detection (which I assume you already know how to do that part).
Jan
2019-6-11
编辑:Jan
2019-6-11
@komal: Please do no append a new question in the section for answers of another thread. Ask a new question instead.
"Not working" is a lean description of our problem. Please mention any details. Of course you can use nnz to count elements in an array. So if something is not working for you, you have to explain, what the inputs are, what you want to achieve and what you get instead: a result which differs from your expectations, or an error message?
Afert opening a new thread, delete this pseudo answer here. Thanks.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Computer Vision with Simulink 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!