Suche nach Konturen in OpenCV?
Beim abrufen von Konturen in einem Bild, sollte man 2 Konturen pro blob - eine innere und eine äußere. Betrachten Sie den Kreis unten - da der Kreis ist eine Linie mit einem pixel Breite, die größer als eins ist, sollten Sie in der Lage zu finden, zwei Konturen im Bild - eine aus dem inneren Teil des Kreises und einer von dem äußeren Teil.
Verwenden OpenCV, ich will zum abrufen der INNEREN Konturen. Allerdings, wenn ich findContours (), nur ich zu sein scheinen immer die äußeren Konturen. Wie würde ich wieder an die inneren Konturen der blob mit OpenCV?
Ich bin mit dem C++ - API, nicht auf C daher nur empfehlen, die Funktionen, die C++ - API. (d.h. findContours () anstatt cvFindContours ())
Dank.
InformationsquelleAutor der Frage fdh | 2011-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lief ich diesen code auf Ihr Bild und es kehrte eine innere und äußere Kontur.
Hier sind die Konturen, die es gefunden:
InformationsquelleAutor der Antwort SSteve
Ich denke, was Farhad Fragen ist, zuschneiden der Kontur aus dem ursprünglichen Bild.
Zu tun, dass Sie brauchen, um die Kontur wie oben erklärt, dann verwenden Sie eine Maske, um die Innenseite von der ursprünglichen, und dann beschneiden Sie das Ergebnis in ein Bild mit der gleichen Größe wie die Kontur.
InformationsquelleAutor der Antwort Kacem Boufelliga
Den findcontours Funktion speichert alle Konturen in verschiedenen Vektoren, in code gegeben alle Konturen gezeichnet werden, Sie müssen nur ziehen Sie die Kontur entsprechend der inneren, idx ist die variable, die die Staaten, die Kontur gezeichnet wird.
InformationsquelleAutor der Antwort Dangelo Guanipa