Ich möchte ein Objekt erkennen und habe versucht, die Houghcirles-Funktion von OpenCV, aber ich konnte nicht die besseren Parameter für alle Bilder erreichen und aber Threasholding konnte ich für den Kreis herausfiltern. Code ich verwendet habe, istKreis Erkennung: Parameter für Houghcricles
int main()
{
// Load an image
src = imread("occupant/cam_000569.png");
threshold(src,binary,52,255,0);
imwrite("binary.png",binary);
canny(src,canny,50,200,3);
houghcircles(canny,circles,CV_HOUGH_GRADIENT,1,src.gray.rows/8,7,24,28);
Nach Schwellwertbildung, ich das Bild unten zu bekommen und auch wenn es Störung enthalten ist, aber für einen Schwellenwert von 52
konnte ich das gleiche für alle anderen Bilder sehen, wo das Objekt ist klar, .
Nach der Verwendung der canny
und houghcircles
Funktion mit den genannten Parametern der Code. Ich konnte das gewünschte Objekt erkennen.
Aber das Problem ist, wenn ich die nächsten Bilder benutze den gleichen Schwellenwert Wert ist anwendbar, aber mit den gleichen Parametern für canny und Hoochcircles kann ich das Objekt nicht erkennen.
Also meine Frage ist, wie die Parameter für den Houghcircle zu wählen oder ist es möglich, das Objekt mit verschiedenen OpenCV-Funktion zu erkennen?
Vielen Dank für die Idee. Ich bin sicher, Beleuchtung ist ein Grund. Aber meine Hauptfrage ist, wie man die Parameter für den HoughCircle wählt, insbesondere Parameter1 und Parameter2 für die Schwellenwertbildung. – Reddy2810
@ Reddy2810 Die übliche Methode zur Auswahl von Parametern in solchen Fällen ist die "empirische Auswahl", bei der die Software auf einer großen Anzahl von Bildern aus der gegebenen Szene getestet wird und die Parameterkombination ausgewählt wird, die die besten Ergebnisse liefert. – Totoro