Opencv中的hsv范围是什么?

时间:2016-08-29 18:37:22

标签: c++ opencv hsv

我现在有点困惑,我找不到这个绿色方块的正确值。这是图像 enter image description here

我选择的hsv值是: -

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

以下是此输出: - enter image description here

我应该选择hsv的正确值是什么?

1 个答案:

答案 0 :(得分:1)

这些范围应该足够好:

inRange(hsv, Scalar(35, 20, 20), Scalar(85, 255, 255), mask);

enter image description here

请记住,OpenCV将图像存储为BGR,而不是RGB。因此,当您转换为HSV时,请务必使用COLOR_BGR2HSV,而不是COLOR_RGB2HSV

#include <opencv2/opencv.hpp>
using namespace cv;

int main()
{
    Mat3b img = imread("path_to_image");

    Mat3b hsv;
    cvtColor(img, hsv, COLOR_BGR2HSV);

    Mat1b mask;
    inRange(hsv, Scalar(35, 20, 20), Scalar(85, 255, 255), mask);

    imshow("Mask", mask);
    waitKey();

    return 0;
}

您可以找到有关HSV范围herehere

的其他详细信息