我正在使用opencv和java來查找圖像上的圓圈,到目前爲止我有下圖。 我使用霍夫用這樣的代碼來找到的那個圓圈:查找圈子圖像處理
Imgproc.medianBlur(result, result, 3);
Imgproc.medianBlur(result, result, 3);
Imgproc.medianBlur(result, result, 3);
Mat circles = new Mat();
Imgproc.HoughCircles(result, circles, Imgproc.CV_HOUGH_GRADIENT, 1, 1, 200, 100, 30, 40);
System.out.println(circles.dump());
,但我得到了有和沒有模糊的結果的空席。 我應該如何解決這個問題?
編輯: 傢伙嗨!
感謝你我現在有這張照片。我正在使用這些參數:
Imgproc.HoughCircles(result, circles, Imgproc.CV_HOUGH_GRADIENT, 1, 20, 50, 10, 10, 40);
我仍然在檢測之前使用medianBlur。
剩下的唯一問題是爲什麼它會檢測到這些小圈子?我附上了canny檢測的結果,我認爲這些圈子是相當可見的。
墊可以被用作用於在OpenCV中點的矢量容器。大部分接受點向量的函數都會接受Mat並正常使用它。實際上OpenCV之前的一些版本需要將矢量轉換爲Mat。但我同意使用Mat而不是矢量有點令人困惑。 –
我正在使用Mat,因爲函數需要Java中的Mat,並且當我僅找到一個圓時,Mat中只有3個值。 @MichaelBurdinov –