Rechteck aus Contour OpenCV extrahieren

8

nachdem ich eine Kanten- und Eckenerkennung gemacht habe und dann Konturen finde, habe ich diese Ausgabe.

Wie kann ich dieses Bild zuschneiden und nur dieses Rechteck mit openCV

zurückgeben

BEARBEITEN:

Ich habe cvBoundingRect versucht und dann imageROI gesetzt, aber das Ausgabebild hat noch etwas Hintergrund, aber ich möchte nur das Rechteck

Danke.

    
Mustafa Ibrahim 30.04.2012, 11:04
quelle

2 Antworten

6

Ich hoffe, Sie brauchen den ausgewählten rechteckigen Bereich.

Dazu müssen Sie ein weiteres Graustufenbild erstellen, nennen wir es "Maske". Zeichnen Sie dann die erhaltene Rechteckkontur und füllen Sie sie mit Weiß (255,255,255). Sie erhalten ein Bild wie dieses (alle Bilder, die im Malprogramm von Hand bearbeitet wurden):

Jetzt haben Sie nur eine Operation bitwise_and auf beiden Bildern. Sie erhalten das Ergebnis wie folgt:

** NB: ** Nun, wenn es nicht das gewünschte ist, wollten Sie stattdessen diese Art von Auswahl , Informationen darüber finden Sie in diese SOF-Frage (Danke an Karl Philip für den Link).

    
Abid Rahman K 30.04.2012 12:55
quelle
1

Ich denke, Mustafa will die Box automatisch holen? Wenn nicht, bitte akzeptiere Abids Antwort und ignoriere diese.

Sonst:

Da ich nicht weiß, wie weit es verallgemeinert werden sollte, tue für dieses spezielle Bild eine Transformation, die dir gerade Linien gibt. Die untere Zeile kann jedoch falsch positiv werden. Aber mit einer Nachbearbeitung, z.B. Unschärfe, erweitern, du wirst es loswerden können. Oder Sie könnten das Wissen nutzen, dass die Linien ein Rechteck bilden.

    
guinny 30.04.2012 13:44
quelle

Tags und Links