当前位置:文档之家› 数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告课程名称数字图像处理实验报告指导教师赵亚湘学院信息科学与工程学院专业班级通信工程1301班姓名学号目录实验一数字图像的基本操作和灰度变换 (1)一、实验目的 (1)二、实验环境 (1)三、实验原理与方法 (1)四、Matlab相关函数 (2)五、实验内容与步骤 (4)六、思考问题 (9)七、附灰度线性变换部分实现代码 (10)实验二图像的空间域增强 (11)一、实验目的 (11)二、实验原理与方法 (11)三、Matlab相关函数 (12)四、实验内容与步骤 (12)五、思考问题 (19)实验三图像的傅里叶变换和频域处理 (20)一、实验目的 (20)二、实验原理与方法 (20)三、实验内容与步骤 (20)实验一 数字图像的基本操作和灰度变换一、实验目的1. 了解数字图像的基本数据结构2. 熟悉Matlab 中数字图像处理的基本函数和基本使用方法3. 掌握图像灰度变换的基本理论和实现方法4. 掌握直方图均衡化增强的基本理论和实现方法二、实验环境MATLAB 6.5以上版本、WIN XP 或WIN2000计算机三、实验原理与方法1. 图像灰度的线性变换灰度的线性变换可以突出图像中的重要信息。

通常情况下,处理前后的图像灰度级是相同的,即处理前后的图像灰度级都为[0,255]。

那么,从原理上讲,我们就只能通过抑制非重要信息的对比度来腾出空间给重要信息进行对比度展宽。

设原图像的灰度为),(j i f ,处理后的图像的灰度为),(j i g ,对比度线性展宽255 b g),(j i ga gαβγa fb f 255),(j i f图1 对比度线性变换关系的原理示意图如图1.1所示。

假设原图像中我们关心的景物的灰度分布在[a f ,b f ]区间内,处理后的图像中,我们关心的景物的灰度分布在[a g ,b g ]区间内。

在这里)(a b g g g -=∆()b a f f f >∆=-,也就是说我们所关心的景物的灰度级得到了展宽。

根据图中所示的映射关系中分段直线的斜率我们可以得出线性对比度展宽的计算公式:),(j i f α, a f j i f <≤),(0=),(j i g a a g f j i f +-)),((β, b a f j i f f <≤).,( (1-1)b b g f j i f +-)),((γ,255),(<≤j i f f b(m i ,3,2,1 =;n j ,3,2,1 =) 其中,a a f g =α,a b a b f f g g --=β,bbf g --=255255γ,图像的大小为m ×n 。

2. 直方图均衡化直方图均衡化是将原始图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。

离散图像均衡化处理可通过变换函数:来实现四、Matlab 相关函数4.1 读写图像文件(1) imreadimread 函数用于读入各种图像文件,如:a=imread('e:\w01.tif') (2) imwriteimwrite 函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',‟tif‟) (3) imfinfoimfinfo 函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif')()kj k k j n s T r n===∑4.2 图像的显示(1) imageimage函数是MATLAB提供的最原始的图像显示函数,如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12];image(a);(2) imshowimshow函数用于图像文件的显示,如:i=imread('e:\w01.tif');imshow(i);title(…原图像‟)%加上图像标题(3) colorbarcolorbar函数用显示图像的颜色条,如:i=imread('e:\w01.tif');imshow(i);colorbar;(4) figurefigure函数用于设定图像显示窗口,如:figure(1);/figure(2);(5) subplot把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。

Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形。

(5) plot绘制二维图形plot(y)Plot(x,y)xy可以是向量、矩阵。

4.3 图像类型转换(1)rgb2gray(灰色)把真彩图像转换为灰度图像i=rgb2gray(j)(2) im2bw(黑白)通过阈值化方法把图像转换为二值图像I=im2bw(j,level)Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原图像灰度范围的n%(3) imresize改变图像的大小I=imresize(j,[m n])将图像j大小调整为m行n列4.4 图像运算(1) imadd两幅图像相加,要求同样大小,同种数据类型Z=imadd(x,y)表示图像x+y(2) imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(x,y)表示图像x-y(3) immultiplyZ=immultiply(x,y)表示图像x*y(4) imdivideZ=imdivide(x,y)表示图像x/ym = imadjust(a,[,],[0.5;1]) ;%图像变亮n = imadjust(a,[,],[0;0.5]) ;%图像变暗g=255-a;%负片效果五、实验内容与步骤5.1 灰度线性变换1. 读入一幅灰度图像test1.tif,显示其灰度直方图I=imread('C:\images\test1.jpg');subplot(1,1,1);figure(1);imshow(I);figure(2);imhist(I);图2 test1的原始图像图3 test1的灰度直方图2. 根据图像灰度直方图,选择所关心的图像景物的灰度分布范围[fa,fb],以及拟变换的灰度分布范围[ga,gb]fa=input('fa=');fb=input('fb=');ga=input('ga=');gb=input('gb=');3. 实现对图像的灰度线性变换fa=100;fb=200;ga=100;gb=400;A=ga/fa;B=(gb-ga)/(fb-fa);C=(255-gb)/(255-fb);[m,n]=size(I);for i=1:mfor j=1:nif I(i,j)<faI(i,j)=A* I(i,j);elseif I(i,j)<fbI(i,j)=B*(I(i,j)-fa)+ga;elseI(i,j)=C*(I(i,j)-fb)+gb;endendendfigure(3);imshow(I);figure(4);imhist(I);图4 test1灰度线性变换后的图像图5 test1灰度线性变换后的灰度直方图4. 调整α,β,γ的值,观察对处理结果的影响。

fa=input('fa=');fb=input('fb=');ga=input('ga=');gb=input('gb=');A=ga/fa;B=(gb-ga)/(fb-fa);C=(255-gb)/(255-fb);其中,fa=20; fb=200; ga=10; gb=400;图6 调整α,β,γ的值后的图像图7 调整α,β,γ的值后的灰度直方图5.2 图像的均衡化处理1. 读入一幅灰度图像test2.tif,求出其直方图I=imread('d:\test2.jpg');subplot(2,2,1);figure(1);imshow(I);figure(1);subplot(2,2,2);imhist(I);图8 test2的原图像及灰度直方图2. 利用Matlab函数实现图像的均衡化处理I1=histeq(I);subplot(2,2,3);figure(1);imshow(I1);图9 test2均衡化后的图像3. 同屏显示处理前后的图像和灰度直方图,说明处理前后直方图的变化以及对应的灰度变化六、思考问题1.在映射关系中,分段直线的斜率的大小对图像处理结果有哪些影响?答:若斜率大于1,也就是说我们所关心的景物的灰度级得到了展宽;若斜率小于1,也就是说我们所关心的景物的灰度级得到了压缩。

2.在进行对比度扩展时,如果确定和选取所关心的景物?答:通过将亮暗差异(即对比度)扩大,来把人所关心的部分强调出来。

处理前图像和灰度直方图处理后图像和灰度直方图3. 直方图均衡化适用于什么形式的灰度分布情形?答:直方图均衡化对图像中像素个数多的灰度级进行展宽,而对图像中像素个数少的灰度进行压缩,从而扩展像原取值的动态范围,提高了对比度和灰度色调的变化,使图像更加清晰。

这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候,对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X 光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。

七、附灰度线性变换部分实现代码设计两重循环(即:for (i=1:m) for(j=1:n))按照公式(1-1),给出新图像的每个像素点的灰度值;(因为在MATLAB 中,图像的像素值为uint8型数据描述的,而这种类型不允许进行算术运算,所以要对F 进行数据类型转换,即:f=double(f);然后,在进行循环处理。

)设输入图像f(i,j),输出图像仍放入f(i,j)中 ,图像大小为m ×nfor i=1:mfor j=1:nif f(i,j)<faf(i,j)=a* f(i,j);elseif f(i,j)<fb(,)*((,))a af i j f i j fg β=-+; else(,)*((,))b b f i j f i j f g γ=-+endendend实验二图像的空间域增强一、实验目的1. 熟悉图像空间域增强方法,掌握增强模板使用方法2. 掌握均值滤波器、中值滤波器的理论基础和实现方法3. 掌握图像锐化的基本理论和实现方法4. 验证图像滤波处理结果二、实验原理与方法图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”信息,削弱或去除不需要的信息,以改善图像的视觉效果,或突出图像的特征,便于计算机处理。

相关主题