HSV和范围内方法无法正常工作



我在OpenCV中使用.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图像的最大值为(179255255)。使用颜色选择器来确定所需的值。

最新更新