您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 南昌大学-数字图像处理实验报告1-8(全)
NANCHANGUNIVERSITY数字图象处理实验报告专业:通信工程班级:121班学号:6100212024学生姓名:徐万然2015年4月20日目录实验1:图像信号的数字化实验2:图像灰度级修正实验3:图像的平滑滤波实验4:图像的锐化处理实验5:图像的伪彩色处理实验6:图像的几何变化实验7:图像的复原处理实验8:图像的正交变换实验一:图像信号的数字化一、实验目的通过本实验了解图像的数字化参数取样频率(象素个数)、量化层数与图像质量的关系。二、实验内容编写并调试图像数字化程序,要求参数k,n可调。其中k为亚抽样比例;n为量化比特数;选择任意图像进行处理,在显示器上观察各种数字化参数组合下的图像效果。三、实验程序f=imread('Waterlilies.jpg');%读入一张图片f1=rgb2gray(f);%将rgb值转换为灰度图subplot(3,3,1),imshow(f),title('灰度图');%显示这幅图像f2=im2bw(f1);%将图像转换为二值图subplot(3,3,2),imshow(f2),title('二值图');%显示这幅图像f3=~f2;%对图像进行取反操作subplot(3,3,3),imshow(f3),title('取反图');%显示这幅图像f4=imnoise(f,'gaussian');%subplot(3,3,4),imshow(f4),title('加高斯噪声图');%对象进行预操作,加入高斯噪声h=ones(5,5)/25;%设计一个5*5的均值滤波器f5=imfilter(f4,h);%对图像进行均值滤波subplot(3,3,5),imshow(f5),title('平滑滤波图');%显示这幅图像f6=imadjust(f,[0,1],[0,1]);%对图像灰度值进行归一化处理subplot(3,3,6),imshow(f6),title('灰度级修正图1');%显示这幅图像f7=imadjust(f,[0,0.8],[0,1]);%降低输入的灰度值subplot(3,3,7),imshow(f7),title('灰度级修正图2');%显示这幅图像四、实验结果五、实验分析及心得通过本次的实验,我学会了使用MATLAB来进行简单图像处理的步骤。首先应使用Imread函数来对图像进行数字化,将想要处理的图像存错为数字化的矩阵中,然后通过对矩阵进行数字上的运算,便可以得到各种处理效果;也可以用Rgb2gray函数,将一副RGB图像先转化为灰度图像,以进行灰度直方图的构造和直方图均衡,再用Figure函数,将矩阵重现为一副处理后的图像。Im2bw函数可以将Rgb图像转换为二值图像;Rgb2gray函数可以将Rgb图像转换为灰度图像。将图像取反的做法是:将图像变为二值图像后,将二值矩阵的“0”值变为“1”,将“1”值变为“0”,产生的新矩阵即为原图像取反后的图像。实验二:图像灰度级修正一、实验目的掌握常用的图像灰度级修正方法,即图象的灰度变换法和直方图均衡化法,加深对灰度直方图的理解。观察图象的增强效果,对灰度级修正前后的图像加以比较。二、实验内容编程实现图像的灰度变换。改变图像输入、输出映射的灰度参数范围(拉伸和反比),观看图像处理结果。对图像直方图均衡化处理,显示均衡前后的直方图和图像。三、实验程序同实验一四、实验结果五、实验分析及心得这个实验是上个实验的后续步骤,通过实验一我掌握了一副图像数字化的步骤,以及图像取反的实现。本次实验将使用图像灰度级修正相关的函数:imadjust。它的用法是:J=imadjust(I,[low_in;high_in],[low_out;high_out])将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in以下与high_in以上的值被剪切掉了,也就是说,low_in以下的值映射到low_out,high_in以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[01]。实验程序中我将[low_in;high_in]参数分别设置为[0,1]、[0,0.8]以达到不同的灰度级修正效果。从实验结果来看,后面一次的灰度级修正效果更好,图像整体显得更加亮,更加饱和。实验三:图像的平滑滤波一、实验目的学习如何对已被噪声污染的图像进行“净化”。通过平滑处理,对结果图像加以比较,得出自己的实验结论。二、实验内容编写并调试窗口尺寸为m×m的平滑滤波函数。编写并调试窗口尺寸为m×m的中值滤波函数。三、实验程序同实验一四、实验结果五、实验分析及心得这个实验是上个实验的后续步骤,通过实验一我掌握了一副图像数字化的步骤,通过实验二掌握了对一副图像进行灰度变换的方法和步骤。本次实验所做的是图像的平滑滤波,涉及到的函数有:imnoise、imfilter。Imnoise函数为Matlab中添加噪声的函数,我在程序中使用的噪声类型为:gaussian(高斯噪声)。Imfilter函数为Matlab中的滤波器函数,其中我采用的模板为5*5的均值模板。从实验结果可以看出,通过5*5的均值滤波器,图像中的噪声点有明显的消除。课后分析得知,均值滤波器对椒盐、高斯等噪声类型的滤波效果是非常显著的,所以此次实验中选用的滤波器种类非常合理。实验四:图像的锐化处理一、实验目的学习如何用锐化处理技术来加强图像的目标边界和图像细节,对图像进行梯度算子、拉普拉斯算子、Sobel算子设计,使图像的某些特征(如边缘、轮廓等)得以进一步的增强及突出。锐化处理技术可以在空间域中进行,也可以在频域中运用高通滤波技术进行处理。二、实验内容编写Robert梯度滤波函数。编写Sobel算子滤波函数。编写拉普拉斯边缘增强滤波函数。观察频域中用高低通滤波技术对图像进行的平滑和锐化处理。三、实验程序ima=imread('图像锐化.jpg');%读入图像I=imread('图像锐化.jpg');ima=rgb2gray(ima);%如果是彩色图像,则转为灰度图像ima=double(ima);bw1=edge(ima,'roberts');%roberts算子锐化figure;subplot(221);imshow(uint8(ima));title('原始图像');subplot(222);imshow(bw1);title('roberts算子锐化');bw2=edge(ima,'sobel');%sobel算子锐化subplot(223);imshow(bw2);title('sobel算子锐化');w8=[111;1-81;111];f=im2double(I);g8=f-imfilter(f,w8,'replicate');subplot(224);imshow(g8);title('中心为-8的拉普拉斯滤波');四、实验结果五、实验分析及心得本次实验着重图像的边缘处理,其中涉及的函数有:edge、imfilter。Edge函数为Matlab中的边缘检测函数,其用法为:BW=edge(I)采用I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1。Imfilter函数为滤波器函数,用法上次实验已经叙述过。因为Edge函数的输入需要是一个灰度图像或者二值图像,所以先通过Rgb转灰度函数,将图像变为灰度图像,然后通过“Roberts”,“Sobel”算法对图像进行边缘检测,从实验结果的图像中可以看出,Sobel算子在检测丰富信息的图像时,效果更佳。而在拉普拉斯变换前,给定好了一个中心为-8,其余为1的3*3模板,进行滤波后能看出,图像的边缘已经更加突出,达到了实验预期的效果。实验五:图像的伪彩色处理一、实验目的学习和掌握伪彩色处理基本方法,将灰度图像转换为多种颜色的彩色图像。根据图像特点,了解伪彩色处理技术在实际中的应用。二、实验内容编写密度分割函数,实现灰度图像的伪彩色显示。编写灰度级彩色变换函数,实现灰度图像的伪彩色显示。三、实验程序i1=imread('图像锐化.jpg');s=rgb2gray(i1);I=double(s);[m,n]=size(I);c=256;fori=1:mforj=1:nifI(i,j)=c/4R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=c/2;elseifI(i,j)=c/2R(i,j)=0;G(i,j)=c/2;B(i,j)=-4*I(i,j)+2*c;elseifI(i,j)=3*c/4R(i,j)=4*I(i,j)-2*c;G(i,j)=c/2;B(i,j)=0;elseR(i,j)=c/2;G(i,j)=-4*I(i,j)+4*c;B(i,j)=0;endendendendendfori=1:mforj=1:nout(i,j,1)=R(i,j);out(i,j,2)=G(i,j);out(i,j,3)=B(i,j);endendout=out/256;subplot(1,2,1),imshow(out);title('伪彩色处理后图像');subplot(1,2,2),imshow(s);title('原始图像');四、实验结果五、实验分析及心得图像的伪彩色处理在数字图像处理中的使用是非常广泛的,所以本次实验的应用价值很高。伪彩色处理的程序参考了网上给的循环写法,具体步骤是:先将Rgb图像转换为灰度图像,然后通过两个循环的嵌套,将每个范围内的像素赋予一定的颜色值,最后组成一个处理后的矩阵,经过图像显示函数,即可将灰度图像转换为伪彩色图像。伪彩色也可以使用Matlab中给定的灰度分层函数和颜色赋值函数进行,这种方法我会留置实验后,在电脑上重新做一遍,然后将两种方法的效果进行对比。实验六:图像的几何变化一、实验目的学习和掌握图像几何空间变换和灰度插值的基本方法,对图像进行相应的几何变换操作。二、实验内容编程实现图像的比例缩放。编程实现图像任意角度的旋转变换。分别用MATLAB函数提供的三种插值方法实现图像的缩放和旋转。三、实验程序i=imread('图像锐化.jpg');i1=imresize(i,0.5);subplot(2,2,2),imshow(i);title('原图');subplot(2,2,1),imshow(i1);title('缩小0.5倍');i2=imresize(i,2);subplot(2,2,3),imshow(i2);title('扩大2倍');i3=imrotate(i,30);subplot(2,2,4),imshow(i3);title('旋转30度');四、实验结果五、实验分析及心得本次实验是图像的几何变换,顾名思义就是将图像进行均匀的放大缩小(尺度变换),或者将图像旋转等等一些线性变换。实验涉及到的函数有:imresize、imrotate。这两个函数的用法简单,其中imresize实现的功能是矩阵的尺度变换,我在实验中采用了放大2被和缩小为0.5倍的变换,将函数中的系数分别写成2和0.5即可实现;imrotate实现图像的旋转,将函数的系数写成30,代表将图像顺时针(系统默认)旋转30度角,实验处理后的图像非常容易辨别。实验七:图像的复原处理一、实验目的熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理。二、实验内容针对不同的噪声模型,选择合适的滤波器消除噪声的影响。三、实验程序a=rgb2gray(imread('图像锐化.jpg'));b=double(imnoise(a,'gaussian',0.1));c=imfilter(b,fspecial('average',3));d=exp(imfilter(log(b),fspecial('average',3)));Q=-3;e=imfilter(b.^(Q+1),fspecial('average',3))./imfilter(b.^(Q),fspecial('ave
本文标题:南昌大学-数字图像处理实验报告1-8(全)
链接地址:https://www.777doc.com/doc-7209232 .html