2014-10-01 81 views
2

我正在嘗試閾值,並與Cinder OpenCV塊反轉圖像。 在我了openFrameworks會使用類似的東西:openCV:閾值和反轉圖像

someImage.threshold(230, true); 

...這裏真正是參數指定閾值和反轉。

煤渣我想以下幾點:

cv::threshold (input, threshNear, 230, 255, CV_THRESH_BINARY_INV);  

...不工作,或

cv::threshold (input, threshNear, 100, 255, CV_8U); 
cv::invert (threshNear, threshNearInverted); 

...產生和錯誤,讓卡住的程序。 有什麼建議嗎?

+1

cv :: invert是* Matrix *反轉,而不是您可能想要的顏色反轉。 – berak 2014-10-01 08:31:04

+0

也請爲您的任何案件提供* exact *錯誤。 – berak 2014-10-01 08:32:07

+0

@berak感謝您對cv :: invert的評論 - 並且投票結果爲down :)我已經發現CV_THRESH_BINARY_INV參數是要走的路,但結果是由於我使用的值而引起的誤導(請參閱我自己的回答)。我將調查更多關於這個值的問題,不幸的是,在某些時候,cinder缺乏文檔對我來說有點壓倒性... – 2014-10-01 09:38:30

回答

2

好吧, 經過更多的測試,我意識到,實際上走的路是

cv::threshold (input, threshNear, 70, 255, CV_THRESH_BINARY_INV); 

與我在我的問題發佈貌似與閾值我試圖將相關的代碼問題使用(255上的230)。如果我使用較低的值(例如255上的70),則顏色反轉實際上會起作用。

+0

因爲你基本上使用opencv:http://docs.opencv.org/modules/imgproc/doc/ miscellaneous_transformations.html#threshold – berak 2014-10-01 11:04:26

+3

哦,[binary_not](http://docs.opencv.org/modules/core/doc/operations_on_array.html#bitwise-not)可能就是你的'反轉'應該做的。 – berak 2014-10-01 11:06:04