【发布时间】:2016-08-29 18:37:22
【问题描述】:
我选择的 hsv 值是:-
cv::inRange(src, Scalar(25, 20, 20), Scalar(85, 255, 200), src);
我应该选择的 hsv 的正确值是多少?
【问题讨论】:
我选择的 hsv 值是:-
cv::inRange(src, Scalar(25, 20, 20), Scalar(85, 255, 200), src);
我应该选择的 hsv 的正确值是多少?
【问题讨论】:
这些范围应该足够好:
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;
}
【讨论】: