您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字图像处理实验报告
数字图像处理实验报告姓名:郑思义学号:201216524课程:数字图像处理1题目:实验一:图像复原算法。实验二:读入一幅彩色图像,显示各层图像。实验三:图像的变换(小波或FT变换)。实验四:图像的信息隐藏。实验一:图像复原算法一、实验内容:读入一幅彩色图片,将其转化为灰度图像。加入退化函数后加入高斯噪声,依次利用直接全逆滤波(适用噪声较小时)、维纳滤波复原图像。二、实验原理:1、逆滤波复原法也叫做反向滤波法,其主要过程是首先将要处理的数字图像从空间域转换到傅里叶频域中,进行反向滤波后再由频率域转回到空间域,从而得到复原的图像信号。有噪声的情况下逆滤波的原理:G(u,v)=F(u,v)H(u,v)+N(u,v)写成逆滤波的方式:F(u,v)=F(u,v)+N(u,v)/H(u,v)。实验证明:当退化图像噪声较小时采用逆滤波的方法可以获得比较好的结果。2、采用维纳滤波是假设图像信号可以近似看成平稳随机过程的前提下,按照使f(x,y)和f(x,y)之间的均方误差达到最小的准则函数来实现图像复原的,即22),(ˆ),(minyxfyxfEe式中,E代表期望值,因此维纳滤波又称最小均方误差滤波器。2维纳滤波需要假定下述条件成立:1、系统为线性空间移不变系统。2、退化图像、原始图像噪声都是均匀随机场,噪声的均值为零,且与图像不相关。滤波器的传递函数为:vuGvuSvuSvuHvuHvuHvuGvuPvuFn,,/,,,,1,,,ˆf22没有噪声时,维纳滤波退化为逆滤波。有噪声时,维纳滤波利用信噪功率比恢复过程进行修正。三、实验算法步骤:1、读入一幅彩色图片,转化为灰度图片I。2、对灰度图片退化,利用退化函数6/5222/2/vu,nvmukeH(k是与湍流有关的常数,k=0.0025)3、加入高斯噪声。显示模糊退化且添加高斯噪声的图像I2。4、直接对I2图像进行逆滤波复原I3。5、对I2图像进行维纳滤波复原I4。6、对比I3和I4复原效果。四、实验代码:clc;clear;I0=imread('F:\个人\gesang.png');%读入原图I=rgb2gray(I0);%将彩色图片转化为灰度图像imshow(I0);%原图figure;subplot(2,2,1);imshow(I);%灰度图I=double(I);[m,n]=size(I);k=0.0025;3foru=1:mforv=1:nH(u,v)=exp((-k)*(((u-m/2)^2+(v-n/2)^2)^(5/6)));endendF=fftshift(fft2(I));G=F.*H;I1=real(ifft2(fftshift(G)));I2=imnoise(uint8(I1),'gaussian',0,0.001);subplot(2,2,2);imshow(uint8(I2));%模糊退化且添加高斯噪声的图像F0=fftshift(fft2(I2));F1=F0./H;I3=ifft2(fftshift(F1));subplot(2,2,3);imshow(uint8(I3));%逆滤波复原图k=0.1;foru=1:mforv=1:nH(u,v)=exp(-k*(((u-m/2)^2+(v-n/2)^2)^(5/6)));H0(u,v)=(abs(H(u,v)))^2;H1(u,v)=H0(u,v)/(H(u,v)*(H0(u,v)+k));endendF2=H1.*F0;I4=ifft2(fftshift(F2));subplot(2,2,4);imshow(uint8(I4));%维纳滤波复原图五、实验结果:六、实验分析:对于噪声很小的或者单纯除燥的情况,逆滤波才会有很好的视觉效果。而维纳滤波对于那些退化函数已知的情况会有4很好的结果。当然退化函数的选取也是比较麻烦的,往往退化函数并不已知。而且与湍流的性质有关的常数K的选取也会起到关键作用。总之很麻烦,刚开始的时候图片像素的大小也会导致H发生变化,H很小时逆滤波会把噪声放大,导致效果很差。实验二:读入一幅彩色图像,显示各层图像。(本实验很简单所以只提供实验代码和结果。)一、实验代码:clc;clear;I=imread('F:\个人\gesang.png');R=I;G=I;B=I;R(:,:,2)=0;R(:,:,3)=0;G(:,:,1)=0;G(:,:,3)=0;B(:,:,1)=0;B(:,:,2)=0;figure;subplot(2,2,1);imshow(I,[]);title('I');subplot(2,2,2);imshow(R,[]);title('R');subplot(2,2,3);imshow(G,[]);title('G');subplot(2,2,4);imshow(B,[]);title('B');二、实验结果:5实验三:图像的变换(FT变换)。一、实验代码:A=imread('F:\个人\gesang.png');subplot(1,2,1);imshow(A);%显示原图像iflength(size(A))==3A=rgb2gray(A);endsubplot(1,2,2);imshow(A);%对灰度图像A2=fft2(A);A2=fftshift(A2);%进行二维傅里叶变换figure,imshow(log(abs(A2)+1),[0,12]);%显示傅里叶变换后的图像title('傅里叶变换后的图像');二、实验结果:6实验四:图像的信息隐藏(以数字水印为例)一、实验代码:W=imread('F:\个人\shuiyin.png');%水印A=imread('F:\个人\gesang.png');%原图%加入水印[a1,a2,a3]=size(W);A0=A([1:a1],[1:a2],:);A0=double(A0);W=double(W);a=0.1;%嵌入强度因子fori=1:3[U1{i},S1{i},V1{i}]=svd(A0(:,:,i));A1(:,:,i)=S1{i}+a*W(:,:,i);[U2{i},S2{i},V2{i}]=svd(A1(:,:,i));A2(:,:,i)=U1{i}*S2{i}*V1{i}';endAW=A;AW([1:a1],[1:a2],:)=A2;AW=uint8(AW);W=uint8(W);subplot(1,3,1),imshow(A);%显示原图subplot(1,3,2),imshow(W);%显示水印subplot(1,3,3),imshow(AW);%显示加水印后的图片二、实验结果:7题目:实验一:图像的运算(+—*/与或非异或);实验二:图像的滤波(空间、频域)一、实验目的:利用课堂知识对图像进行简单运算;掌握图像空间域、频域滤波的基本原理及方法;学习运用matlab等软件进行对图像处理简单操作。二、实验一内容(代码):clc;clear;I=imread('F:\个人\1111.jpg');%读入图片J=imread('F:\个人\2222.jpg');%读入图片%图像+运算K1=imadd(I,J);%图像-运算K2=immultiply(I,1.2);%图像*运算K3=imdivide(I,2);%图像/运算background=imopen(I,strel('disk',15));K4=imsubtract(I,background);%图像与、或、非、异或运算A=im2bw(I);B=im2bw(J);K5=A&B;K6=A|B;K7=~A;K8=xor(A,B);subplot(2,5,1);imshow(I);title('原图I');subplot(2,5,2);imshow(J);title('原图J');subplot(2,5,3);imshow(K1);title('+运算');subplot(2,5,4);imshow(K2);title('-运算');subplot(2,5,5);imshow(K3);title('*运算');subplot(2,5,6);imshow(K4);title('/运算');subplot(2,5,7);imshow(K5);title('与运算');8subplot(2,5,8);imshow(K6);title('或运算');subplot(2,5,9);imshow(K7);title('非运算');subplot(2,5,10);imshow(K8);title('异或运算');三、实验一结果:四、实验二内容(代码):空间域滤波一般分为线性和非线性滤波。线性滤波是基于傅里叶变换的分析,非线性滤波则是对邻域直接进行操作。根据空间域滤波器功能可分为平滑滤波和锐化滤波。平滑的目的一是模糊二是除燥,锐化的目的是为了增强被模糊的细节。空间域滤波代码(非线性锐化滤波):clc;clear;I0=imread('F:\个人\1111.jpg');%读入彩色图片I=rgb2gray(I0);%转化为灰度图像9L=im2bw(I,0.5);h=-fspecial('laplacian',0.5);K1=filter2(h,L);J=fspecial('sobel');K2=filter2(J,L);subplot(2,2,1);imshow(I0);title('原图');subplot(2,2,2);imshow(I);title('灰度图像');subplot(2,2,3);imshow(K1);title('利用laplace算子锐化后图像');subplot(2,2,4);imshow(K2);title('利用sobel算子锐化后图像');频域滤波代码:clc;clear;[I,map]=imread('F:\个人\1111.jpg');%读入图片I=rgb2gray(I);%转化为灰度图像I=gradient(double(I));figure;imshow(I);colormap(map);colorbar;%执行图像的单层小波分析[ca1,ch1,cv1,cd1]=dwt2(I,'bior3.7');%由系数重构低频和高频部分a1=upcoef2('a',ca1,'bior3.7',1);h1=upcoef2('h',ch1,'bior3.7',1);v1=upcoef2('v',cv1,'bior3.7',1);d1=upcoef2('d',cd1,'bior3.7',1);figure;colormap(map);nbcol=size(map,1)subplot(2,2,1);image(wcodemat(a1,nbcol));xlabel('(a)低频a1');subplot(2,2,2);image(wcodemat(h1,nbcol));xlabel('(b)水平高频h1');subplot(2,2,3);image(wcodemat(v1,nbcol));xlabel('(c)垂直高频v1');subplot(2,2,4);image(wcodemat(d1,nbcol));xlabel('(d)对角高频d1');%由小波逆变换恢复原图xsyn=idwt2(ca1,ch1,cv1,cd1,'bior3.7');%检查单层重构效果errl=max(max(abs(X-xsyn)))%图像的多层二维小波分析[c,s]=wavedec2(X,2,'bior3.7',2);%提取系数的低频和高频部分ca2=appcoef(c,s,'bior3.7',2);%重构第2层的低频信号a2=wrcoef2('a',c,s,'bior3.7',2);%重构第1、2层的高频信号h1=wrcoef2('h',c,s,'bior3.7',1);v1=wrcoef2('v',c,s,'bior3.7',1);d1=wrcoef2('d',c,s
本文标题:数字图像处理实验报告
链接地址:https://www.777doc.com/doc-4943832 .html