2013-01-31 104 views
4

如何過濾紅色的圖像?我知道紅色位於330°到30°之間的零點附近(在OpenCV中由165到15表示)。如何在InRange方法中使用該範圍,因爲在360°處出現溢出(在OpenCV中爲180)?紅色過濾 - emgucv/opencv

回答

1

林使用以下代碼檢測HUE顏色:

墊img_hsv,DST;
cap >> image;
cvtColor(image,img_hsv,CV_RGB2HSV);
inRange(img_hsv,Scalar(110,130,100),Scalar(140,255,255),dst);

其中dst是與img_hsv和CV_8U類型大小相同的Mat。
而你的標量決定了過濾後的顏色。在我的情況下,其:

HUE從110到140
SAT從130到255
VAL從100到255

更多的信息在這裏: OpenCV 2.4 InRange()

我不知道如何使用色調溢出180範圍,但我認爲你可以分別計算它們,然後添加結果Mats。

+1

任何其他顏色,在0和360度色調我已經可以完美檢測。這是溢出360度的顏色(紅色)(InRange值爲180),這是一次調用很難檢測到的。 –