2013-12-18 55 views
0

我正在使用opencv庫進行android中的圖像處理過程。問題是當我使用Canny函數的圖像。這是我使用canny的代碼:Android:如何獲得良好的高低門檻檢測使用opencv

Imgproc.Canny(ImageMat, ImageMat, 0.4, 0.5); 

我使用低閾值0.4和0.5作爲高閾值,但圖像的結果不好。我知道我必須改變低和高閾值才能獲得好的結果,但對於其他圖像而言,這必定是不同的閾值。如何獲得該canny進程的動態閾值? 我的項目是Android上的葉識別。對不起,我的英語語言不好。

+0

可能的重複[在opencv中自動計算Canny操作的低和高閾值](http://stackoverflow.com/questions/4292249/automatic-calculation-of-low-and-high-thresholds-for-在-精明的操作,在打開) –

回答

1

據我所知,唯一相對自動的閾值處理方法可能是Otsu操作。您可以在頻道選擇和強度映射(通常是非線性)上花費更多精力,而不是進行閾值試驗。這樣做的目的是最大限度地提高對象和背景之間的差異,從而使閾值更輕鬆,更健壯。爲了達到這個目的,你可能需要檢查你的葉子圖像數據庫,並粗略地瞭解葉子和背景的強度範圍。