Die Prinzipien der Erkennung von Hough Circle und der Erkennung von Hough Line sind ähnlich. Für Kreise werden sie im Parameterkoordinatensystem als c: (x, y, r) ausgedrückt.
Funktion:
IMGPROC.
Parameterbeschreibung:
Bild: Quellenbild
Kreise: Der Ausgangsvektor des erkannten Kreises (x, y, r)
Methode: Die verwendete Erkennungsmethode, derzeit gibt es nur einen imgproc.hough_gradient
DP: Die Umkehrung des Verhältnisses zwischen dem Akkumulatorbild in der Mitte des Kreises und dem Quellbild
Mindist: Mindestabstand zwischen den Zentren des erkannten Kreises
Param1: Die entsprechenden Parameter der nach Methode festgelegten Erkennungsmethode. Für Hough_gradient zeigt es den hohen Schwellenwert des Kantenerkennungsoperators an (der niedrige Schwellenwert ist die Hälfte des hohen Schwellenwerts) und der Standardwert beträgt 100
Param2: Die entsprechenden Parameter der nach Methode festgelegten Erkennungsmethode sind für Hough_gradient, was den Schwellenwert des Akkumulators anzeigt. Je kleiner der Wert ist, der nicht verwandte Kreis erkannt
Minradius: Der minimale Radius des Kreisradius, die Standardeinstellung beträgt 0
Maxradius: Der maximale Radius des Kreisradius standardmäßig 0 (wenn sowohl Minradius als auch Maxradius standardmäßig 0 sind, berechnet die Houghcircles -Funktion den Radius automatisch).
Beispielcode:
public static void main (String [] args) {System.loadLibrary (core.Native_library_name); Mat src = imgcodecs.imread ("f: //webbook_com_1589226.jpg"); Mat dst = src.clone (); Imgproc.cvtcolor (SRC, DST, IMGPROC.COLOR_BGR2GRAY); MAT -Kreise = neuer Mat (); Imgproc.houghcircles (DST, Kreise, imgproc.hough_gradient, 1, 100, 440, 50, 0, 345); // imgproc.houghcircles (DST, Kreise, imgproc.hough_gradient, 1, 100, // 440, 50, 0, 0); für (int i = 0; i <circles.cols (); i ++) {double [] vcircle = circles.get (0, i); Point Center = neuer Punkt (vcircle [0], vcircle [1]); int radius = (int) math.round (vcircle [2]); // Circle Center imgproc.circle (SRC, Mitte, 3, neuer Scalar (0, 255, 0), -1, 8, 0); // Circle -Umriss imgproc.circle (SRC, Mitte, Radius, neuer Scalar (0, 0, 255), 3, 8, 0); } Imgcodecs.imwrite ("f: //dst2.jpg", src); }Quellbild:
Ausgabebild:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.