我在Android上使用OpenCV進行車牌識別。作爲該過程的一部分,我使用Canny邊緣檢測來查找圖像中的邊緣。我遇到的問題是圖像中的水平邊緣沒有被檢測爲實線。的問題是,由於線不是固體我不能將其檢測爲一個輪廓Android OpenCV邊緣檢測
這是我正在運行上
此邊緣檢測圖像的邊緣檢測的結果。正如你所看到的,車牌的垂直邊緣已經被檢測爲實線,但水平線是虛線的。
這是我的代碼
org.opencv.imgproc.Imgproc.Canny(snapshot.getImage(), dst,
Configurator.PlateDetectCannyThreshold1,
Configurator.PlateDetectCannyThreshold2,
Configurator.PlateDetectCannyApperture);
List<Mat> contours = new Vector<Mat>();
org.opencv.imgproc.Imgproc.findContours(dst, contours, new Mat(),
org.opencv.imgproc.Imgproc.CV_RETR_LIST,
org.opencv.imgproc.Imgproc.CV_CHAIN_APPROX_SIMPLE,
new org.opencv.core.Point(0, 0));
您在坎尼壞閾值。降低他們一點。 – Sam 2012-03-21 14:18:05
我試過了。我應該提到我的上限是300,上面的圖像是下限是0,但是我已經將上面的圖像逐漸降低到0,並且沒有區別 – 2012-03-21 14:36:24
上限應該設置在40左右的某個位置上120,下限爲0.4 *上限或上限/ 3。我認爲讀一點總是很好的。 google上的'wiki canny',以及閱讀canny如何工作。這很重要 – Sam 2012-03-21 14:42:34