ci-dessous est le code de travail actuel en Python à l'aide de PIL pour mettre en évidence la différence entre les deux images. Mais le reste des images est noiren.
Je veux actuellement afficher l'arrière-plan ainsi que l'image en surbrillance. P>
Y a-t-il de toute façon que je puisse garder l'écran d'arrière-plan plus léger et simplement mettre en surbrillance les différences. p> ! https://drive.google.com/file/d/0bylgvq7rn4zhTutu1HMC1fuvle/view?usp=sharing p> p>
3 Réponses :
PIL a des méthodes de manipulation d'images utiles, mais aussi beaucoup de lacunes quand on veut commencer à faire un traitement d'image sérieux -
la plupart des python lterature vous recommanderont de changer Pour utiliser NUMPY sur vos données de pixels, ce qui donnera votre contrôle complet - Autres bibliothèques d'imagerie telles que laneStonica, Gegl et VIPS Tous ont des liaisons python et une gamme de belles fonctions pour la composition d'image / la segmentation. P>
Dans ce cas, la chose est d'imaginer comment on pourrait Accédez à la sortie souhaitée dans un programme de manipulation d'image: Vous auriez une ombre noir (ou une autre couleur) à placer sur l'image d'origine, et sur ceci, coller la deuxième image, mais à l'aide d'un seuil (c'est-à-dire un pixel égal ou est différent - toutes les valeurs intermédiaires doivent être arrondies à "différent) des différences comme un masque à la deuxième image. p>
J'ai modifié votre fonction pour créer une telle composition - p>
Oh bien - la coutume attendue ici est de cliquer sur "Accepter" pour la réponse, plutôt que d'envoyer des acclamations! :-) Merci quand même.
BTW, pour un besoin de cela pour seulement quelques images, et que vous ne vouliez pas violer avec Python Installations - j'ai répondu à l'argent interactive de manière interactive avec GIMP ici: graphicdesign.stackexchange.com/questions/ 27484 / ...
Voici une solution à l'aide de Libvivips:
import sys from gi.repository import Vips a = Vips.Image.new_from_file(sys.argv[1], access = Vips.Access.SEQUENTIAL) b = Vips.Image.new_from_file(sys.argv[2], access = Vips.Access.SEQUENTIAL) # a != b makes an N-band image with 0/255 for false/true ... we have to OR the # bands together to get a 1-band mask image which is true for pixels which # differ in any band mask = (a != b).bandbool("or") # now pick pixels from a or b with the mask ... dim false pixels down diff = mask.ifthenelse(a, b * 0.2) diff.write_to_file(sys.argv[3])
Si vous n'êtes pas marié à l'idée d'utiliser Python, il existe quelques solutions vraiment simples utilisant ImageMagick: P>