[C] Comparer 2 bmp de tailles differentes

Cedric -  
 Cédric -
Bonjour à tous,
Je bosse actuellement sur un projet dans le cadre de mes études qui me donne du fil à retordre et apres des recherches google infructueuses, je me permet de poster ici.
Je souhaiterais comparer deux images bmp de tailles différentes. Je sais lire pixel par pixel mais le probleme est que si elles ne sont pas de la même taille, ca m'est inutile.
J'ai pensé alors a redimensionner l'une des images (agrandir l'une ou rétrécir l'autre) mais la aussi, je ne vois pas comment "creer" ces pixels manquants.
Je précise que je code en C.
Si vous avez des pistes je suis preneur !

Merci d'avance pour vos réponses

Cédric
A voir également:

4 réponses

bizu53 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   861
 
Qu'appelles-tu "comparer" 2 bmp de tailles différentes ?
Si c'est ce que je pense : une première image, et une seconde toute blanche (ou noire) contenant un morceau de la première, je ne vois pas pourquoi vouloir redimensionner les images...
Dans ta matrice de pixels (correspondant à ton image) tu "détectes" où se trouve toute la zone unie pour ainsi "détecter" où se situe le bout d'image dans l'image. Après il te suffit de voir si ce bout d'image est dans l'autre.
0
Cedric
 
Tout d'abord merci pour ta réponse. Je vais donc detailler un peu plus ^^
EN fait, je souhaite comparer deux images bmp de panneaux routier mais chacun a une taille différente. C'est pourquoi je cherche à retrecir la plus grande image pr pouvoir les comparer pixel par pixel.
Néanmoins je ne vois pas vraiment comment faire :/

Merci d'avance pour ta réponse ^^
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
pour la reduire tu pourrait par exemple decouper ton image en matrice de 3x3 pixel ensuite tu considere que chacune de ces matrice n'est en realité qu'un seul pixel
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
La solution : interpolation ! Au lieu de voir ton image comme un signal discret de pixel, tu la voi comme un signal continue prenant des valeurs réèlles.
La plus simple, interpolation linéaire.
Par exemple, si tu as deux pixels contiguë de valeur 128 et 120, tu dit que la valeur du point que tu veux obtenir est proportionnel à la distance.
Si ton point est à 1/3 de la distance entre les deux pixel sa valeur sera : (128*2+120) /3 si il est entre les deux, se sera : (128+120)/2.
voilà.
0
Cédric
 
Merci beaucoup à vous deux pour ces réponses, je vasi de ce pas fuiner du côté de l'interpolation ^^ !!!
Je vous tiens au courant :)
0