Wie würde man ungefähr die Zweige auf einem Foto eines Baumes rekonstruieren, auf dem Teile der Zweige mit Blättern bedeckt sind?
Ich kann die sichtbaren Teile der Zweige durch Schwellen extrahieren und dann mit Liniensegmenten in einigen verschiedenen Winkeln öffnen. Aber wie würde ich dann (ungefähr) die mit Blättern bedeckten Räume ausfüllen?
Angenommen, wir beginnen mit dieser Zeichnung eines Baumes:
Laden Sie das Bild als Graustufenbild
uu = mmreadgray ('tree2.jpg')
Schwelle die dunkleren Farben; in binär konvertieren; Entferne verbundene Regionen unter 200px
vv = mmareaopen (mmbinär (mmthreshad (mmneg (uu), 200)), 20)
offenes vv mit 10px Liniensegmenten bei 90 Grad, 180 Grad, 135 Grad und 45 Grad; Fügen Sie diese Bilder zu einem Markierungsbild zz zusammen
zz = mmaddm (mmaddm (mmaddm (mmopen (vv, mmseline (10, 90))), mmopen (vv, mmseline (10, 180)), mmopen (vv, mmseline (10, 135)), mmopen (vv, mmseline (10, 45)))
rekonstruieren Sie die sichtbaren Extremitätenbereiche in vv aus dem Markierungsbild zz
aa = mminfrec (zz, vv)
Ergebnis aa über dem Originalbild anzeigen uu; Eine sinnvolle Entnahme der Gliedmaßen wird erreicht
mmshow (uu, aa)
Ich würde mich über Gedanken darüber freuen, wie man jetzt ungefähr das gesamte Glied rekonstruieren kann. (Oder Verbesserungen an den oben angegebenen Schritten). Vielen Dank!
Antworten:
Der von Blättern verdeckte maskierte Bereich ist sehr groß, und während der Rand und die Schattierung zu implizieren scheinen, was für einen Menschen verborgen ist, ist es ungeeignet, "zu malen", was auf einer ziemlich konsistenten Grenze beruht, beispielsweise wenn ein Vordergrundobjekt vorübergehend etwas verdeckt, was sich dahinter fortsetzt .
Die Ausrichtung der Zweige ist ein Anfang, reicht jedoch nicht aus, um zu bestimmen, wie sich die Zweige ausbreiten, ohne ein äußeres Konzept einer Eiche gegenüber einer Weide, Pappel oder Kiefer zu haben. Hier geht es mehr um 3D-Fraktal-Modellierung als um Bildwiederherstellung.
Die am wenigsten sichtbaren Algorithmen für das In-Painting umfassen die Textur-Synthese "Healing" in Photoshop. G'MIC und Resynth sind beliebte Open-Source-Tools für GIMP. Obwohl die visuelle Kontinuität recht gut ist, haben sie keine Vorstellung von einem Baum oder einer Tiefe, sondern lediglich eine 2-D-Patch-Statistik. In dem angegebenen Beispiel wären daher auch Eingaben eines Künstlers erforderlich. Die Maske hat einen weißen Hintergrund an den Außenkanten und dicke Äste an der Innenseite. Die Texturinterpolation ergibt ein seltsames unnatürliches Ergebnis.
quelle