Analyser la netteté d une image - Divers - Programmation
Marsh Posté le 02-12-2005 à 05:07:11
Hum. Voici mon raisonnement :
"Image pas nette => Image floue <=> Image sans hautes fréquences"
donc comme (a => b) => (/a => /b), on a :
"Image avec des hautes fréquences => Image nette"
Après, il reste à définir à partir de quand tu as des hautes fréquences ; disons que tu dois pouvoir comparer une image par rapport à la même qui est floutée, mais après c'est à mon avis impossible pour deux images prises au hasard. Par exemple, un damier flou aura toujours plus de hautes fréquences qu'un carré uni pas flou.
Marsh Posté le 02-12-2005 à 10:41:32
Cette question m'intéresse aussi, mais moi non plus, je n'ai pas de solution pour le moment. Mais cela ne fait pas longtemps que je cherche.
Il faut peut-être, en premier lieu, diviser le problème en définissant plusieurs types de netteté :
- flou : quand les couleurs se fondent trop les unes avec les autres, quand il n'y a que trop rarement des changements brutaux entre les couleurs de deux pixels adjacents,
- contraste insuffisant : quand les couleurs sont pales et proches du gris,
remède possible avec la formule color = 128 + Contrast * (old color - 128),
- pluie de grains : quand il y a des petits grains saleté,
- trop de carrés : quand l'image est pixelisée, elle présente des carrés qu'il est sans doute possible d'arrondir, ou d'adoucir.
Il y a peut-être d'autres types.
Ensuite il faut trouver des idées pour traiter chaque problème.
Ce sujet a sans douté été traité plusieurs fois. J'ai trouvé plusieurs articles sur le traitement des images comme par exemple la série de Christian Graus, http://www.codeproject.com/cs/medi [...] ters11.asp mais il utilise essentiellement des matrices pour faire des filtres plutôt que des études statistiques avec des histogrammes.
Marsh Posté le 02-12-2005 à 13:39:36
ok merci pour toutes ces idées, je vais me lancer a corps perdu dans ces nouvelles directions
J'ai aussi demandé de l'aide à un ami a mon père qui a fait pas mal de travail sur les images, il va me filer des feuilles la-dessus ; des que je l'ai, je les scans et je les post.
Merci
Tchuss
Marsh Posté le 02-12-2005 à 21:04:30
Salut,
voila les documents que j ai recu
http://www.ephec.b-powers.org/EPHE [...] er0001.JPG
et
http://www.ephec.b-powers.org/EPHE [...] er0002.JPG
donc je vais crois que je prendre une methode de chaque et essayer de les mettre sous matlab et en francais
here we goooo
Tchuss
Gen_Patton
Marsh Posté le 04-12-2005 à 19:29:18
Re,
pour ceux que ca intéresse , voila ce que j ai reussi a pondre pour l analyse avec l histogramme
%--------------------------------------%
% Récupération des images %
N = imread('milflou.jpg');
figure;
imshow(N);title('Image chargée');
% transforme les images en niveaux de gris %
N1=RGB2GRAY(N);
figure;
imshow(N1);title('Image en noir et blanc');
taille=size(N1);
H1=imhist(N1);
figure,imhist(N1);title('histogramme de l''image en niveaux de gris');
%niveau moyen de gris%
T1=mean(H1);
T2=mean(N1);
ligne=0;
ligne=double(ligne);
for k=1:taille;
ligne=N1(k,: );
moy(1,k)=mean(ligne);
end;
T3=mean(moy);
% taille de l histogramme %
% A = niveau de gris (256) %
% B = nombre de fois que le niveau apparait dans l'image %
[A,B]=size(H1);
F=0;G=0;R=0;
for m=1:A;
if m>T3
G=(H1(m,1));
G=G*m;
F=F+G;
else
R=R+1;
end;
end;
F
%------------------------------------%
si vous avez des remarques ou si ca vous intéresse no problemo
Tchuss
Gen_Patton
Marsh Posté le 01-12-2005 à 22:56:41
Bonjour à tous,
Voila j essaye d analyser la netteté d une image à l'aide de matlab. je sais qu il existe deux methode l une basée sur l'analyse spectrale et l autre basée sur l'analyse de l'histograme ; j ai donc decidée de faire une etude comparant les deux.
J avoue avoir du mal a cerné la direction a prendre. Donc idées, suggestions ou des sites intéressant je suis preneur.
Merci d avance
Gen_Patton