Python-Implementierung des laplacian of gaussian edge-Erkennung
Ich bin auf der Suche für die gleichwertige Umsetzung der laplacian of gaussian edge-Erkennung.
In matlab verwenden wir die folgende Funktion
[BW,threshold] = edge(I,'log',...)
In python gibt es eine Funktion für die Berechnung der laplacian of gaussian. Es ist nicht so dass die Kanten wieder auf jeden Fall.
scipy.ndimage.filters.gaussian_laplace
Alle Zeiger zu online-Umsetzung oder der code
Dank
- Verwandte (für die Zuschauer, nicht OP) : en.wikipedia.org/wiki/Blob_detection#The_Laplacian_of_Gaussian
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was matlab Rand() machen sollte
Den LoG-filter von scipy macht nur Schritt 1 oben.
Ich habe implementiert die folgenden snippet zu imitieren, Schritt 2 bis 4 oben:
Natürlich ist das langsam und wohl nicht so idiomatisch wie ich bin auch neu in Python, sollte aber zeigen, die Idee. Irgendeine Idee, wie es zu verbessern ist auch willkommen.
Ich spielte ein wenig mit dem code von ycyeh (Dank für die). In meinen Anwendungen, die ich bekam besser Ergebnisse bei der Verwendung von output-Werte, die proportional zu den min-max-Bereich als nur-Binär-0s und 1s. (Ich dann auch nicht brauchen, die dreschen mehr, aber man kann sich leicht anwenden, eine schwellenwertbestimmung auf das Ergebnis.) Auch ich habe die Schleifen mit numpy-array-Operationen für eine schnellere Ausführung.