MyTest17.m I=imread('c:oat.png');%读入原图像文件imshow(I);%显示原图像fftI=fft2(I);%二维离散傅立叶变换sfftI=fftshift(fftI);%直流分量移到频谱中心RR=real(sfftI);%取傅立叶变换的实部II=imag(sfftI);%取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure;%设定窗口imshow(A);%显示原图像的频谱 MyTest18.m I=imread('c:oat.png');%读入原图像J=histeq(I);%对原图像进行直方图均衡化处理Imshow(I);%显示原图像Title('原图像');%给原图像加标题名figure,imshow(J);%对原图像进行屏幕控制;显示直方图均衡化后的图像Title('直方图均衡化后的图像');%给直方图均衡化后的图像加标题名figure;subplot(1,2,1);%对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第1幅图Imhist(I,64);%将原图像直方图显示为64级灰度Title('原图像直方图');%给原图像直方图加标题名Subplot(1,2,2);%作第2幅子图Imhist(J,64);%将均衡化后图像的直方图显示为64级灰度Title('均衡变换后的直方图');%给均衡化后图像直方图加标题名 MyTest19.m利用行程编码(RLE)进行图像压缩 I=imread('c:oat.png');%调入原图像[mn]=size(I);J=[];fori=1:mvalue=I(i,1);num=1;forj=2:nifI(i,j)==valuenum=num+1;elseJ=[Jnumvalue];num=1;value=I(i,j);endendI=[Jnumvalue00];%添加的行判断位00enddisp('原图像大小:')whos('I');disp('压缩图像大小:')whos('J');disp('图像的压缩比:')disp(m*n/length(J))MyTest20.m图像融合1)调入,显示两幅图像的程序语句loadtartan;X1=X;map1=map;Loadsinsin;X2=X;map2=map;%打开图像Subplot(121)Image(X1),colormap(map1);Title('图像map1')Subplot(122)Image(X2),colormap(map2);Title('图像map2')%显示两幅图像2)两幅图像直接融合的程序语句figure,subplot(131)image((X1+X2)/2),colormap(map2);%在空域内直接融合title('两图像直接相加融合')%显示融合后的图像,并命名为"两图像直接相加融合"3)两幅图像傅立叶变换融合的程序语句F1=fft2(X1);F2=fft2(X2);%分别计算两幅图像的快速傅立叶变换X=abs(ifft2(F1+F2)/2);%两幅图像在频域内相加后的傅立叶逆变换Subplot(132)Image(X),colormap(map2);%显示融合后的图像Title('两幅图像傅立叶变换融合')%给融合后的图像命名并显示在图上4)两幅图像小波变换融合的程序语句[C1,L1]=wavedec2(X1,2,'sym4');[C2,L2]=wavedec2(X2,2,'sym4');%分别对两幅原图像进行小波分解C=C1+C2;%对分解系数进行融合X=waverec2(C,L1,'sym4');%对融合后的信号进行图像重构Subplot(133)Image(X/2),colormap(map2);%显示经过小波变换融合后的图像Title('两图像小波变换融合')%给融合后的图像命名并显示在图上