bonjour, voici mon pb :
je recherche un moyen de comparer 2 images en java
juste dire si c'est la meme ou pas
merci
Version imprimable
bonjour, voici mon pb :
je recherche un moyen de comparer 2 images en java
juste dire si c'est la meme ou pas
merci
avec le chemin de l'image tu peux pas tarranger??
en meme temps ca dépend de ce que tu veux faire!!!!! essai d'expliquer un peu plus
Comparaison pixel par pixel...
la si c'est une comparaison pixel par pixel je vois pas trop comment tu peux faire!!!
oui en fait c'est ca l'idée serait de placer tous les pixel d'une image sous forme de numéro de couleur dans un vecteur puis de comparer ces deux vecteur en fait non ?
ben wé c'est une solution mais ca risque d'etre un peu lourd de faire la comparaison entre les deux!!! enfin moi ma spécialité c'est pas spécialement JAVA c'est le C++ mais bon la je developpe un programme en java donc...
Enfin si vraiment y'a pas d'autres moyen fais comme ca mais faut voir si tu l'utilise souvent cette fonction!!!!
Si quelqu'un d'autres peut dire si ca va etre trop long et couteux, qu'il n'hésite pas!!!
C'est sur que ça peut vite etre un peu lourd mais sinon je ne vois pas trop comment comparer deux images...
Jettes un oeil sur PixelGrabber, MemoryImageSource...
sinon faudrait te servir du chemin de l'image mais le problème c'est que deux images peuvent être identique et avoir un nom différents
mais bon dans ce cas la si tu compares deux images identiques sur le motif mais qui n'ont pas la même taille c'est exactement pareil!!
Regarde l algorithme des nuées dynamiques : ca va t'aider.
J'ai utilisé ca pour faire des tests de similitude entre une image donnée et x autres.
Voilà bon courage.
:lol: :wink:
De toute façon , un e comparaison d'image pixel par pixel , c'est obligatoirement un traitement assez imposant. Les vecteurs c'est un solution qui apparait lourde, mais qui marchera sans doute.Citation:
Envoyé par snoop
Apres les nuées dynamiques, j'ai pas trouvé grand chose sur le net qui parlais de sa ... tu as un lien ?
Au lieu de comparer pixel par pixel "à la main", jete un oeil sur l'API JAI (Java Advanced Imaging), tu peux faire pas mal de traitement sur les images, j'imagine qu'il y a des fonctions pour faciliter la comparaison d'images.
http://java.sun.com/products/java-media/jai/whatis.html
nickel je pense que je vais rechercher du coté de l'api JAI
en tout cas merci
apres quelques recherches voilou
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 package untitled1; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.ImageIO; import java.util.*; public class Untitled1 { public static void main(String[] args) { Vector original = testImg("c:\\gif\\14.gif"); Vector clonde = testImg("c:\\gif\\15.gif"); System.out.println(original.equals(clonde)); } public static Vector testImg(String file) { Vector all = new Vector(); try { BufferedImage im = ImageIO.read(new FileInputStream(file)); int w = im.getWidth(null); int h = im.getHeight(null); int[] rgbs = new int[w * h]; int x = 0; im.getRGB(0, 0, w, h, rgbs, 0, w); for (int i = 0; i < w; i++) { Vector line = new Vector(); for (int j = 0; j < h; j++) { line.add(new Integer(rgbs[x])); //System.out.println("Pixel " + i + "," + j + "has " + // "RGB values of " + rgbs[x]); x++; } all.add(line); } } catch (Exception ex) { ex.printStackTrace(); } return all; } }
je cherche comment on peut comparer deux images càd même si les photos sont différentes,savoir déterminer si les visages qui sont dessus sont les mêmes.
Quelqu'un pourrait m'aider ou m'orienter seulement quels sont les apis que je peux utiliser?
merci
ceci tu va adorer -> http://daoi.sourceforge.net/
http://daoi.sourceforge.net/Image5.jpg
Bonsoir à tous
le lien http://daoi.sourceforge.net/ n'existe pas.Il y a quelqu'un qui peut le mettre s'il vous plaît.
As ce que je vois, tu as bien cherché sur google en remettant les même mot "Disparity analysis of image ..." car en fait tu tombes sur le projet sur sourceforge c'est le premier lien...
http://sourceforge.net/projects/daoi/
Salut,
pour chercher dans une photo si des visages se trouvant dans d'autres photos s'y trouvent, openCV propose probablement les outils qui permettent de le faire, avec plus ou moins d'effort.
Voir entres autres :
- OpenCV for java.
- Face Recognition with OpenCV/