Sie sind auf Seite 1von 2

[X, map] = imread('TEST2.

TIF'); level = 2; [c,s] = wavedec2(X,level,'coif2'); [chd1,cvd1,cdd1] = detcoef2('all',c,s,1); [chd2,cvd2,cdd2] = detcoef2('all',c,s,2); %% figure('Color','white'), image(X), colormap(map); title('Original Image'); figure('Color','white'), image(chd2),colormap(map); title('Horizontal Edges NIVEAU2'); %% figure('Color','white'), image(cvd2), colormap(map); title('Vertical Edges NIVEAU2'); figure('Color','white'), image(cdd2), colormap(map); title('Diagonal Edges NIVEAU2'); ??? Error using ==> image Error using ==> image TrueColor CData contains element out of range 0.0 <= value <= 1.0 Error in ==> coiflettrucolor at 9 figure('Color','white'), image(chd1) X= imread('TEST.TIF'); level = 2; [c,s] = wavedec2(X,level,'coif2'); [chd1,cvd1,cdd1] = detcoef2('all',c,s,1); [chd2,cvd2,cdd2] = detcoef2('all',c,s,2); %% figure('Color','white'), image(X) title('Original Image'); figure('Color','white'), image(chd1) title('Horizontal Edges NIVEAU1');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Bonjour j'ai essai de faire un programme qui fait la compression des images et je veux savoir est ceque mon programme est parfait et est ce qu'il manque quelque chose ? voila mon code source. j'attend votre reponse merci d'avance. clear all; close all; image = imread('you.tif'); imageee = im2double(image); n=input('Enter the decomposition level:'); [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('haar'); [c,s]=wavedec2(imageee,n,Lo_D,Hi_D); [thr,nkeep] = wdcbm2(c,s,1.5,3*prod(s(1,:))); [xd,cxd,sxd,perf0,perfl2] = wdencmp('lvd',c,s,'haar',n,thr,'s'); disp('Compression ratio in percentage :'); disp(perfl2); figure(1); imshow(imageee); title('image original'); figure(2); imshow(xd); title('Compressed image');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%Correlation enytre deux images%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Euh je suis pas sur de vraiment comprendre ta question, mais apparemment si tu veux calculer le coefficient de corrlation entre deux matricesA et B de mme taille (attention il faut que tes images soient de mme taille!), tu peux simplement crire: A = imread('nom_imageA.type'); B = imread('nom_imageB.type'); % remplace nom_image par le nom de ton image, et type par son type: bmp, jpeg, tiff, etc., attention tes images doivent tre dans le bon rpertoire ou tu travailles!! ensuite tu cris simplement: R=corr2(A,B); et dans la variable scalaire R tu auras ton ceff de corrlation, je ne vois vraiment pas l'utilit d'une boucle for ici, d'ailleurs en Matlab on n'utilise jamais de boucle for, while, etc car ca fait perdre du temps en excution, on utilise plutot des oprations vectorielles Calcul de PSNR >> I = imread('cameraman.tif'); fun = inline('std2(x)*ones(size(x))'); I2 = blkproc(I,[8 8],fun); imshow(I) figure, imshow(I2,[]) >> dctf=blkproc(f,[8,8],'dct2'); >> dctf=blkproc(I,[8,8],'dct2'); >> figure,imshow(dctf,[]); >> Fhat=blkproc(g,[8,8],'idct2') ; >> Fhat=blkproc(I,[8,8],'idct2') ; >> figure,imshow(Fhat);

Das könnte Ihnen auch gefallen