Prinsip -prinsip deteksi lingkaran hough dan deteksi garis Hough serupa. Untuk lingkaran, mereka dinyatakan sebagai C: (x, y, r) dalam sistem koordinat parameter.
fungsi:
Imgproc.houghcircles (gambar mat, sirkuit mat, metode int, dp ganda, mindist ganda, param1 ganda, param2 ganda, int minradius, int maxradius)
Deskripsi Parameter:
Gambar: Sumber Gambar
Lingkaran: Vektor output dari lingkaran yang terdeteksi (x, y, r)
Metode: Metode deteksi yang digunakan, saat ini hanya ada satu imgproc.hough_gradient
DP: Kebalikan dari rasio antara gambar akumulator di tengah lingkaran dan gambar sumber
Mindist: Jarak minimum antara pusat -pusat lingkaran yang terdeteksi
Param1: Parameter yang sesuai dari metode deteksi yang ditetapkan dengan metode. Untuk Hough_Gradient, ini menunjukkan ambang tinggi operator deteksi tepi (ambang rendah adalah setengah dari ambang tinggi), dan nilai defaultnya adalah 100
Param2: Parameter yang sesuai dari metode deteksi yang ditetapkan dengan metode adalah untuk hough_gradient, menunjukkan nilai ambang batas akumulator. Semakin kecil nilainya, lingkaran yang tidak terkait terdeteksi
Minradius: jari -jari minimum jari -jari lingkaran, default adalah 0
Maxradius: Jari -jari maksimum jari -jari lingkaran, default ke 0 (jika Minradius dan Maxradius default ke 0, fungsi Houghcircles akan secara otomatis menghitung jari -jari)
Kode contoh:
public static void main (string [] args) {System.LoadLibrary (core.native_library_name); Mat src = imgcodecs.imread ("f: //websbook_com_1589226.jpg"); Mat dst = src.clone (); Imgproc.cvtcolor (src, dst, imgproc.color_bgr2gray); Lingkaran MAT = MAT baru (); Imgproc.toughcircles (dst, lingkaran, imgproc.hough_gradient, 1, 100, 440, 50, 0, 345); // imgproc.houghcircles (dst, lingkaran, imgproc.hough_gradient, 1, 100, // 440, 50, 0, 0); untuk (int i = 0; i <circles.cols (); i ++) {double [] vcircle = circles.get (0, i); Titik titik = titik baru (vcircle [0], vcircle [1]); int radius = (int) math.round (vcircle [2]); // Circle Center IMGPROC.Circle (SRC, Center, 3, New Scalar (0, 255, 0), -1, 8, 0); // Circle Outline IMGPROC.Circle (SRC, Center, Radius, Skalar Baru (0, 0, 255), 3, 8, 0); } Imgcodecs.imwrite ("f: //dst2.jpg", src); }Gambar Sumber:
Gambar keluaran:
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.