Pages : 1
#1 Le 13/03/2018, à 23:56
- moths-art
Comparer des images
Je viens de créer un petit soft de comparaison d'images.
C'est tout frais et minimaliste.
C'est dev en Rust, ça fait à peine plus de 200 lignes de code donc ça peut être assez didactique pour ceux qui veulent faire du GTK avec ce jeune langage plein d'avenir.
Plus de détails : https://mothsart.github.io/diff-image.html
N'hésitez pas à me dire si vous appréciez l'initiative et surtout ce qui vous plairais comme fonctionnalités.
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#2 Le 22/03/2018, à 01:03
- moths-art
Re : Comparer des images
Pour ceux qui ont envie de tester sans prise de tête, j'ai créé un PPA avec le paquet en question pour Ubuntu Xenial, Artful et la future Bionic en amd64 et i386.
Ca se passe ici : https://launchpad.net/~jerem-ferry/+archive/ubuntu/rust
Puis faut installer le paquet whatschanging
Dernière modification par moths-art (Le 22/03/2018, à 01:04)
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#3 Le 22/03/2018, à 12:23
- uboops
Re : Comparer des images
Bonjour,
Super, ce projet de comparateur d'images deux à deux, XOR ou autres ... c'est vrai que ce genre d'outil manque cruellement.
Ca se fait déjà, de manière plus ou moins efficiente/rapide, via :
gmic a.png b.png -blend xor -o r1.png ; gmic -i r1.png -to_gray -o r2.png ; gmic r2.png
# ou via imagemagik
convert a.png b.png -fx "(((255*u)&(255*(1-v)))|((255*(1-u))&(255*v)))/255" img_out.png ; convert -monochrome img_out.png img_out-03.png ; convert img_out-03.png -fuzz 0% -fill 'rgb(0,254,0)' -opaque 'rgb(255,255,255)' img_out-04.png
... Ce qui serait bien, c'est aussi de pouvoir comparer les images 2 à 2 avec un curseur/slider
(genre script after/before)
convert rose: \( -clone 0 -flip -crop 5x0 \) \( -clone 0 -crop 5x0 \) -set delay 20 miff:- | animate -
Beau projet, bonne continuation.
“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).
Hors ligne
#4 Le 22/03/2018, à 17:20
- erresse
Re : Comparer des images
Bon, et une fois que j'ai ça... je fais quoi avec ?!?
Comment ça marche, ton programme ? Deux lignes d'explications ne seraient pas de trop pour les pauvres incultes qui aimeraient bien tester...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#5 Le 22/03/2018, à 18:25
- moths-art
Re : Comparer des images
Tout d'abord, merci de vos retours, suggestions.
Uboops : merci pour ce partage de script, toujours enrichissant.
(surtout celui de Gmic : je connaissais le soft mais ne savait pas qu'on pouvait faire ça avec)
L'idée est bien évidement de proposer du minimaliste sans pour autant passer par la ligne de commande ou une usine à gaz.
(pour une version graphique de Gmic, on passe par Krita ou Gimp à ma connaissance)
Eresse : étonnant ta capture !
Tu as récupérer 2 jpeg via les sélecteurs de fichiers d'après ce que je vois.
Si oui, tu n'as vraiment eu besoin de doc : le soft présente sans équivoque une anomalie.
Aucun des 2 images sélectionnées ne c'est affiché ?
As-tu le moyen de communiquer une image testé ?
Dans le cas contraire, que ce passe-t-il avec les fichiers d'exemples : https://github.com/mothsART/whatschangi … r/examples
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#6 Le 22/03/2018, à 18:36
- erresse
Re : Comparer des images
Ben non, rien ne s'affiche ni à la première ni à la seconde image, et le résultat est exactement le même avec les fichiers d'exemples...
Au départ, mes fichiers étaient en jpg, tes exemples sont en png, mais ça ne semble pas jouer sur le résultat.
Précisions:
J'ai téléchargé le paquet depuis ton site, je ne l'ai pas installé via le PPA, est-ce que ça peut expliquer le problème ?
Mon système est en 32 bits, donc avec le paquet idoine que tu as peut-être moins testé si tu es en 64 bits ???
=================================================================
Edit:
J'avais tout simplement "oublié" de fermer le programme et... je viens de tomber sur la fenêtre QUI AFFICHE TROIS IMAGES : exemple_1, exemple_2 et les différences sur fond vert !!!
Donc, il semble que le programme fonctionne mais, du moins sur ma machine, il est tttrrrrèèèèèssss long à réagir, ce qui m'a fait croire qu'il ne fonctionnait pas. Sans doute une question de performances de mon matériel... Excuses.
=================================================================
Dernière modification par erresse (Le 22/03/2018, à 19:19)
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#7 Le 22/03/2018, à 19:22
- erresse
Re : Comparer des images
Désolé, je viens de voir ceci. J'ai édité mon précédent message, le programme fonctionne en fait...
Toutefois, il est très lent (chez moi) : plus de 5min pour deux images de 47 et 31 Ko, c'est trop.
Suggestion: Peut-être pourrais-tu ajouter une barre de progression pour montrer que le traitement est en cours ?
Dernière modification par erresse (Le 22/03/2018, à 19:32)
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#8 Le 22/03/2018, à 19:28
- moths-art
Re : Comparer des images
Ok, je comprend mieux.
La lenteur n'est pas que lié à ton matériel. Il y a plein d'optimisation "software" à envisager (même si sur mes postes, c'est quasi instantanné) mais je me suis concentré pour l'instant sur du fonctionnel.
Néanmoins, il est fort probable que ta machine a swappé pour être aussi longue.
Tu serais capable de me dire si c'est le cas ?
Il serait sans doute utile que je mette en place une barre de progression (ou un sablier) et l'affichage du temps de traitement.
Enfin, quel était la taille de tes images ?
Dernière modification par moths-art (Le 22/03/2018, à 19:30)
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#9 Le 22/03/2018, à 19:40
- erresse
Re : Comparer des images
Non, ça ne swappe pas pourtant là il est encore en train de tourner... et il vient de se casser figure (manque de pot, je ne l'avais pas lancé en terminal... Y a-t-il un log quelque part ?).
Ça a tourné en fait environ 12 min sur les images indiquées plus haut avant d'avorter.
Ha, j'ai une trace de "apport" sur le plantage, est-ce que je peux te la communiquer d'une façon ou d'une autre ?
(J'ai essayé de joindre le rapport ici, mais c'est trop volumineux, ça ne passe pas).
Dernière modification par erresse (Le 22/03/2018, à 20:03)
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#10 Le 22/03/2018, à 20:23
- moths-art
Re : Comparer des images
Non, pas encore de log.
Bizarre ton histoire : j'imagine que si tu recherche juste une image, ça met aussi pas mal de temps. Si oui, ça veut dire que c'est pas le traitement du diff qui est gourmand mais bien l'affichage (et/ou resize) de l'image.
Cairo (la librairie qui permet d'afficher l'image) ne serait pas pris en compte par ta carte graphique... ça me semble inhérant à gtk et je n'ai pas vraiment d'explication dans ce cas.
Tu ne m'as pas répondu pour l'url d'install. je conseile de passer par le PPA, la compilation du binaire est optimisé.
Pour le rapport, tu peux sans doute le mettre sur un site de cloud tel que indie.host ? (c'est gratuit)
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#11 Le 22/03/2018, à 21:23
- moths-art
Re : Comparer des images
Si il y a d'autres retours, je suis bien évidement preneur.
Si c'est fluide sur votre poste, simplement en témoigner serait encouragant
Je pense packager dans les jours qui viennent le soft pour de l'arm et le tester sur une raspberry 2 et 3... ça me donnera sans doute plus d'info sur les éventuelles soucis rencontrés par eresse.
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#12 Le 22/03/2018, à 21:49
- uboops
Re : Comparer des images
Re.
Pour info, chez moi c'est très rapide (xenial version 0.0.1.3 ppa), moins d'1/4 seconde ... du reste ça serait bien , pour la phase de développement, d'afficher le temps écoulé (de la fonction xor) ... et le numéro de version via : whatschanging --version
“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).
Hors ligne
#13 Le 23/03/2018, à 11:18
- erresse
Re : Comparer des images
Pour ceux qui ont envie de tester sans prise de tête, j'ai créé un PPA avec le paquet en question pour Ubuntu Xenial, Artful et la future Bionic en amd64 et i386.
Ca se passe ici : https://launchpad.net/~jerem-ferry/+archive/ubuntu/rust
Puis faut installer le paquet whatschanging
Le lien que j'ai suivi pour aller télécharger le paquet est celui cité dans ton message ci-dessus, je suppose que c'est le bon...
Tu peux récupérer le listing du crash à cette adresse. *** Fichier supprimé après récupération. OK.
J'espère que ça te permettra de comprendre le problème. De toute manière, je ne testais ton programme que par pure curiosité, je n'ai pas besoin d'un tel outil dans mes activités quotidiennes.
Dernière modification par erresse (Le 23/03/2018, à 19:56)
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#14 Le 23/03/2018, à 19:20
- moths-art
Re : Comparer des images
eresse:
Ok, je comprend mieux : tu as installé le paquet debian dans launchpad.
J'aurais tendance à te déconseillé ce genre de process :
1. tu ne seras pas averti de la mise à jour car ton paquet est orphelin.
2. ça peut te poser des soucis lors d'une upgrade de Ubuntu
3. Si tu te trompes de version (.deb correspondant à Bionic alors que tu es en Artful), tu peux avoir des bugs liés aux mauvaises dépendances.
Pour le listing du crash c'est un crash de type SIGABRT.
En gros, GTK prend la main un moment donné pour forcer la fermeture du soft car il est dans un état inattendu. Ca peut provenir de mon soft ou du binding. (le sélecteur de fichier est une fonctionnalité qui a moins d'un mois sur le binding de GTK en Rust)
J'ai réussi à reproduire le crash en faisant 2 opérations assez fourbe :
1.1. on sélectionne une image
22. on change le nom du fichier ou on le déplace.
3.3 on rappuie sur le sélecteur d'image.
2. on choisit un fichier qui n'est pas une image
De toute manière, je ne testais ton programme que par pure curiosité
Un grand merci de ta collaboration !
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
Pages : 1