J'ai commencé un logiciel qui permettra de retrouver dans votre collection d'images celles qui sont en double. L'algorithme ne regardera pas simplement si les fichiers sont identiques, mais il ouvrira les images et en comparera le contenu.
Une fois la comparaison effectuée, on pourra donner au programme une liste de répertoires prioritaires. Ensuite les doublons se trouvant dans les répertoires non prioritaires seront effacées du disque dur.
Si vous avez des idées supplémentaires
VisiPics : Dédoublonnage d'images
Modérateurs: modérateurs, admins
VisiPics : Dédoublonnage d'images
Dernière édition par Ozone Griffox le 03 Juin 2006, 11:47, édité 2 fois.
-
Ozone Griffox - Griffox Anthro
- Messages: 3189
- Inscription: 18 Fév 2003, 11:59
- Localisation: France
Sur la Furmap: Ozone
Rôliste
Impressionnant. Particulièrement utile pour se débarasser des doublons dans nos téra-octets d'images furry
I'm the Doctor. You're in the biggest library in the universe. Look me up.
-
Lone_Fox - (C'est comme le Port-Salut, c'est écrit dessus)
- Messages: 2541
- Inscription: 21 Oct 2003, 19:41
- Localisation: Bruxelles
Dessinateur
Musicien
Ecrivain
-
cLx - Jaguar Non Anthro
- Messages: 931
- Inscription: 11 Fév 2003, 18:16
- Localisation: Lille
Sur la Furmap: cLx
Vidéaste
Portfolio http://clx.freeshell.org/portfolio.html -->
J'ai testé ImageDupeless. Il est trop buggé pour être utilisable je trouve. Et il explose facilement dès qu'il y a trop d'images, effectivement... En plus, chez moi, il avait tendance à trouver des images identiques alors que ce n'était pas franchement le cas.
-
Ozone Griffox - Griffox Anthro
- Messages: 3189
- Inscription: 18 Fév 2003, 11:59
- Localisation: France
Sur la Furmap: Ozone
Rôliste
Oooh, en voilà une idée qu'elle est interessante!
Petite question: quels spont exactement les critères de recherches? Par exemple, si j'ai 2 images identiques mais avec un nom, une résolution et une extension différente, sera-t-il capable de les trouver?
Petite question: quels spont exactement les critères de recherches? Par exemple, si j'ai 2 images identiques mais avec un nom, une résolution et une extension différente, sera-t-il capable de les trouver?
-
Lightfox - Renard (roux) Anthro
- Messages: 997
- Inscription: 14 Fév 2003, 13:59
- Localisation: Bruxelles
Sur la Furmap: mikelightfox
Dessinateur
Lightfox a écrit:Si j'ai 2 images identiques mais avec un nom, une résolution et une extension différente, sera-t-il capable de les trouver?
En théorie oui. En pratique ca dépendra des différences entre les images. Une image dont une partie, même infime, à été coupée (crop) ne sera pas retrouvée.
-
Ozone Griffox - Griffox Anthro
- Messages: 3189
- Inscription: 18 Fév 2003, 11:59
- Localisation: France
Sur la Furmap: Ozone
Rôliste
mmm...c'est déjà très bien! Je vais suivre ce projet avec attention!
...par contre, vu qu'une assez grande partie des images que je possède provenant de l'oekaki de Guppy sont le résultat d'une section d'une capture d'écran...je ne pourrais sans doute pas retrouver tous mes doublons :p.
...par contre, vu qu'une assez grande partie des images que je possède provenant de l'oekaki de Guppy sont le résultat d'une section d'une capture d'écran...je ne pourrais sans doute pas retrouver tous mes doublons :p.
-
Lightfox - Renard (roux) Anthro
- Messages: 997
- Inscription: 14 Fév 2003, 13:59
- Localisation: Bruxelles
Sur la Furmap: mikelightfox
Dessinateur
Ozone Griffox a écrit:Une image dont une partie, même infime, à été coupée (crop) ne sera pas retrouvée.
-
cLx - Jaguar Non Anthro
- Messages: 931
- Inscription: 11 Fév 2003, 18:16
- Localisation: Lille
Sur la Furmap: cLx
Vidéaste
Portfolio http://clx.freeshell.org/portfolio.html -->
cLx a le don de ma rappeller que je ne suis pas un mathématicien surdoué en montrant son logiciel qui... je le rappelle... a tendance à facilement trouver des doublons là où il n'y en a pas
L'algorythme (le mien à moi, hein cLx?!) que j'utilise n'est pas sorcier:
- On demande trois paramètres : Sensibilité, Précision et Tolérance à l'utilisateur.
- Redimensionnement des images en 50x50 pixels.
- Comparaison des trois composantes pour chaque pixel.
- Ajout de la somme des différences dans un indice.
- Vérification si une des trois différences est supérieure à la précision demandée. Si oui, décrémentation de la tolérance.
- Si l'indice de différence est inférieur à la Sensibilité et que la Tolérance n'est pas dépassée, alors les images sont considérées comme identiques.
En Delphi ça donne ceci :
Les résultats que j'obtiens, une fois les trois paramètres calibrés, sont vraiment excellents.
L'algorythme (le mien à moi, hein cLx?!) que j'utilise n'est pas sorcier:
- On demande trois paramètres : Sensibilité, Précision et Tolérance à l'utilisateur.
- Redimensionnement des images en 50x50 pixels.
- Comparaison des trois composantes pour chaque pixel.
- Ajout de la somme des différences dans un indice.
- Vérification si une des trois différences est supérieure à la précision demandée. Si oui, décrémentation de la tolérance.
- Si l'indice de différence est inférieur à la Sensibilité et que la Tolérance n'est pas dépassée, alors les images sont considérées comme identiques.
En Delphi ça donne ceci :
Diff := 0;
Wide := 0;
for Y:=0 to 49 do for X:=0 to 49 do begin
DiffRed := abs(Pic1.Red[X,Y] - Pic2.Red[X,Y]);
DiffGreen := abs(Pic1.Green[X,Y] - Pic2.Green[X,Y]);
DiffBlue := abs(Pic1.Blue[X,Y] - Pic2.Blue[X,Y]);
Inc(Diff, DiffRed + DiffGreen + DiffBlue);
if ((DiffRed >= Precision) or (DiffGreen >= Precision) or (DiffBlue >= Precision)) then inc(Wide);
end;
Result.Pixels := Diff / (50 * 50 * 255 * 3);
Result.Wide := Wide;
if ((Diff.Pixels < Sensitivity) and (Diff.Wide < Tolerance)) then AddGroup(Id1, Id2);
Les résultats que j'obtiens, une fois les trois paramètres calibrés, sont vraiment excellents.
-
Ozone Griffox - Griffox Anthro
- Messages: 3189
- Inscription: 18 Fév 2003, 11:59
- Localisation: France
Sur la Furmap: Ozone
Rôliste
Mon algorithme est au point et les règlages correctement effectués. La preuve, sur 2500 fichiers différents, j'ai obtenu un joli 100% d'efficacité. Il reste néanmoins quelques problèmes liés à Devil... La bête a du mal à charger certains format de compression. :\ Si quelqu'un à une idée pour Devil, je suis preneur.
Notez la subtile différence entre les groupes d'images 3 et 4 (les deux en rouges), mon algorithme a detecté correctement que le titre n'apparait pas sur la deuxième version. Et oui, le format de compression et/ou la taille des images de chaque groupe sont différents.
Notez la subtile différence entre les groupes d'images 3 et 4 (les deux en rouges), mon algorithme a detecté correctement que le titre n'apparait pas sur la deuxième version. Et oui, le format de compression et/ou la taille des images de chaque groupe sont différents.
-
Ozone Griffox - Griffox Anthro
- Messages: 3189
- Inscription: 18 Fév 2003, 11:59
- Localisation: France
Sur la Furmap: Ozone
Rôliste
Je n'ai aucune solution pour les images croppées... Malheureusement. Il y a une tolérance au crop, mais elle est infime. Sinon, j'y ai passé la journée mais j'ai finalement réussi à faire fonctionner Devil correctement. J'avais deux problèmes : un de "Contexte" Windows, et un de conversion de format (pour les GIF). J'arrive donc à charger tout type d'images ! Weeee
Théoriquement : Bmp, Gif, Ico, Cur, Jpg, Pcx, Png, Tga, Tiff, Psd et d'autres moins intéressants. Je n'ai pas encore testé tous les formats, seulement Gif, Jpg et Png. Ceux-là fonctionnent.
Le seul problème que j'ai trouvé vient d'images manquant fatalement de contraste. Le logiciel a tendance à les confondre. C'est facilement adaptable dans mon algorithme mais risque encore d'augmenter légèrement les temps de chargement (zut). Il faut le faire, de toute façon.
Théoriquement : Bmp, Gif, Ico, Cur, Jpg, Pcx, Png, Tga, Tiff, Psd et d'autres moins intéressants. Je n'ai pas encore testé tous les formats, seulement Gif, Jpg et Png. Ceux-là fonctionnent.
Le seul problème que j'ai trouvé vient d'images manquant fatalement de contraste. Le logiciel a tendance à les confondre. C'est facilement adaptable dans mon algorithme mais risque encore d'augmenter légèrement les temps de chargement (zut). Il faut le faire, de toute façon.
-
Ozone Griffox - Griffox Anthro
- Messages: 3189
- Inscription: 18 Fév 2003, 11:59
- Localisation: France
Sur la Furmap: Ozone
Rôliste
Bientôt terminé. Je n'ai plus de plantages et le logiciel semble vraiment bien trouver les doublons. J'ai aussi travaillé l'algorithme pour qu'il soit le plus rapide possible. En fait le plus long n'est plus de comparer les images, mais c'est de les charger en mémoire depuis le disque dur.
Sur mon Pc portable (2,6 Ghz) :
Sur un lot de 1040 images,
Temps de chargement : 2 minute 18 secondes
Temps de comparaison : 8 secondes
À savoir que le chargement ne sera à effectuer qu'une seule fois sur la version définitive. Pour la comparaison, je ne sais pas encore, mais normalement les images déjà comparées n'auront pas à l'être une nouvelle fois.
Mon programme bénéficiera de l'HyperThreading et/ou d'un système avec deux-processeurs dans le cas ou vous chargez et comparez les images en même temps.
Sur mon Pc portable (2,6 Ghz) :
Sur un lot de 1040 images,
Temps de chargement : 2 minute 18 secondes
Temps de comparaison : 8 secondes
À savoir que le chargement ne sera à effectuer qu'une seule fois sur la version définitive. Pour la comparaison, je ne sais pas encore, mais normalement les images déjà comparées n'auront pas à l'être une nouvelle fois.
Mon programme bénéficiera de l'HyperThreading et/ou d'un système avec deux-processeurs dans le cas ou vous chargez et comparez les images en même temps.
-
Ozone Griffox - Griffox Anthro
- Messages: 3189
- Inscription: 18 Fév 2003, 11:59
- Localisation: France
Sur la Furmap: Ozone
Rôliste
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité