我选择的hsv值是: -
cv::inRange(src, Scalar(25, 20, 20), Scalar(85, 255, 200), src);
我应该选择hsv的正确值是什么?
答案 0 :(得分:1)
这些范围应该足够好:
inRange(hsv, Scalar(35, 20, 20), Scalar(85, 255, 255), mask);
请记住,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;
}
的其他详细信息