计算白色和黑色像素

Cie*_*eja 1 matlab image-processing

我正在编写一个计算黑白像素的函数.
是否有Matlab计算白色和黑色像素的功能?
我知道我可以使用size方法和2 for循环和计数.
像这样的东西:

[row, column]= size(im);
cb = 0;
cw = 0;
for i=1:row
    for j=1:column
        if(im(i,j) == 0 )
            cb = cb + 1;
        end
        if(im(i,j) == 255)
            cw = cw + 1;
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一些更简单的方法.你知道吗?

Dan*_*Dan 5

如果im是二进制图像则:

cb = sum(im(:))
cw = numel(im) - cb
Run Code Online (Sandbox Code Playgroud)

如果im是灰度图像则:

cb = sum(im(:) == 255)
cw = sum(im(:) == 0)
Run Code Online (Sandbox Code Playgroud)