matlab - 检查每个像素的特定颜色(在特定阈值内)

标签 matlab image-processing colors rgb

我在 MATLAB 中有一个 RGB 图像,我想循环遍历每个像素并检查它是否是肤色(ish)[稍后我可能会在 HSV 空间中执行此操作,以消除光照等的影响]

有人知道最好的方法吗? MATLAB 奇怪的语法让我有点困惑!

目前我有:

for x = 1:size(I,1)
    for y = 1:size(I,2)
            %Get the value from this x,y coordinate and check the colour.
    end
end

但我认为这是非常错误的。

如何正确访问矩阵的不同部分?

最佳答案

编者,

您不需要循环:

>> a  = magic(5)

a =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9


>> vi = (a > 5) & (a < 10)

vi =

     0     0     0     1     0
     0     0     1     0     0
     0     1     0     0     0
     0     0     0     0     0
     0     0     0     0     1

您可以看到如何将此语句扩展到 RGB 等。我会做一个函数

<小时/>

函数输出 = isFlesh(in)

%%在这里放置肉身检查代码

<小时/>

我怀疑你会想要一系列的这些(isCaucasian,isAsian,等等...)问题是肤色的范围很大,所以你会想要检查邻近度到具有相似颜色范围的邻居。

这部分问题很简单,但更大的问题充满了危险。

-道格

关于matlab - 检查每个像素的特定颜色(在特定阈值内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/650472/

相关文章:

mysql - 查找表中与当前行匹配的前一行

opencv - 如何在 OpenCV 中定义分水岭标记?

algorithm - 如何区分真阳性和真阴性?

java - JFreeChart 网格线颜色

java - 如何更改 JTextArea 中的文本颜色?

matlab - 通过给定的真值行索引生成逻辑矩阵的最快方法?

matlab - 计算两个矩阵中每个行组合之间的距离

php - HTML 表格上的颜色与来自 MySql 的组记录交错

matlab - 我可以制作自定义 matlab 代码分析警告吗?

python - 在skimage中裁剪图像?