Speichern Sie Details eines Binärbildes, das aus einfachen Polygonen besteht.

Diese Frage bezieht sich auf einen etwas geübten und auf Erfahrung basierenden Prozess. Ich habe ein Mat-Binärbild, das aus einfachen weißen Farbpolygonen auf schwarzem Hintergrund besteht. Tatsächlich repräsentieren diese Polygone einen Artikel auf einer Zeitungsseite. Ich möchte also die Details der Position des Artikels auf der Zeitungsseite speichern. Ein Mat-Bild enthält nur ein Polygon. So ist eine Option zu

Verwenden Sie reine OpenCV-Aufrufe, um Mat in einer .xml- oder .yml-Datei zu speichern Wie schreibe ich eine Float Mat in eine Datei in OpenCV: akzeptierte Antwort)Finden Sie die Koordinaten des Polygons, in dem sich Eckpunkte befinden, und speichern Sie nur diese Koordinaten in der Datenbank

Folgendes Bild ist ein Beispiel für eine Matte, die ich speichern werde.

Die erste Option scheint möglich, aber ich weiß nicht, wie ich den zweiten Ansatz implementieren soll. Wenn es möglich ist, wäre das meiner Meinung nach am effizientesten, da dann für jeden Artikel nur wenige Koordinaten gespeichert werden müssten. Ich kann eine komplexe Prozedur implementieren, um die Eckpunkte dafür zu finden und das Mat-Bild bei Bedarf unter Verwendung dieser Koordinaten neu zu zeichnen. Aber ich hoffe, dass es in opencv einen einfachen Prozess für diese Aufgabe gibt.

Also, was ich wissen möchte, ist, welcher Ansatz besser ist und wenn der zweite Ansatz besser ist, wie man das in opencv mit c ++ macht. Ich bin weder OpenCV-Experte noch C ++ - Experte. Eine angemessene Antwort würde mir viele Stunden und auch die Effizienz des Programms ersparen.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage