【问题标题】:Matlab: How can I find the number of black pixels in a color image?Matlab:如何找到彩色图像中黑色像素的数量?
【发布时间】:2014-09-06 02:36:37
【问题描述】:

我想用 MATLAB 求彩色图像中黑色像素的数量,我该怎么做?

谢谢。

【问题讨论】:

    标签: image matlab image-processing


    【解决方案1】:

    像这样使用nnz -

    nnz(all(im==0,3))
    

    im 是您的图像数据。

    替代方案 - sum(reshape(all(im==0,3),[],1)) 和 sum(sum(all(im==0,3)))。

    这里假设黑色像素是三元组(0,0,0)。


    如果您将黑色像素定义为所有通道中相同像素位置的值在区间 [0 th] 内的像素,请使用此 -

    nnz(all(im<=th,3))
    

    【讨论】:

    • 当然,请注意您对black 的定义是所有RGB 值都恰好是0,即接近黑色的值,例如1,1,1(我假设比例为@987654332 @) 不是黑色的。
    • 我有点失落。如果我的 im 是 ,那么黑色像素是 (0,0,0) 的假设是否正确?
    • @user2916044 没错!这就是全部三个 - R、G 和 B 必须为零才能计算相同的像素。您不是在寻找这样的东西吗?
    • @user2916044 假设黑色是指纯黑色,而不是人类看起来黑色的极暗颜色。
    • @user2916044 如果有任何其他标准可以定义您的“黑色”像素,请告诉我们。
    猜你喜欢
    • 2020-03-07
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 2011-08-02
    • 2012-07-29
    相关资源
    最近更新 更多