Ed *_*mes 2 rgb matlab colors image-processing
我在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
Run Code Online (Sandbox Code Playgroud)
您可以看到如何为RGB等扩展此语句.我会做一个功能
function out = isFlesh(in)
%%在这里放入肉体检查代码
我怀疑你会想要一系列的这些(isCaucasian,isAsian等等)问题是,有大量的肉色,所以你要检查邻近的邻居类似的颜色范围.
问题的这一部分很容易,但更大的问题充满了危险.
-Doug