Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Informatique » Algorithmes » Interpolation bilinéaire

Francesco
Modérateur
RemonterCiter Windows NT Firefox 3 - Posté le 14/10/2008 à 22:51

Citation de Amwus En fait, j'isole les composantes RGB de chaque point nécessaire à mon interpolation.



J'ai dans l'idée que la manière de recomposer ta couleur est très fortement liée à la manière dont tu as extrait les différentes composantes (héhé
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Fred
ProgBoarder
RemonterCiter Windows XP Firefox 3 - Posté le 15/10/2008 à 18:05
Re regarde le premier poste,
je l'ai mentionné :

c = ceil (cR) + ceil(cV) * 256 + ceil(cB) * 65536
avec cR, cV et cB entre 0 et 255.

Sinon j'ai rien vu qui clochait dans le code que tu m'as envoyé,
mais il n'est pas fonctionnel (pas complet).
Purée faut que je change d'avatar !
Amwus
ProgBoarder
RemonterCiter Linux Firefox 3 - Posté le 15/10/2008 à 18:47
Salut ! J'ai finalement réussi à pondre un truc qui a l'air de fonctionner ! En fait, pour chaque point de la nouvelle image, je calcule le ratio en x et en y pour savoir à quel point il correspond dans l'image d'origine, et je prend les composantes des 4 points entourant ce pixel.
Ensuite je fais la moyenne des composantes R,G,B et je crée un nouveau pixel au bon emplacement avec ces composantes. Ca fonctionne.

Toutefois, je pense que la véritable interpolation linéaire consiste à interpoler uniquement dans la nouvelle image. Copier les pixels aux bons emplacements et "boucher" les trous à partir des pixels déjà présents... Mais je n'en suis pas sur. Parce que mon résultat agrandit l'image mais la rend forcément plus floue !

Enfin, ça fonctionne c'est déjà ça ! Merci bien pour tous ces conseils en tout cas...
"Engl Amps are the best i've ever used... Not only are they powerfull, but they have charachter too..." R. Blackmore
Fred
ProgBoarder
RemonterCiter Windows XP Firefox 3 - Posté le 16/10/2008 à 16:28
Peux tu m'envoyer cette fois ci un code complet ?
Purée faut que je change d'avatar !
Amwus
ProgBoarder
RemonterCiter Linux Firefox 3 - Posté le 17/10/2008 à 00:46
Alors renouvelle version ! J'ai maintenant un algorithme qui fait une véritable interpolation ! Celui-ci recopie d'abord les pixels de l'ancienne image dans la nouvelle image à leur nouvelle position, et ensuite remplis les pixels vides à partir des pixels présents dans la nouvelle image ! Et ça marche très très bien !

Je veux bien t'envoyer ça en mp si tu veux...
"Engl Amps are the best i've ever used... Not only are they powerfull, but they have charachter too..." R. Blackmore
zuzuf
ProgBoarder
RemonterCiter Linux Firefox 3 - Posté le 18/10/2008 à 18:51
en fait il y a 2 méthodes:
_ le forward mapping, où tu parts de l'image d'origine pour aller dans l'image résultat. Donc tu balayes la source et tu regardes où ça tombe dans l'image cible mais ça laisse des trous qu'il faut boucher

_ le backward mapping, où tu balayes l'image cible et tu regardes d'où vient le pixel courant dans l'image source. Avec cette méthode il n'y a pas de trous possibles dans l'image résultat puisque tu balayes tout les pixels, et en plus comme tu manipules des coordonnées non entières pour tes pixels "sources" tu n'a pas d'effets d'arrondis dans les calculs.

après reste l'interpolation des pixels, tu peux le faire linéairement mais il y a d'autre méthode comme l'interpolation cubique (l'idée c'est qu'au lieu de calculer une courbe passant par 2 points - une droite donc - tu calcules une courbe qui passe par 4 points - un polynôme de degré 3 d'où le nom interpolation cubique). cf http://fr.wikipedia.org/wiki/Interpolation_num%C3%A9rique
Linux a un noyau, windows un pepin

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2010 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,019 s - Crédits - Stats
1 connecté