【问题标题】:What is the correct hsv range for this image?此图像的正确 hsv 范围是多少?
【发布时间】:2016-09-03 08:43:57
【问题描述】:

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

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

这是我的代码的输出:

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

【问题讨论】:

    标签: c++ opencv hsv


    【解决方案1】:

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

    使用此配置(我使用 ImageJ 而非 OpenCV 测试了值)

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

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

    【讨论】:

    • 我之前尝试过,但它似乎不起作用,因为我不知道 H[0-180]。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    相关资源
    最近更新 更多