2016-08-29 92 views
0

我现在有点困惑,我找不到这个绿色正方形的正确值。这里是图像 enter image description hereOpencv中的hsv范围是多少?

,我选择的HSV值是: -

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

下面是从这个输出: - enter image description here

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

回答

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

+0

谢谢,这是一个愚蠢的错误我忘了把它转换为HSV .....还有,你能告诉我如何挑选INRANGE值为HSV我不知道如何找到他们... –

+0

检查编辑! ; d – Miki