Rekonstruktion von Ästen, die von Blättern verdeckt werden

12

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:

Farbe Baum

Laden Sie das Bild als Graustufenbild

uu = mmreadgray ('tree2.jpg')

Baum

Schwelle die dunkleren Farben; in binär konvertieren; Entferne verbundene Regionen unter 200px

vv = mmareaopen (mmbinär (mmthreshad (mmneg (uu), 200)), 20)

Baum

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)))

Baum

rekonstruieren Sie die sichtbaren Extremitätenbereiche in vv aus dem Markierungsbild zz

aa = mminfrec (zz, vv)

Baum

Ergebnis aa über dem Originalbild anzeigen uu; Eine sinnvolle Entnahme der Gliedmaßen wird erreicht

mmshow (uu, aa) Baum

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!

Martin
quelle
3
Zwei Personen haben Ihre Frage gestellt - Sie sollten jetzt Bilder hochladen können.
Niki Estner
1
@Martin Ich glaube, die als "Inpainting" bekannte Technik könnte einen Blick wert sein.
Spacey
1
Wäre es nicht effektiver, die Zweige eher nach Farbton als nach Helligkeit zu isolieren? Wählen Sie also die braunen Teile des Bildes und nicht die dunklen Teile. Wie es ist, mischen Sie viel Blattschatten mit Ihren Zweigen ein und verlieren viele Zweige.
Travisbartley
Ich würde versuchen, Beleuchtungsverläufe für die Zweige zu verwenden, um deren Richtungen zu bestimmen oder zumindest um schlechte vorgeschlagene Ausfüllungen zu beseitigen.
DarenW

Antworten:

1

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.

James Prichard
quelle