这张图片的正确hsv范围是多少?

时间:2016-09-03 08:43:58

标签: c++ opencv hsv

我试图在opencv中使用inrange函数来获取正方形(绿色部分),但它似乎不起作用。这是我的形象 enter image description here 这是我的代码:

cv::inRange(src, cv::Scalar(35, 20, 20), cv::Scalar(85, 255, 200), src);

这是我的代码的输出: enter image description here

如何使用正确的hsv值获取所有绿色部分......

1 个答案:

答案 0 :(得分:3)

查看HSV色轮并选择正确的范围。请注意, HSV 已适合3个8位通道,但 H 通道不适合,因此您必须将此值除以2. 的范围在OpenCV中,H 为0-180。请参阅this question以供参考。 HSV color wheel

使用此配置(我使用ImageJ测试值而不是OpenCV)

cv::inRange(src, cv::Scalar(35, 60, 200), cv::Scalar(60, 255, 255), src);

我得到了这个结果: enter image description here 使用cv::findContours,您可以轻松检测所有轮廓,并按形状和大小或按层次结构过滤方形。