Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2873 connectés 

  FORUM HardWare.fr
  Programmation

  Algorithme de redimensionnement d'image en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algorithme de redimensionnement d'image en C

n°115652
StanCW
Parle à Monkey ...
Posté le 21-03-2002 à 15:04:31  profilanswer
 

Je cherche un algo de redimensionnement d'image :  
image[576][520] en image2[144][52]  
sans trop de perte : moyennage, lissage ou autre  
 
Pourriez vous m'indiquez des methodes ou des sites qui en parle ???
 
MERCI

mood
Publicité
Posté le 21-03-2002 à 15:04:31  profilanswer
 

n°115707
LeGreg
Posté le 21-03-2002 à 16:38:15  profilanswer
 

stancw a écrit a écrit :

Je cherche un algo de redimensionnement d'image :  
image[576][520] en image2[144][52]  
sans trop de perte : moyennage, lissage ou autre  
Pourriez vous m'indiquez des methodes ou des sites qui en parle ???




 
Quand tu parles de limiter les pertes, tu veux sans doute dire limiter les artefacts visuels lies aux interferences. (parce que de la perte il y en a systematiquement quand tu reduis une image).
 
Pour limiter les interferences, tu utilises un filtre passe-bas.
Ton image a une frequence horizontale maximale de 576 (periode = 1)
Si tu veux l'echantillonner a une frequence de 144, tu dois donc limiter l'influence des frequences superieures a 144 (periode = 576/144 = 4). Tu peux donc par exemple faire la moyenne
sur 4 pixels horizontaux (box filter).
Tu inclus cette moyenne dans le calcul de ta nouvelle image.
Pour chaque nouveau pixel, tu calcules la moyenne sur les 4 pixels environnants (peu importe ou est le centre de ta "boite", l'important c'est de le faire uniformement sur l'image bien entendu, fais attention aux bordures de ton ecran).
Tu fais le meme calcul sur les pixels verticaux
peu importe l'ordre, tu peux meme faire le calcul simultanement en utilisant une "boite" en 2D.
 
Ce calcul n'est pas parfait, le box filter peut creer des artefacts d'interference sur certains types d'image.
(en effet une boite rectangulaire dans l'espace des frequences
n'est pas une boite mais fait des vagues de maniere periodique).
Pour eviter cela, il vaut peut etre mieux utiliser une moyenne ponderee sur les points voisins.
Les poids sont definis en cloche (la gaussienne).
ex: [1 2 1] c'est la definition d'une gaussienne de poids 4.
Le probleme de la gaussienne c'est que la coupe dans l'espace des frequences n'est pas franche. C'est a dire que tu as le choix
entre une image trop filtree (floue) ou pas assez filtree (risques d'interferences). En general le resultat est meilleur qu'avec la boite parce que tu n'as pas les artefacts liees aux vaguelettes de frequences. (une gaussienne en transformee de fourier reste une gaussienne).
 
Pour eliminer de maniere franche les frequences au dessus de 144, il y a une solution consistant a passer dans l'espace des frequences par une transformee de fourier rapide et a mettre a zero les coefficients situes au dessus de 144 en horizontal
et 52 en vertical. Puis faire la transformation inverse.
 
Attention aux effets bizarres sur les bords de ton image.
Elle est consideree comme periodique, c'est a dire que les bords droits et les bords gauches sont colles.
Tu peux ajouter des pixels inutiles sur les bords, avec des valeurs etudiees pour limiter les effets de la reduction de frequence.
 
A+
LEGREG

n°115897
StanCW
Parle à Monkey ...
Posté le 21-03-2002 à 20:09:10  profilanswer
 

Mer c pour cette reponse precise je vais essayer de retranscrire tout ça en C .....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Algorithme de redimensionnement d'image en C

 

Sujets relatifs
image[VC++] probleme d'image (CBitmap)
[Javascript] Récupérer la position d'une image[HTML/CSS] Précisez la couleur de bordure d'une image servant de lien?
[VB6.0]Changer une image[PHP] [HTML] Redimensionnement auto du background....
Resizing d'image dynamique en PHP[algorithme] chuis bloqué pour la table des successeurs (KMP)
Algorithme...(VB6) algorithme de recherche
Plus de sujets relatifs à : Algorithme de redimensionnement d'image en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR