Reconstruire des branches d'arbres qui sont occultées par des feuilles


12

Comment reconstruirait-on approximativement les branches sur une photo d'un arbre, où des parties des branches sont couvertes de feuilles?

Je peux extraire les parties visibles des branches en les serrant puis en les ouvrant avec des segments de ligne sous différents angles. Mais comment pourrais-je alors (approximativement) remplir les espaces couverts de feuilles?

Supposons que nous commençons par ce dessin d'un arbre:

arbre de couleur

charger l'image en niveaux de gris

uu = mmreadgray ('tree2.jpg')

arbre

seuil les couleurs plus foncées; convertir en binaire; supprimer les régions connectées sous la zone 200px

vv = mmareaopen (mmbinary (mmthreshad (mmneg (uu), 200)), 20)

arbre

vv ouvert avec des segments de ligne 10px à 90 degrés, 180 degrés, 135 degrés et 45 degrés; additionnez ces images pour former une image de marqueur zz

zz = mmaddm (mmaddm (mmaddm (mmopen (vv, mmseline (10, 90)), mmopen (vv, mmseline (10, 180))), mmopen (vv, mmseline (10, 135))), mmopen (vv, mmseline (10, 45)))

arbre

reconstruire les parties visibles des membres en vv à partir de l'image du marqueur zz

aa = mminfrec (zz, vv)

arbre

afficher le résultat aa au-dessus de l'image d'origine uu; une extraction raisonnable des membres est obtenue

mmshow (uu, aa) arbre

J'apprécierais toute réflexion sur la façon de reconstruire maintenant approximativement le membre entier. (Ou des améliorations aux étapes ci-dessus). Je vous remercie!


3
Deux personnes ont voté pour votre question - vous devriez pouvoir télécharger des images maintenant.
Niki Estner

1
@Martin Je pense que la technique connue sous le nom d '«inpainting» mérite d'être étudiée.
Spacey

1
Ne serait-il pas plus efficace d'isoler les branches par teinte plutôt que par luminosité? Autrement dit, choisissez les parties brunes de l'image plutôt que les parties sombres. En fait, vous mélangez beaucoup d'ombre de feuilles avec vos branches et perdez beaucoup de branches.
travisbartley

J'essaierais d'utiliser des gradients d'éclairage sur les branches pour aider à déterminer leurs directions, ou au moins pour éliminer les mauvais remplacements proposés.
DarenW

Réponses:


1

La zone masquée cachée par les feuilles est très grande et bien que la bordure et l'ombrage semblent impliquer ce qui est caché à un être humain, il n'est pas adapté à "l'inpainting" qui repose sur des limites assez cohérentes, comme lorsqu'un objet de premier plan obscurcit temporairement quelque chose qui continue derrière .

L'orientation des branches est un début mais pas assez de données en soi pour impliquer comment les brindilles s'étendent sans avoir un concept externe d'un chêne par rapport à un saule, un peuplier ou un pin. Cela concerne plus la modélisation fractale 3D que la restauration d'images.

Les algorithmes les moins visibles pour l'in-painting impliquent une synthèse de texture appelée "Healing" dans Photoshop. G'MIC et Resynth sont des outils open source populaires pour ceux disponibles sous forme de plug-ins pour GIMP. Bien que la continuité visuelle soit assez bonne, ils n'ont aucun concept d'arbre ou de profondeur, seules les statistiques de patch 2-d auraient donc besoin de la contribution d'un artiste également dans l'exemple donné. Le masque est un fond blanc sur les bords extérieurs et des branches épaisses à l'intérieur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.