实验一图像处理的基本操作一,实验目的1.熟悉有关数字图像处理的MATLAB基本操作和编写;2.掌握数字图像的基本读写、显示与保存;3.能够利用MATLAB工具箱完成图像处理的基本运算;二,实验内容1.(1)读取图像并显示真彩色图像house.tiff;(2)读取图像并显示索引色图像canoe.tif,并转换为灰度图像;(3)读取图像并显示灰度图像rice.png,并转换为二进制图像;(4)检测内存中的图像和保存图像;2.查看不同分辨率下图像lena.tiff的显示结果;3.对彩色图像Peppers.png观看GRB通道各单通道图像;4.实现马赫带效应并画出灰度直方图。三,代码I=imread('house.tiff');figure(1)imshow(I)[A,map]=imread('canoe.tif');figure(2)subplot(121)imshow(A,map)D=ind2gray(A,map);subplot(122)imshow(D)G=imread('rice.png');figure(3)subplot(121)imshow(G)th=graythresh(G);H=im2bw(G,th);subplot(122)imshow(H)whos;imwriteB=imread('lena.tiff');figure(4),subplot(121)imshow(B)C=imresize(B,0.2)subplot(122)imshow(C)D=imread('Peppers.png');r=D,r(:,:,[23])=0;g=D,g(:,:,[13])=0;b=D,b(:,:,[12])=0;figure(5),subplot(1,3,1),imshow(r);subplot(1,3,2),imshow(g);subplot(1,3,3),imshow(b);a=zeros(256,256);fori=1:32:256a(:,i:i+32)=i;endfigure(6);subplot(121)imshow(uint8(a));subplot(122)imhist(uint8(a));四,实验结果五,结果分析从运行结果可以看出,实验还是比较成功的。但是在做索引色那个图像的时候,如果索引色和灰度图像放在同一个figure里,索引色图像显示的也是灰色,因此我只能把索引色图像和灰度图像分开放到两个figure里。在查看不同分辨率下图像lena.tiff的显示结果时,必须要对两个图像进行放大查看才能看出不同。实验二图像变换1一,实验目的1.熟悉有关MATLAB工具箱中提供的图像变换函数;2.掌握傅立叶变换和小波变换等常用的正交变换函数;二,实验内容1.对图像lena.png进行傅立叶变换和离散余弦变换,并分别求出其逆变换后重构图像的均方误差;2.实现图像lena.png的两层小波分解,观察分解系数并重构,求重构图像误差值;3.观察图像IM1.BMP经小波分解系数的方向性,实现三层小波分解,分别把HL,LH,HH子带置零和重构,观察重构图像跟原始图像的差异。三,代码%1.对图像lena.png进行傅立叶变换和离散余弦变换,%并分别求出其逆变换后重构图像的均方误差;clear;clc;I=imread('lena.png');%傅里叶变换figure(1);I1=fft2(I);I1=fftshift(I1);If=ifftshift(I1);If=uint8(real(ifft2(If)));subplot(231);imshow(I);subplot(232);imshow(log(abs(I1)),[]);subplot(233);imshow(If);[m,n]=size(I);%计算均方误差fori=1:mforj=1:ntemp(i,j)=(If(i,j)-I(i,j))^2;endendwucha1=sum(sum(temp))%离散余弦变换I2=dct2(I);I3=fftshift(I2);Id=idct2(I2);Id=uint8(real(Id));subplot(234);imshow(I);subplot(235);imshow(log(abs(I3)),[]);subplot(236);imshow(Id);[m,n]=size(I);%计算均方误差fori=1:mforj=1:ntemp(i,j)=(If(i,j)-I(i,j))^2;endendwucha2=sum(sum(temp))%%%2.实现图像lena.png的两层小波分解,观察分解系数并重构,求重构图像误差值;X=imread('lena.png');[c,s]=wavedec2(X,2,'bior3.7');a1=wrcoef2('a',c,s,'bior3.7',1);h1=wrcoef2('h',c,s,'bior3.7',1);v1=wrcoef2('v',c,s,'bior3.7',1);d1=wrcoef2('d',c,s,'bior3.7',1);c1=[a1,h1;v1,d1];c1=uint8(c1);Xr=waverec2(c,s,'bior3.7');figure(2);subplot(131);imshow(X);subplot(132);imshow(c1);subplot(133);imshow(uint8(Xr));[m,n]=size(X);%计算均方误差fori=1:mforj=1:ntemp(i,j)=(Xr(i,j)-I(i,j))^2;endendwucha3=sum(sum(temp))%%%3.观察图像IM1.BMP经小波分解系数的方向性,实现三层小波分解,%分别把HL,LH,HH子带置零和重构,观察重构图像跟原始图像的差异。P=imread('C:\shiyan2\IM1.BMP');[c,s]=wavedec2(P,3,'bior3.7');a1=wrcoef2('a',c,s,'bior3.7',1);h1=wrcoef2('h',c,s,'bior3.7',1);v1=wrcoef2('v',c,s,'bior3.7',1);d1=wrcoef2('d',c,s,'bior3.7',1);c1=[a1,h1;v1,d1];c1=uint8(c1);figure(3);subplot(131);imshow(P);subplot(132);imshow(c1);subplot(133);imshow(uint8(a1));四,实验结果五,实验结果从运行结果可以看出,实验还是比较成功的。上图分别是1.对图像lena.png进行傅立叶变换和离散余弦变换,并分别求出其逆变换后重构图像的均方误差;2.实现图像lena.png的两层小波分解,观察分解系数并重构,求重构图像误差值;3.观察图像IM1.BMP经小波分解系数的方向性,实现三层小波分解,分别把HL,LH,HH子带置零和重构,观察重构图像跟原始图像的差异。最后求得误差均为零,我认为这可能是重构方法均是使用matlab自带函数的原因,使得重构图像与原图几乎一样。实验三图像变换2一,实验目的1.熟悉有关图像增强的直方图方法;2.掌握傅立叶变换和离散余弦变换等常用的正交变换函数;二,实验内容1.实现对图像IM2.BMP进行直方图均衡化,从而达到增强图像的目的,观察图像直方图的前后变化;2.实现对图像IM3.BMP加入某种噪声(如椒盐噪声等),运用低通滤波和中值滤波分别进行图像平滑;3.实现对图像IM4.BMP的同态增强:对照明分量和反射分量进行同态滤波。三,代码clear;clc;%实现对图像IM2.BMP进行直方图均衡化,从而达到增强图像的目的,%观察图像直方图的前后变化i=imread('IM2.BMP');j=histeq(i);figure(1);subplot(221);imshow(i);title('原始图像');subplot(222);imshow(j);title('均衡化图像');subplot(223);imhist(i,64);title('原始直方图');subplot(224);imhist(j,64);title('均衡化直方图');%实现对图像IM3.BMP加入某种噪声(如椒盐噪声等),%运用低通滤波和中值滤波分别进行图像平滑k=imread('IM3.BMP');l=imnoise(k,'salt&pepper',0.02);figure(2);subplot(221);imshow(k);title('原始图像');subplot(222);imshow(l);title('噪声图像');p=medfilt2(l);subplot(223);imshow(p);title('中值滤波图像');f=double(l);g=fftshift(fft2(f));[N1,N2]=size(g);n=2;%butterworth滤波器的参数n=2d0=50;%d0为截止频率(与原点的距离)n1=fix(N1/2);n2=fix(N2/2);fori=1:N1forj=2:N2d=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+0.414*(d/d0)^2*n);result(i,j)=h*g(i,j);endendresult=ifftshift(result);x2=ifft2(result);x3=uint8(real(x2));subplot(224);imshow(x3);title('butterworth低通滤波图像');%实现对图像IM4.BMP的同态增强:对照明分量和反射分量进行同态滤波%图像的动态范围压缩,图像的对比度增强,类似于高通滤波clear;figure;I=imread('IM4.BMP');I1=log(double(I)+1);I2=fft2(I1);n=3;d0=5;rh=0.1;rl=0.05;[row,col]=size(I2);fori=1:rowforj=1:cold1(i,j)=sqrt(i^2+j^2);h(i,j)=rl+(rh/(1+(d0/d1(i,j)^(2*n))));endendI3=I2.*h;I4=ifft2(I3);I5=exp(I4)-1;subplot(121);imshow(I);title('原始图像');subplot(122);imshow(I5);title('同态滤波');四,实验结果五,结果分析从运行结果可以看出,实验还是比较成功的。但在加入椒盐噪声后进行高斯低通滤波的实验中,高斯低通滤波并不能完美的把噪声滤掉,图像中依然存在噪声,虽然变得不明显了。我想可能是算子取得不好,导致了高斯低通滤波的失败。实验四图像处理一、实验目的1.掌握图像分割中的四叉树区域分割与合并法;2.掌握图像分割中的阈值分割法;3.了解图像纹理分析和特征提取方法;4.了解图像目标识别方法及其应用;二、实验内容1.使用四叉树(quadtree)的方法,找出图像IM5.BMP中物体的轮廓;2.选择一个合适的初始阈值,将图像IM5.BMP分为两个区域;3.选作题目:选择合适的位置算子,计算出图像的共生矩阵,然后计算熵和能量来描述纹理特征;4.选作实验五特征提取一、实验目的1.了解图像纹理分析和特征提取方法;二、实验内容1.选择合适的位置算子,计算出图像的共生矩阵,然后计算熵和能量来描述纹理特征;题目:汽车牌照定位与字符识别。三,代码%使用四叉树(quadtree)的方法,找出图像IM5.BMP中物体的轮廓h=imread('L8_2.BMP');s=qtdecomp(h,0.2);figure(1);subplot(221);imshow(full(s));title('参数为0.2');s=qtdecomp(h,0.4);subplot(222);imshow(full(s));title('参数为0.4');s=qtdecomp