Python Kantenerkennung und Krümmungsberechnung

8

Ich weiß, dass das Kantenerkennungsproblem vorher gepostet wurde (in Java: Zählen Sie die Anzahl der Objekte in einem Bild , unabhängig von der Sprache: Bildkantenerkennung ), aber ich möchte wissen, wie man es in Python implementiert.

Bei einigen einfachen Formen (binäre Form mit etwas Rauschen) mache ich Kantenerkennung und Krümmungsberechnung um den Rand herum. Ich weiß, dass es einen Wrapper für OpenCV gibt, aber nicht sicher, welcher besser ist: pyopencv, pycv, pycvf?

Da ich im Grunde nur diese zwei Aufgaben mache, bin ich mir auch nicht sicher, ob es schneller wäre, es selbst zu implementieren, anstatt die Bibliothek zu benutzen.

    
clwen 04.02.2012, 00:14
quelle

3 Antworten

11

Wir haben Segmentierungs- und Kantenerkennungsalgorithmen in der aktiv entwickelten scikit-image , die Sie vielleicht nützlich finden:

Beispiele für Scikit-Bilder

    
Stefan van der Walt 07.02.2012, 09:42
quelle
3

Es gibt eine sehr einfache Möglichkeit, Konturen in Python mit scikit image zu finden. Es ist wirklich nur ein paar Zeilen Code, wie folgt:

%Vor%

Dies gibt die Vektordarstellung der Konturlinien zurück. In einem separaten Array für jede Zeile. Und es ist auch einfach, die Anzahl der Punkte in einer Linie durch Berechnen einer Annäherung zu verringern. Hier ist eine etwas längere Beschreibung mit Quellcode: Bildvektorisierung mit Python

    
mrbo 21.07.2013 19:51
quelle
3

Sie können leicht Kantenerkennung mit scipy in Python erreichen.

%Vor%

Und hier ist ein Beispiel für das Originalbild und das Bild nach der Kantendetektion.

In scikit-image gibt es eine spezielle Seite mit Erklärungen zum Edge Erkennung.

    
Salvador Dali 30.08.2015 20:53
quelle