Mein aktuelles Problem:
- Ich habe ein eingegebenes 3D-Binärbild (eine 3D-Matrix mit nur 0 und 1), das aus Zufallszahlen von Kugeln mit dem Radius r besteht.
- Wir wissen nicht, wie viele Kugeln sich im Bild befinden.
- Alle Kugeln haben den gleichen Radius r, aber wir kennen den Radius r nicht.
- Kugeln befinden sich überall im Bild und können sich überlappen.
- Beispielbild ist unten angegeben.
Meine Anforderung:
- Was ist der Radius r?
Derzeit reduziere ich das Bild einfach, um die z-Achse zu entfernen und eine Kantenerkennung durchzuführen, und versuche Hough Transform mithilfe von: http://rsbweb.nih.gov/ij/plugins/hough-circles.html
Bei Hough Transform sehe ich jedoch, dass die Variablen minimaler Radius, maximaler Radius und Anzahl der Kreise angegeben werden müssen. Ich habe unten einige Versuche versucht:
Mit den richtigen Parametern kann Hough Transform die Kreise gut erkennen. In der realen Anwendung weiß ich jedoch nicht, wie viele Kugeln vorhanden sind, und es scheint nicht möglich, das Programm zu veranlassen, den minimalen und maximalen Radius zu erraten. Gibt es andere Möglichkeiten, dies zu erreichen?
Cross-Link: /math/118815/finding-radius-r-of-the-overlappable-spheres-in-3d-image
quelle
Antworten:
Eine einfachere Lösung und im Vergleich zur Hough-Transformation viel rechnerisch effizienter ist die Verwendung der Entfernungstransformation:
Ein weiterer Vorteil dieser Lösung im Vergleich zur Hough-Transformation besteht darin, dass sie einen viel genaueren Wert für den Radius liefert.
quelle
Die Hough-Transformation erfordert in ihrer allgemeinen Form keine Schätzungen des Radius der gesuchten Kreise und der Anzahl der Kreise. Vielleicht wurden Sie von Ihrer Quelle in die Irre geführt. Die Transformation kann in ihrer allgemeinsten Form rechenintensiv sein; Alle vorherigen Informationen können die Ausführung des Algorithmus beschleunigen und genauer machen.
Ich würde erwarten, dass die Hough-Transformation angesichts Ihrer Eingabebilder den Radius der Kugeln mit angemessener Genauigkeit ermittelt. Die Bilder enthalten viele Punkte, die Punkte auf dem Umfang von Kreisen mit demselben Radius darstellen.
Angesichts dieses Radius scheint der Rest des Problems geknackt zu sein, sodass ich nicht mehr schreibe.
Ich sehe, dass die Erklärung von Wikipedia zur Hough-Transformation auch darauf hinweist, dass damit 3D-Objekte in 3D-Bildern gefunden werden können, vorausgesetzt, diese Objekte können parametrisiert werden - was sicherlich eine Kugel sein könnte.
quelle