Bonjour,
Je recherche une librairie en Java qui permettent d'avoir la proximité entre deux images. Sachant que les images peuvent être centrées de manière différentes.
Merci
Bonjour,
Je recherche une librairie en Java qui permettent d'avoir la proximité entre deux images. Sachant que les images peuvent être centrées de manière différentes.
Merci
Salut,
Qu'est-ce que tu appelles la proximité entre 2 images au juste ? Pour moi, la proximité est liée à une notion de position relative dans l'espace (ou le temps) : 2 images indépendantes n'ont pas (vraiment) de position, ou alors c'est 2 images dans une autre image.
Est-ce que par proximité tu entends, une notion d'images qui se "ressemblent", c'est-à-dire qui représentent la même chose ? Encore faudrait-il définir cette notion de ressemblance (ce qui nous semble évident à nous humain n'a pas de sens pour une machine à qui il faut définir des critères (des fonctions) qui déterminent si ça se ressemble et à quel taux...).
Pour le traitement et l'analyse d'images il y a ImageJ, mais ce n'est qu'un ensemble d'outils : je ne connais que de nom, mais je ne pense pas qu'il y ait une fonction toute faite qui permettrait de savoir si 2 images se ressemblent, justement parce qu'on peut définir beaucoup de critères différents de ressemblance (déjà par la notion de centrage dont tu parles, il y a un critère : se ressemble à une translation près (mais on considère que tous les pixels sont exactement les mêmes à la translation près). Mais ça peut être à une rotation ou une symétrie près, à une déformation particulière près, à un seuil de différence de couleur près, parce qu'il peut y avoir des différences de couleurs de pixels (en particulier si les images sont des photos) qui pour un test d'égalité donnera toujours false, alors que peut-être que si 10% des pixels ont une couleur différentes à moins de 3%, on considère que les images sont identiques, par exemple, etc. Mais on peut également définir que la ressemblance est validée si on a les mêmes objets sur les 2 images, mais pas avec la même couleur. Imagines même une comparaison de 2 photos d'une même personne, prise avec un fond différent : les images se ressemblent-elles ou pas ? Inversement, si tu regardes la fonction de recherche d'images de google, on peut avoir des résultats assez étonnant, à cause du choix des critères qui ont été faits pour ce moteur.
Il est également nécessaire de définir quel type d'images : s'il s'agit de faire de la reconnaissance d'écriture, il existe des algorithmes plus ou moins efficaces (OCR) selon le type de caractères et d'écriture, et des APIs, mais s'il s'agit de photos, c'est un domaine différent (il y a même des APis spécialisées dans la reconnaissance de visage).
Si c'est cette notion de ressemblance que tu cheches, peut-être que ce lien pourrait t'intéresser : http://www.lac.inpe.br/JIPCookbook/6050-howto-compareimages.jsp
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Merci pour ta réponse, je vais préciser :
C'est pour de la proximité entre des images d'articles politiques. Concrètement, un photographe officiel prend une photo et c'est après repris par des blogs, des journaux, etc. Le soucis c'est que certains les recadrent. Par contre il n'y a pas de rotation ou de déformation. Je dirais que parfois les passage JPG->PNG altèrent quelques caractéristiques mais ça n'est pas grand chose. Il me faudrait une proximité des images à partir du moment où on trouve un moyen de les superposer au mieux. L'idéal pour moi serais que l'algorithme sorte une note de proximité plutôt qu'un booléen.
En tout cas je ne cherche pas à faire des trucs compliqués comme de la reconnaissance de visage ou d'écriture, une simple comparaisons de la couleurs des pixels est suffisantes mais sachant que j'ai tout de même cette problématique de la superposition incomplète.
ImageJ a l'air très complet mais je ne vois rien qui puisse m'aider. L'article que tu m'as montré est pas mal mais le soucis est que le code est très simple (boucle for sur chaque pixel) et que compilatoirement ça va m’exposer mon truc. Je recherche plutôt une librairie ou une méthode qui fait cette opération de manière un peu maline et bien faite.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Ben si je traite pixel par pixel mes 1000 images et que je les compare pixel par pixel à 1000 autres images, ça en fait des boucles. Ca prend longtemps quoi.
Il doit y avoir des méthodes plus intelligentes pour ça
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager