[英]HSV and in range method doesn't work properly
我在OpenCV中使用.inRange()
方法时.inRange()
问题。
我将帧转换为HSV,而在使用.inRange()
它无法过滤正确的颜色。
谁能帮我?
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
while(true){
Mat input = imread("/home/xenups/Desktop/szpAl.png");
Mat hsv;
Mat output;
cvtColor(input, hsv, CV_BGR2HSV);
inRange(hsv, Scalar(244, 194, 194), Scalar(255, 0, 0), output);
imshow("ss",input);
imshow("redOnly", output);
waitKey(2);
}
}
我从该站点使用了不同的标量颜色Scalar(244, 194, 194), Scalar(255, 0, 0)
, 但仍然有这个问题。
您的标量值是错误的,它的hsv图像最大值为(179,255,255)。 使用颜色选择器确定所需的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.