当前位置:文档之家› 数字图像处理软件开发设计报告.docx

数字图像处理软件开发设计报告.docx

专业文档数字图像处理软件开发设计报告目录实验一、读取图像、显示图像和保存图像实验二、图像的灰度变换、取反和二值化处理实验三、直方图均衡实验四、图像锐化实验五、图像的平滑滤波实验六、图像的正交变换实验七、高频强调滤波增强图像实验八、陷波滤波器增强图像实验九、消除匀速运动造成的图像模糊实验十、图像的几何变换实验十一、二维离散傅里叶变换性质验证实验十二、用领域平均法平滑彩色图像实验十三、图像的伪彩色处理实验一、读取图像、显示图像和保存图像一、实验目的和内容1.通过本次实验,了解和熟悉 matlab 的实验环境,掌握图片的读取、显示、存储的方法。

2. 利用 imread() 函数读取一幅图像,假设其名为lily.tif,存入一个数组中。

3.利用 imshow() 函数来显示这幅图像。

二、实验原理(技术探讨)1.在 matlab 环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

读取图像 subplot(1,2,1),imshow(I)%输出图像title('原始图像 ')% 在原始图像中加标题2.启动 matlab 双击桌面 matlab 图标启动 matlab 环境;在matlab 命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用 matlab 自带的图像,如 :cameraman 图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;浏览源程序并理解含义;运行,观察显示结果;结束运行,退出三、实验程序及结果1.实验程序I=imread( ' 实验一 .jpg' );x=rgb2gray(I);figure(1)subplot(1,2,1);imshow(I);title(' 原始图像 ' );subplot(1,2,2);imshow(x);title(' 灰度图像 ' );2.实验结果四、结果分析通过本实验,我学会了用 Matlab7.0 对图像进行读取、存储、显示的节本操作。

实验二、图像的灰度变换、取反和二值化处理一、实验目的和内容1.熟悉 MATLAB软件开发环境,掌握读、写图像的基本方法。

2.理解图像灰度变换在图像增强的作用,掌握图像的灰度线性变换和非线性变换方法。

3.掌握绘制灰度直方图的方法,掌握灰度直方图的灰度变换及二值化的方法。

二、实验原理(技术探讨)1.图像的灰度化处理的基本原理将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。

彩色图像中的每个像素的颜色有R、G、B 三个分量决定,而每个分量有255 中值可取,这样一个像素点可以有1600 多万( 255*255*255 )的颜色的变化范围。

而灰度图像是R、G、B 三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255 种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。

灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。

图像的灰度化处理可用两种方法来实现。

2.图像的二值化处理就是讲图像上的点的灰度置为 0 或 255,也就是讲整个图像呈现出明显的黑白效果。

即将 256 个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。

在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为 0 或 255 的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。

为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。

所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为 255 表示,否则这些像素点被排除在物体区域以外,灰度值为 0,表示背景或者例外的物体区域。

如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。

如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。

动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。

三、实验程序及结果1. 实验程序%二值化I=imread(' 实验二thresh=graythresh(I); I1=im2bw(I,thresh); imshow(I1).jpg');%自动确定二值化值%对图像二值化lear all ;f=imread('f' figure(1) imshow(f); figure(2)imhist(f);ylim( 'auto'g=histeq(f,256); figure(3) imshow(g); figure(4)imhist(g);ylim( 'auto');%绘制图象););f 的直方图%对 f 进行直方图均衡,输出图象的灰度级数为256A=imread('trees.tif'figure(1);subplot(1,2,1);imshow(A););title(' 原图 ' );I=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];J=conv2(I,h,'same');K=uint8(J);subplot(1,2,2);imshow(K);title(' 使用拉普拉斯算子锐化处理后的图' );2.实验结果二值化四、结果分析通过这次的实验,经过广泛查阅书籍和有关知识,掌握了很多不知道的知识,使我我对图像处理有了更深一步的了解。

同时我学到了灰度级越多,图像保存的信息越多,在一定程度上减少灰度级不会明显影响图像质量,但在灰度级过少的情况下图像会失真。

实验三、直方图均衡化一、实验目的和内容编程实现下列功能:读出存储的黑白灰度图象并显示,显示灰度直方图,对图象进行直方图均衡化处理,显示处理后图象及直方图,画出灰度变换曲线,并存储处理后图象。

二、实验原理(技术探讨)方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。

直方图均衡化是一种自动调节图象对比度质量的算法,使用的方法是灰度级变换:s=T(r) 。

它的基本思想是通过灰度级 r 的概率密度函数,求出灰度级变换。

三、实验程序及结果1.程序clear all;f=imread( 'cameraman.tif');% 读入原图像figure(1)imshow(f);figure(2)imhist(f);%绘制图象 f 的直方图ylim( 'auto' );g=histeq(f,256);%对 f 进行直方图均衡,输出图象的灰度级数为256figure(3)imshow(g);figure(4)imhist(g);ylim( 'auto' );A=imread( 'trees.tif');figure(1);subplot(1,2,1);imshow(A);title(' 原图 ' );I=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];J=conv2(I,h,'same' );K=uint8(J);subplot(1,2,2);imshow(K);title(' 使用拉普拉斯算子锐化处理后的图' );2.结果四、结果分析通过本次试验让我们看到直方图均衡化的效果,其实质就是通过减少图像的灰度级以换取对比度的增大。

通过实验加深了我们对于课本理论知识的理解和运用,提高了我们的学习效率和学习的积极性。

实验四:图像锐化一、实验目的和内容1.掌握图像锐化的概念。

2.掌握 Prewitt 算子对图像进行锐化的原理、过程。

3.熟悉 Matlab 编程。

4.利用 Prewitt 算子对图像进行锐化处理。

5.掌握 Maltab 中和图像锐化相关的函数。

二、实验原理(技术探讨)图像锐化处理是改善图像视觉效果的手段,用来对图像的轮廓或边缘进行增强,减弱或消除低分频率分量而不影响高频分量。

图像锐化处理的主要技术体现在空域和频域的高通滤波,而空域高通滤波主要用模版卷积来实现。

在图像处理中,一阶导数通过梯度来实现,因此利用一阶导数检测边缘点的方法就称为梯度算子法。

梯度值正比于像素之差。

对于一幅图像中突出的边缘区,其梯度值较大;在平滑区域梯度值小;对于灰度级为常数的区域,梯度为零。

三、实验程序及结果1.程序A=imread( 'b.jpg');figure(1);subplot(2,2,1);imshow(A);title(' 原图 ' );I=double(A);h=[1 1 1;1 -9 1;1 1 1];J=conv2(I,h,'same' );K=uint8(J);subplot(2,2,2);imshow(K+A);title(' 使用拉普拉斯算子锐化处理后的图' );B=double(A);h=[0 -1 0;-1 4 -1;0 -1 0];T=conv2(B,h,'same' );E=uint8(T);subplot(2,2,3);imshow(-E+A);title(' 使用拉普拉斯算子锐化处理后的图' )C=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];D=conv2(C,h,'same' );F=uint8(D);subplot(2,2,4);imshow(-F+A);title(' 使用拉普拉斯算子锐化处理后的图' )C=double(A);h=[-1 -1 -1;-1 8 -1;-1 -1 -1];D=conv2(C,h,'same' );F=uint8(D);subplot(2,2,5);imshow(F);title(' 使用拉普拉斯算子锐化处理后的图' ) 2.结果四、结果分析通过本次试验我学到了数字图像处理中图像锐化应从水平和垂直两个方向进行,最后的锐化结果由水平和垂直锐化结果共同得到。

相关主题