私は 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 を使用しています。
残っている唯一の問題は、なぜこれらの小さな円を検出するのかということです。キャニー検出の結果を添付しました。円がかなり見えると思います。