检测红色区域

时间:2015-03-26 09:44:06

标签: c++ colors detect region

有人请解释一下为什么以下代码用于检测红色区域以及其他颜色如何? 注意:原始图片为BGR格式。

split(frame, channels);
add(channels[0], channels[1], channels[1]);
subtract(channels[2], channels[1], channels[2]);
threshold(channels[2], thresh_frame, 50, 255, CV_THRESH_BINARY);

2 个答案:

答案 0 :(得分:0)

方法在哪里以及它们做了​​什么?

狂野猜测:“通道”是指所用色谱的单色(RGB,CMYK,...)。如果从原始图片中减去RED通道(或CMYK的任何组合为您提供RED),并查看返回值是否在特定范围内,那么您可以判断颜色是否为红色。

答案 1 :(得分:0)

图像可能是BGR格式(第三个通道中为红色),代码识别红色是像素

RED-(GREEN+BLUE) >=50