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

  FORUM HardWare.fr
  Programmation
  C++

  Sous-échantillonnage d'une image et création d'une icone

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sous-échantillonnage d'une image et création d'une icone

n°2177818
bjjnerd
Posté le 27-02-2013 à 17:11:02  profilanswer
 

Bonjour à tous,
 
je suis un débutant en traitement d'image. Mon problème est le suivant : je cherche à créer une icone à partir d'une image d'origine beaucoup plus imposante. Il me semble donc évident qu'il faut sous-échantillonner cette image c'est à dire prendre un pixel sur "x" de façon à dégonfler cette image.
 
L'image de départ à une taille de 2567 * 9280 (largeur * hauteur). Je cherche à obtenir une icone de cette image c'est a dire une image de :
128 * ((9280/2567)*128) (en respectant les proportions initiales)
 
L'image d'origine est un ppm codé sur 12-bits RGB.  
 
J'avais pensé à l'algo suivant mais ça ne fonctionne pas aussi bien que prévu  
 
int sampling_factor = 128;
int step = width / sampling_factor;
for (i = 0; i < buffer_size; i+= step) {
flux<< buffer[0][i] <<" "<<buffer[1][i] << " "<<buffer[2][i];
 
if ((i>0) && (i % (sampling_factor*step) == 0)){
flux << "\n";
}else{
flux<< " ";
}
}
 
 
Précision : "buffer" est un tableau bidimensionnel, pour, respectivement, les couleurs (RGB = 0,1 ou 2) et la valeur des pixels.
 
 
Quelqu'un pourrait-il m'aider à améliorer mon algo afin qu'il fonctionne convenablement ?
 
PS : désolé si l’algo n'est pas très lisible ...

mood
Publicité
Posté le 27-02-2013 à 17:11:02  profilanswer
 

n°2177874
tpierron
Posté le 27-02-2013 à 20:49:44  profilanswer
 

A vu de nez ton algo ressemble à du "nearest neighbor" (plus proche voisin), l'algo le plus basique que tu puisses trouver en matière de retaillage d'image. Sa qualité n'est franchement pas terrible, surtout avec des images de la taille que tu manipules.
 
Idéalement, tu devrais utiliser une bibliothèque de traitement d'image dédiée (genre: cairo, GDI+, SDL_gfx, GD, etc...). Si tu ne veux pas importer d'artillerie lourde, j'avais écrit un article sur le retaillage d'image par méthode linéaire (incomplet, mais l'algo est inclus):
 
http://en.literateprograms.org/Ima [...] ng_%28C%29
 
Coté performance et qualité, l'algo n'est pas trop mauvais, j'utilisais ça dans un visualisateur d'image cartographique (les images pouvaient faire jusqu'à 10000px), où tu pouvais zoomer jusqu'au format vignette avec très peu de latence. J'avais aussi implémenté le retaillage exponentiel mentionné à la fin, mais le code était vraiment moche.
 
L'algo décrit fonctionne uniquement avec des images en 8bps (bit per sample). Va falloir légèrement l'adapter pour traiter du 4bps.
 

n°2177930
in_your_ph​ion
Posté le 28-02-2013 à 11:01:44  profilanswer
 

bjjnerd a écrit :

Quelqu'un pourrait-il m'aider à améliorer mon algo afin qu'il fonctionne convenablement ?

 

si tu veux réduire une image, tu as deux solutions :

 

- faire une "décimation", i.e. tu vas enlever n pixels parmi le total => ton image sera réduite mais assez dégeue

 

- faire une interpolation, le plus simple étant l'interpolation bilinéaire, c'est à dire que tu vas pouvoir réduire ton image avec un facteur quelconque

 

http://fr.wikipedia.org/wiki/Inter [...] %C3%A9aire

 

http://en.wikipedia.org/wiki/Image [...] ng_methods


Message édité par in_your_phion le 28-02-2013 à 11:07:12
n°2178184
bjjnerd
Posté le 01-03-2013 à 16:47:30  profilanswer
 

Merci pour vos réponses, cela m'a été bien utile !


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

  Sous-échantillonnage d'une image et création d'une icone

 

Sujets relatifs
Création de site (Vente à distance)[RESOLU] Générateur de texte sur image
LIER UN CONTROLE IMAGE USERFORM A UNE PHOTORecherche script ou une aide pour la création d'un script.
[Android] Probleme video (pas d'image)problème de superposition texte/image sur iphone
Texte sur image ou intégré?PHP écrire la date et l'heure sur une image
Bibliothèque Kakadu pour traitement d'imagerecherche infos sur la création de site internet..
Plus de sujets relatifs à : Sous-échantillonnage d'une image et création d'une icone


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