2014-09-20 55 views
-1

我在OpenCV的 我轉換幀HSV使用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); 
    } 
} 

我用從this site標量不同的標量顏色標量(244,194,194),標量(255,0,0),但我仍然有這個問題。

+0

您在輸入圖像上使用inRange()而不是hsv圖像! – Dennis 2014-09-20 16:01:22

+0

@ Dennis nope,他的用法是正確的,可以忽略狡猾的標量值 – user3791372 2014-09-20 16:03:20

+1

除了關於色調的評論除以2:你是否還要在色調頻道中添加一些(小)範圍? – Micka 2014-09-20 17:46:43

回答

0

Your Scalar values are wrong,it has maximum values of(179,255,255)for hsv images。使用顏色選擇器來確定您需要的值。

+0

順便說一句,良好的標量範圍是問題。 – beaker 2014-09-20 17:08:02

+0

@beaker關於紅色的好處 - 僅僅不是紅色,這顯然是一個弱點! – user3791372 2014-09-20 18:15:23