Je cherche un outil pouvant retirer l'arrière-plan d'une image de manière automatisée nécessitant une interaction humaine zéro. Je vais actuellement expérimenter un outil appelé Image Magick (http://www.imagemagick.org/script/index.php). J'utilise des photos réelles qui sont prises par moi. Je prends d'abord une photo d'un arrière-plan, puis je présente un objet dans ce même cadre et prendre un autre coup. J'ai la caméra sur un trépied pour qu'il n'y ait pas de mouvement. Les ombres qui sont lancées par cet objet semble affecter les résultats ainsi que la texture de l'arrière-plan. Cela ne me dérange pas si la préparation de la scène prend plus de temps aussi longtemps que je peux retirer la totalité de l'arrière-plan sans avoir à le toucher dans Photoshop (ou toute autre application d'édition d'image). Les problèmes rencontrés avec ImageMagick, c'est que cela élimine également des parties de l'objet au premier plan. Est-ce que quelqu'un connaît-il de tout autre outil ou suggestions sur la manière de "préparez-vous" la scène d'une manière que je puisse bien supprimer l'arrière-plan uniquement en utilisant cet outil ou tout autre? Tous les conseils / conseils / suggestions sont grandement appréciés. Merci tout le monde! P>
3 Réponses :
Comment utilisez-vous ImageMagick? Je fais quelque chose de similaire dans un projet, avec ces commandes: Remarque: J'utilise une version très ancienne imagemagick (6.2.4.3). Les commandes Syntaxe peuvent avoir changé. P> p>
Salut Paco. Nous l'utilisons comme ceci: convertir superposé.jpg arrière-plan.jpg -commez Changemask -fuzz 10000 -Composite arrière-plan_removed.png
Toute chance que je puisse obtenir votre adresse email PACO pour communiquer directement et vous demander plus de questions sur ImageMagick? Peut-être que tu peux m'aider?
Je suis désolé mais je pense que les questions doivent être conservées à Stackoverflow afin de pouvoir être lues par d'autres programmeurs ayant des problèmes similaires. En outre, des questions aborderont un plus grand public, potentiellement obtenir plus de réponses.
Peut-être juste jouer avec le facteur fuzz (baisser) suffit. BTW, je préfère l'ancienne méthode (générant un masque de différence) en raison de sa plus grande flexibilité. Jetez un coup d'œil à cet imagemagick exemples différence masquage et plumage d'image . Le dernier, floue le masque, peut faire l'affaire.
Merci, je vais continuer à essayer. Le problème est que les nombreuses variables impliquées, principalement la lumière du soleil et l'observation. Lorsque j'introduit un objet plus important dans le cadre, il semble absorber une partie de la lumière et jeter une ombre bien sûr, ce qui entraîne un peu plus sombre qui change au niveau de pixel et est perçu de ImageMagick comme une différence dans la différence de image provoquant l'élimination des parties de l'objet. Je crois que c'est la raison pour laquelle il n'est pas capable de séparer parfaitement un objet d'un arrière-plan. Dis-moi, êtes-vous capable de le supprimer parfaitement lorsque vous prenez une photo d'une scène du monde réel?
Je n'ai jamais essayé avec des scènes du monde réelles. Vous ajustez-vous vos paramètres de caméra au mode manuel (ouverture fixe, vitesse d'obturation fixe)? Si vous utilisez le mode "Auto" et que vous introduisez un objet au centre de votre scène, une ouverture et / ou une vitesse d'obturation devraient changer et cela pourrait être la raison pour laquelle vous obtenez des photos avec une luminosité différente. Essayez de régler (manuellement ou automatique) votre appareil photo avec l'objet déjà en place, retirez l'objet et prenez un deuxième coup avec les mêmes paramètres du premier coup. Cela devrait vous permettre de réduire le facteur de fuzz à ImageMagick et peut être résolu le problème.
http://fotofuze.com Le suppression de l'arrière-plan Semi-automatiquement et a de grandes résultats de qualité pour la photographie de produits! p>
Essayez ceci (en utilisant ImageMagick): Il prend essentiellement un fichier image (c.-à-d. basé sur ce message: http://snippets.aktagon.com/snippets/558-how-a-remove-a -background-with-imagemagick < / a> p> p> image.jpg code>) et en utilisant un facteur de fuzz de 12% ( Vous pouvez jouer avec cette valeur pour de meilleurs résultats) inondre l'image basée sur les couleurs de pixels des quatre coins de l'image. Après tout ce processus, l'image sortie est
résultat.png code>. P>
agréable! Avec ImageMagick 7 maintenant votre commande serait convertie IMG.PNG -LUT NONE -FUZZ 12% -DRAW 'Couleur 0,0 inondation' -Flop -Draw 'Couleur 0,0 inondil' -FLIP -DRAW 'Couleur 0,0 inondation' -flop -draw 'couleur 0,0 inondation' -flip résultat.png
Avez-vous une idée de pourquoi certaines parties sont-elles enlevées? Ont-ils la même couleur que le fond?
Salut Paco - Bonne question. Dans certains cas, l'objet a la même couleur que l'arrière-plan, dans d'autres cas, ce n'est pas le cas. J'ai du mal à trouver la configuration parfaite afin que je puisse dériver de ce qui est nécessaire pour préparer la scène. J'essaie des objets de couleur différents contre des arrière-plans de couleur et des arrière-plans de texture différentes (c'est-à-dire un mur rugueux, un mur lisse, une clôture de bois, etc.). Pourriez-vous me dire si vous êtes capable de prendre une photo de quelque chose et de retirer complètement l'arrière-plan en utilisant ImageMagick complètement?
Je supprime les images des images avec les commandes que j'ai écrites dans la réponse ci-dessous. Mon cas est un peu différent parce que je traite des images satellitaires. Je reçois des images toutes les 15 minutes avec une couverture nuageuse. Je veux retirer le fond (la Terre), donc j'utilise une image d'une journée sans nuages comme arrière-plan et appliquez les commandes ci-dessous. Cela fonctionne bien parce que les nuages sont blancs et mon fond n'a pas de pixel blanc.