[C] Comparer 2 bmp de tailles differentes
Cedric
-
Cédric -
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
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:
- [C] Comparer 2 bmp de tailles differentes
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp 2 - Guide
4 réponses
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.
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.
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 ^^
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 ^^
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
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à.
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à.