2016-04-17 17 views
3

Ich versuche derzeit, meinen Kopf um die Idee der Berechnung der Kontur eines Bildes zu wickeln. Es gibt viele verschiedene Arten von Algorithmen, die existieren. Einige sagen, dass die Kontur nach der Kantendetektion angewendet werden sollte. Es gibt Informationen, die besagen, dass die Kontur auf Graustufenbildern berechnet werden kann, und andere sagen nur Binärbilder. Ich suche nach dem Prozess der Konturverfolgung auf einem farbigen Bild. Ich möchte das allgemeinere Konzept verstehen:Finden Sie Kontur von nicht-binären Bild

Wird ein Objekt zuerst aus dem zu untersuchenden natürlichen Bild "ausgeschnitten"?

Muss das Bild binär sein, wenn das Objekt in einem Silhouettenformat vorliegt?

Viele Daten können verloren gehen, wenn ein Bild in ein Binärbild umgewandelt wird, wie wird das kompensiert?

Wie wird das Objekt im Lebensraum der natürlichen Szene erkannt?

Alle Links zu Dokumentationen oder persönlichen Kenntnissen wären sehr willkommen! Ich kann nicht viel Information über diese Konzepte finden. Wenn es einen bestimmten Konturalgorithmus mit ausgezeichneter Dokumentation gibt, wäre ein Link sehr hilfreich. Vielen Dank!

+0

Ziel ist es, eine gewisse "Zielkontur" zu finden, und es beinhaltet mehrere Aufgaben. Eine davon ist, verbundene Komponenten in einem Binärbild zu finden (und verbundene Komponenten innerhalb anderer verbundener Komponenten), was die Aufgabe von cv ist :: findContours. Ihre Aufgabe besteht also darin, das Bild so zu digitalisieren, dass Ihre gewünschten Konturen vom Rest getrennt sind. Das hört sich vielleicht so an, als müsste die härtere Arbeit von Ihnen selbst herausgefunden werden (WIE man die Objekte im Bild trennt), aber findContours ist immer noch ein mächtiges Werkzeug. – Micka

Antwort

2

Ich erkannte schließlich, dass ich zwei eng verwandte Konzepte miteinander vermischte, die einige Verwirrung verursachten. Es gibt einen Unterschied zwischen der Grenzverfolgung und dem Finden einer Kontur. Bei der Grenzverfolgung habe ich festgestellt, dass das Objekt, das verfolgt werden soll, ein binäres Bild sein muss. Wenn das Objekt Teil einer natürlichen Szene ist, sollte es aus der natürlichen Szene entfernt und separat verarbeitet werden. Nachdem die Grenze verfolgt wurde, ist das Ergebnis die Kontur des Objekts (nur der Umriss des Bildes und nichts mehr). Bis auf Kanten innerhalb eines Objekts berücksichtigen einige Randverfolgungsalgorithmen die Kanten, andere nicht. Dies ist nur eine Methode, um eine Kontur zu finden.

Mein Ziel war es, eine Kontur eines Bildes zu erstellen, das fehlende Ränder enthielt (das Problem der Computer Vision und das Gestaltprinzip der Schließung lösen). Grenzverfolgung wird nicht dieses Problem lösen. Ich habe stattdessen ein aktives Konturmodell (Schlangen) betrachtet, das es ermöglicht, neue Grenzen zu erzeugen und bestehende Grenzen basierend auf der Energie innerhalb des Bildes zu umreißen. Dies erfüllte mein Ziel, sowohl die Kontur eines Bildes zu finden als auch offene Grenzen zu schließen.