此图像的正确 hsv 范围是多少?

What is the correct hsv range for this image?

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

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

这是我的代码的输出:

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

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

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

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

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