Die Abstandstransformation liefert die Entfernung jedes Pixels vom nächsten Rand-/Kontur-/Hintergrundpixel. Ich möchte nicht die kürzeste Entfernung, aber ich möchte ein durchschnittliches Maß für den Abstand des Pixels von der Grenze/Kontur in alle Richtungen erhalten. Irgendwelche Vorschläge zum Berechnen dieser Abstandstransformation würden geschätzt werden. Wenn es irgendwelche existierenden Algorithmen und/oder effizienten C++ - Code gibt, um eine solche Distanz-Transformation zu berechnen, wäre das auch wunderbar.Wie finde ich die Transformation mit durchschnittlicher Entfernung eines binären Bildes?
Antwort
Wenn Sie ein binäres Bild der Konturen haben, können Sie die Anzahl der Begrenzungspixel um jedes Pixel in einigen Fenstern berechnen (z. B. das Integralbild oder cv::blur
). Dies würde Ihnen etwas geben, was Sie wollen.
Sie könnten das mit der Normalisierung der Abstandstransformation für durchschnittliche Entfernungen kombinieren.
Hmm .. klingt nach einer vernünftigen Idee. Ich werde es versuchen. Ja, ich habe ein binäres Bild der Konturen. Aber Ihre Lösung würde keine richtigen Abstände für Pixel erzeugen, die weiter als die Fenstergröße von den Konturen entfernt sind. – Prakhar
Wenn Sie das "durchschnittliche Maß der Entfernung des Pixels von der Grenze/Kontur in allen Richtungen" wollen, dann habe ich Angst, dass Sie die Kontur extrahieren müssen und für jedes Pixel innerhalb des Musters müssen Sie den Durchschnitt berechnen Abstand zu den Pixeln, die zur Kontur gehören. Eine Heuristik für eine "grobe" Approximation wäre es, viele Entfernungskarten unter Verwendung von Quellpunkten zu berechnen (sie könnten die Extremitäten des Musters sein), und für jedes Pixel innerhalb des Musters berechnen Sie dann die Summe aller Abstände von den Distanzkarten. Aber um das genaue Maß zu haben, müssten Sie so viele Entfernungskarten berechnen wie Pixel, die zur Kontur gehören. Aber wenn eine Annäherung "in Ordnung" ist, wird dies die Verarbeitung beschleunigen.
- 1. Wie finde ich die Ausrichtung eines Bildes mit Intent MediaStore.ACTION_IMAGE_CAPTURE?
- 2. Wie finde ich die Breite eines Bildes mit PHP?
- 3. RMagick - wie finde ich die Pixel-Dimension eines Bildes
- 4. Wie finde ich Koordinaten einer HTML-Schaltfläche oder eines Bildes?
- 5. Wie finde ich die Entfernung zwischen den Koordinaten?
- 6. Wie finde ich die Größe der statischen Zuordnungen von binären?
- 7. Wie finde ich die kürzeste Entfernung zwischen mehreren Beacons?
- 8. Wie finde ich die Entfernung zwischen zwei Längenstellen?
- 9. Finde die nächsten Knoten im binären Suchbaum
- 10. die Berechnung durchschnittlicher Gewichtsverlust
- 11. Wie bekomme ich die vollständige Verknüpfung eines Bildes mit Python?
- 12. Wie finde ich die Länge eines Sets?
- 13. Unterabfrage mit durchschnittlicher Gesamtausgabe
- 14. Was bewirkt die Fourier-Transformation eines Bildes, wenn ich seine Größe vergrößere/verkleinere?
- 15. Durchschnittlicher Abstand jeder Variablen
- 16. Wie finde ich den Pca eines Bildes mit Python und Opencv?
- 17. Wie finde ich die Kindknoten eines Knotens eines Infragistics-Webnavigators?
- 18. Wie finde ich die absolute Position eines Elements mit jQuery?
- 19. Vorschau eines Bildes mit TFileOpenDialog
- 20. Wie finde ich mit Google Map API nur die Entfernung zwischen zwei Orten?
- 21. Wie erhöht man die Schärfe eines Bildes?
- 22. Wie kann ich die dominante Farbe eines Bildes finden?
- 23. Drupal: Wie bekomme ich die Dateigröße eines Bildes in Ansichten
- 24. Versucht, die src eines Bildes mit sessionStorage
- 25. wie Ecke eines Bildes
- 26. Effizient finde ich die Tiefe eines Graphen von jedem Knoten
- 27. Wie kann ich die Größe eines Bildes reduzieren?
- 28. Wie bekomme ich die Größe eines eingebetteten Bildes/swf?
- 29. Wie bekomme ich die Mitte eines Bildes in Javascript?
- 30. Wie ändere ich die Größe eines Bildes in Github/Markdown?
Haben Sie die OpenCV-Funktion überprüft: distanceTransform und Matlab-Funktion: bwdist in? – Rotem