中南大学数字图像实验报告.doc

上传人:wj 文档编号:1343405 上传时间:2023-04-30 格式:DOC 页数:34 大小:2.85MB
下载 相关 举报
中南大学数字图像实验报告.doc_第1页
第1页 / 共34页
中南大学数字图像实验报告.doc_第2页
第2页 / 共34页
中南大学数字图像实验报告.doc_第3页
第3页 / 共34页
中南大学数字图像实验报告.doc_第4页
第4页 / 共34页
中南大学数字图像实验报告.doc_第5页
第5页 / 共34页
中南大学数字图像实验报告.doc_第6页
第6页 / 共34页
中南大学数字图像实验报告.doc_第7页
第7页 / 共34页
中南大学数字图像实验报告.doc_第8页
第8页 / 共34页
中南大学数字图像实验报告.doc_第9页
第9页 / 共34页
中南大学数字图像实验报告.doc_第10页
第10页 / 共34页
中南大学数字图像实验报告.doc_第11页
第11页 / 共34页
中南大学数字图像实验报告.doc_第12页
第12页 / 共34页
中南大学数字图像实验报告.doc_第13页
第13页 / 共34页
中南大学数字图像实验报告.doc_第14页
第14页 / 共34页
中南大学数字图像实验报告.doc_第15页
第15页 / 共34页
中南大学数字图像实验报告.doc_第16页
第16页 / 共34页
中南大学数字图像实验报告.doc_第17页
第17页 / 共34页
中南大学数字图像实验报告.doc_第18页
第18页 / 共34页
中南大学数字图像实验报告.doc_第19页
第19页 / 共34页
中南大学数字图像实验报告.doc_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

中南大学数字图像实验报告.doc

《中南大学数字图像实验报告.doc》由会员分享,可在线阅读,更多相关《中南大学数字图像实验报告.doc(34页珍藏版)》请在冰点文库上搜索。

中南大学数字图像实验报告.doc

《数字图像处理》

实验报告

学院:

信息科学与工程

专业班级:

电子信息工程

学号:

姓名:

指导老师:

目录

实验一数字图像的基本操作和灰度变换 3

1.1实验目的 3

1.2实验原理与方法 3

1.3实验内容与结果分析 4

1.4思考问题 9

实验二图像的空间域增强 11

2.1实验目的 11

2.2实验原理与方法 11

2.3实验内容与结果分析 12

2.4思考问题 15

实验三图像的傅里叶变换和频域处理 17

3.1实验目的 17

3.2实验原理与方法 17

3.3实验内容与结果分析 17

附录实验代码 20

实验一数字图像的基本操作和灰度变换

一、实验目的

1.了解数字图像的基本数据结构

2.熟悉Matlab中数字图像处理的基本函数和基本使用方法

3.掌握图像灰度变换的基本理论和实现方法

4.掌握直方图均衡化增强的基本理论和实现方法

二、实验原理与方法

1.图像灰度的线性变换

灰度的线性变换可以突出图像中的重要信息。

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

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

0

255

255

图1.1对比度线性变换关系

设原图像的灰度为,处理后的图像的灰度为,对比度线性展宽的原理示意图如图1.1所示。

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

在这里,也就是说我们所关心的景物的灰度级得到了展宽。

根据图中所示的映射关系中分段直线的斜率我们可以得出线性对比度展宽的计算公式:

, (1-1)

(;)

其中,,,,图像的大小为×。

2.直方图均衡化

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

离散图像均衡化处理可通过变换函数:

来实现

三、实验内容与步骤

1.熟悉MATLAB语言中数字图像处理函数的使用。

2.图像灰度线性变换的实现

1)读入一幅灰度图像test1.tif,显示其灰度直方图

2)根据图像灰度直方图,选择所关心的图像景物的灰度分布范围[fa,fb],以及拟变换的灰度分布范围[ga,gb]

3)实现对图像的灰度线性变换

4)调整,,的值,观察对处理结果的影响。

①灰度范围fa=30,fb=50,ga=30,gb=200,线性变换系数如下

α=1,β=8.5,γ=0.268

α=1对于灰度值0-30直方图几乎没有发生变化,可看做是恒等变化;

灰度值处于30至50之间的部分进行拉伸,其他部分压缩,图像变换效果

比较明显。

30至50位于直方图低灰度值部分,所以图像变亮。

②灰度范围fa=60,fb=100,ga=30,gb=200,线性变换系数如下

α=0.5,β=4.25,γ=0.3548

③灰度范围fa=30,fb=80,ga=30,gb=200,线性变换系数如下

α=1,β=3.4,γ=0.314

由①②③可以看出,对于斜率大于1的部分对图像灰度分布范围有拉伸作

用,斜率小于1的部分对图像灰度分布范围有压缩作用,斜率等于1的部

分对于图像灰度范围没有变化。

④灰度范围fa=30,fb=80,ga=130,gb=255,线性变换系数如下

α=4.3,β=2.5,γ=0

0-30,30-80灰度范围拉伸,其他压缩,图像变亮。

⑤灰度范围fa=100,fb=150,ga=5,gb=50,线性变换系数如下

α=0.05,β=0.9,γ=1.95

100-150灰度区间压缩,图像变暗

⑥灰度范围fa=100,fb=150,ga=50,gb=200,线性变换系数如下

α=0.5,β=3,γ=0.523

由此可以看出,将图像灰度在100到150之间的部分进行灰度拉伸,其他部分灰度压缩,图像整体变暗了,但因为拉伸的灰度值处于中间部分,所以效果不明显。

3.图像的均衡化处理

1)读入一幅灰度图像test2.tif,求出其直方图

2)利用Matlab函数实现图像的均衡化处理

3)同屏显示处理前后的图像和灰度直方图,说明处理前后直方图的变化以

及对应的灰度变化

均衡化处理前,直方图分布集中在低亮度区域,图像暗且对比度低,视觉效果

差。

均衡化处理后,直方图分布均匀,图像变亮,且对比度提高,图像清晰,视

觉效果好。

附:

程序界面部分截图:

1.均衡化处理

2.灰度线性变换

四、思考问题

1.在映射关系中,分段直线的斜率的大小对图像处理结果有哪些影响?

斜率大于1的部分对图像灰度有拉伸作用,小于1的部分对图像灰度有

压缩作用。

例如,低灰度级的区域斜率大于1,有拉伸作用,高灰度级的区

域斜率小于1,有压缩作用,所以图像变亮;反之,图像变暗。

2.在进行对比度扩展时,如何确定和选取所关心的景物?

根据直方图分布的峰值所在区域,一半背景峰值分布在直方图低灰度区,

物体对象峰值分布在直方图高灰度区,两峰之间的谷底近似背景和物体对象

的分界。

因此对于暗图像可以将峰值左边灰度范围进行扩展,使图像变亮,

对于亮图像将峰值右边灰度范围进行扩展,使图像变亮,以达到增强图像对

比度效果。

3.直方图均衡化适用于什么形式的灰度分布情形?

适用于图像的有用数据的对比度相当接近的时候,灰度分布集中在较窄

的区域从而使图像细节不清晰的图像,直方图均衡化后使图像的灰度间距拉

开,使灰度分布均匀,增大反差,提高对比度,使图像细节清晰,改善视觉

效果。

实验二图像的空间域增强

一、实验目的

1.熟悉图像空间域增强方法,掌握增强模板使用方法

2.掌握均值滤波器、中值滤波器的理论基础和实现方法

3.掌握图像锐化的基本理论和实现方法

4.验证图像滤波处理结果

二、实验原理与方法

图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”信息,削弱或去除不需要的信息,以改善图像的视觉效果,或突出图像的特征,便于计算机处理。

图像增强可以在空间域进行,也可以在频率域中进行。

空间域滤波主要利用空间模板进行,如3´3,5´5模板等。

一般来说,使用大小为m×n的滤波器对大小为M×N的图像f进行空间滤波,可表示成:

其中,m=2a+1,n=2b+1,𝑤(𝑠,𝑡)是滤波器系数,𝑓(𝑥,𝑦)是图像值

均值滤波器是一种空间平滑滤波器,它是对包含噪声的图像上的每个像素点,用它邻域内像素的平均值替代原来的像素值。

例如,采用一个3×3的模板,待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1)

g(i,j)=1/9*(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j)+

f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1));

中值滤波器也是一种空间平滑滤波器,它是对以图像像素点为中心的一个滑动窗口内的诸像素灰度值排序,用中值代替窗口中心像素的原来灰度值,因此它是一种非线性的图像平滑法。

采用Laplacian锐化算子进行图像边缘的锐化,是采用二阶差分运算获得像素间的差异值,由此,获得对图像景物边界的锐化。

Laplacian也可以算子也可以写成是模板作用的方式,如下:

设待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1),则

g(i,j)=4*f(i,j)-(f(i-1,j-1)+f(i,j-1)+f(i,j+1)+f(i+1,j));

常用的锐化算子还有Roberts、Prewitt和Sobel算子等

三、实验内容与步骤

1.读入一幅256×256大小、256级灰度的数字图像test3

2.图像的平滑滤波处理

1)对原图像分别加入高斯噪声、椒盐噪声。

2)利用邻域平均法,分别采用3´3,5´5模板对加噪声图像进行平滑处理,显示原图像、加噪图像和处理后的图像。

3)利用中值滤波法,分别采用3´3,5´5模板对加噪声图像进行去噪处理,显示原图像、加噪图像和处理后的图像。

4)比较各种滤波方法和滤波模板的处理结果

①加入高斯噪声,均值滤波

②加入高斯噪声,中值滤波

③加入椒盐噪声,均值滤波

④加入椒盐噪声,中值滤波

3.图像的锐化处理

1)利用Laplacian锐化算子(α=-1)对256×256大小、256级灰度

的数字图像test4进行锐化处理,显示处理前、后图像。

2)分别利用Roberts、Prewitt和Sobel边缘检测算子,对数字图像test4

进行边缘检测,显示处理前、后图像。

四、思考问题

1.采用均值滤波、中值滤波,对高斯噪声和椒盐噪声的抑制哪种比较有效?

均值滤波对高斯噪声的抑制比较有效,但造成一定的模糊,邻域越大,图像

模糊越严重;中值滤波对椒盐噪声比较有效,从实验结果看3*3模板处理后的图

像接近原图像,而5*5模板造成图像模糊严重,邻域越大,模糊越严重。

2.模板大小的不同,所处理效果有何不同?

为什么?

模板越大,去噪能力增强,但同时造成的模糊越严重。

均值滤波中,模板中央像素灰度值取模板内所有像素的平均,模板越大,关

联的像素越多,降低噪声对中央像素灰度值的影响,提高去噪能力,但同时使边

缘附近像素灰度值接近,造成图像模糊。

中值滤波中,窗口中央灰度值取窗口内

所有像素的中值,模板越大,噪声出现的次数,越可能小于模板的一半则被滤掉,

提高了降噪能力,尤其是椒盐噪声,但同时使图像边缘附近像素灰度值接近而造

成图像模糊,范围越大,模糊越严重。

3.对Laplacian锐化算子的处理结果中,对小于0的部分,采用不同的方法标准化到[0,255]时,图像的显示效果有什么不同?

为什么?

对于小于0的部分可以采用以下办法:

方法1:

整体加一个正整数,以保证所有的像素值均为正。

比如+128,还有

<0的则视为0,若有>255视为255处理,这样做的结果是:

可以获得类似浮雕的效果。

方法2:

将所有的像素值取绝对值。

这样做的结果是,可以获得对边缘的有方向提取。

实验三图像的傅里叶变换和频域处理

一、实验目的

1.熟悉图像空间域和频率域的关系,掌握快速傅里叶变换

2.掌握离散傅里叶变换的性质和应用

二、实验原理与方法

图像既能在空间域处理,也能在频率域处理。

把图像信息从空域变换到频域,可以更好地分析、加工和处理

二维离散傅立叶正变换的表达式为

逆变换为:

二维离散傅立叶变换具有若干性质,如:

线性性、平移性、可分离性、周期性、共轭对称性、旋转不变性等。

可利用离散傅里叶变换,将信号从空间域变换到频率域,在频率域选择合适的滤波器H(u,v)对图像的频谱成分进行处理,然后经逆傅立叶变换得到处理图像,实现图像处理结果。

三、实验内容与步骤

1.产生一幅如图所示亮块图像f(x,y)(256×256大小、暗处=0,亮处=255),对其进行FFT:

(1)同屏显示原图f和FFT(f)的幅度谱图;

(2)若令f1(x,y)=(-1)x+yf(x,y),重复以上过程,比较二者幅度谱的异同,简述理由;

(3)若将f1(x,y)顺时针旋转45度得到f2(x,y),试显示FFT(f2)的幅度谱,并与FFT(f2)的幅度谱进行比较。

2.对256×256大小、256级灰度的数字图像test5进行频域的理想低通、高通滤波滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。

设置低通滤波截止频率为Dl0=50,即:

1,

0,

设置高通滤波器截止频率为Dh0=30,即:

1,

0,

由滤波结果可以得出,低通滤波器由于滤掉了高频成分,高频成分含有大量

边缘信息,所以造成了一定程度的图像模糊。

高通滤波器滤掉了低频成分,保留

了高频成分,即保留了边界信息,所以显示出原图像的边界。

附录

实验代码

实验一:

1.界面设计

2.源码

⑴ugamma.m文件

%计算灰度分段线性变换参数a,b,r

%fa,fb目标灰度范围

%ga,gb逆变换灰度范围

function[a,b,r]=ugamma(fa,fb,ga,gb)

a=ga/fa;

b=(gb-ga)/(fb-fa);

r=(255-gb)/(255-fb);

end

⑵histlt.m文件

%求解灰度分段线性变换后图像

%g变换后图像

%f处理图像对象

%fa,fb关心灰度区间

%ga,gb逆变换后灰度区间

function[g]=histlt(f,fa,fb,ga,gb)

[M,N]=size(f);

[a,b,r]=ugamma(fa,fb,ga,gb);

fori=1:

M

forj=1:

N

iff(i,j)<=fa

g(i,j)=a*f(i,j);

elseiff(i,j)<=fb

g(i,j)=b*(f(i,j)-fa)+ga;

elseg(i,j)=r*(f(i,j)-fb)+gb;

end

end

end

end

⑶lab1gui_1.m界面关联核心代码

%figure打开时回调函数

functionlab1gui_1_OpeningFcn(hObject,eventdata,handles,varargin)

scrsize=get(0,'ScreenSize');

set(gcf,'Position',scrsize);%窗口最大化

index=1;%标记当前选择处理项

handles.index=index;

handles.output=hObject;

guidata(hObject,handles);

%文件选择器选择图像后回调函数

functionrpicBtn_Callback(hObject,eventdata,handles)

[filename,pathname]=uigetfile({'*.tif'},'读取图片');

filecomppath=[pathnamefilename];

set(handles.pfEdit,'string',filecomppath);%显示读取文件的路径

f=imread(filecomppath);

handles.f=f;

axes(handles.axes1);

imshow(f);

axes(handles.axes2);

imhist(f);

g=histeq(handles.f);

handles.g=g;

guidata(hObject,handles);

showProcessResult(handles);

%图像处理按钮回调

functiondwBtn_Callback(hObject,eventdata,handles)

switchhandles.index

case1

g=histeq(handles.f);

case2

g=getlt(handles);

end

handles.g=g;

guidata(hObject,handles);

showProcessResult(handles);

%退出按钮回调

functionexitBtn_Callback(hObject,eventdata,handles)

closeall;

clearall;

clc;

%单选按钮组线性变换,均衡化选择变化回调

functionuipanel7_SelectionChangeFcn(hObject,eventdata,handles)

sectag=get(hObject,'tag');

switchsectag

case'ltRb'

g=getlt(handles);

index=2;

case'histeqRb'

g=histeq(handles.f);

index=1;

end

handles.g=g;

handles.index=index;

guidata(hObject,handles);

showProcessResult(handles);

%线性变换处理

functiongs=getlt(handles)

%得到文本框中输入参数

fa=str2double(get(handles.fa,'string'));

fb=str2double(get(handles.fb,'string'));

ga=str2double(get(handles.ga,'string'));

gb=str2double(get(handles.gb,'string'));

[a,b,r]=ugamma(fa,fb,ga,gb);

fprintf('a=%f,b=%f,c=%f\n',a,b,r);

%设置数据

set(handles.k1,'string',['α='num2str(a)]);

set(handles.k2,'string',['β='num2str(b)]);

set(handles.k3,'string',['γ='num2str(r)]);

gs=histlt(handles.f,fa,fb,ga,gb);

%显示处理后结果

functionshowProcessResult(handles)

axes(handles.axes3);

imshow(handles.g);

axes(handles.axes4);

imhist(handles.g);

实验二:

1.界面设计

homegui.fig

lab2gui_1.fig

lab2gui_2.fig

2.源码

⑴homegui.m

%退出按钮回调

functionpushbutton3_Callback(hObject,eventdata,handles)

clc;

closeall;

%启动窗口lab2gui_1

functionphlbBtn_Callback(hObject,eventdata,handles)

lab2gui_1;

%启动窗口lab2gui_2

functionpushbutton2_Callback(hObject,eventdata,handles)

lab2gui_2;

⑵lab2gui_1.m

functionlab2gui_1_OpeningFcn(hObject,eventdata,handles,varargin)

scrsize=get(0,'ScreenSize');

set(gcf,'Position',scrsize);%窗口最大化

handles.output=hObject;

guidata(hObject,handles);

functionreadimgBtn_Callback(hObject,eventdata,handles)

[filename,pathname]=uigetfile({'*.tif'},'读取图片');

filecomppath=[pathnamefilename];

set(handles.filepathEdit,'string',filecomppath);%显示读取文件的路径

f=imread(filecomppath);

handles.f=f;

axes(handles.axes1);

imshow(f);

gp=getpollutionImg(1,handles.f);

showpollutionImg(gp,handles);

handles.gp=gp;

guidata(hObject,handles);

[glb3glb5]=getfilterImg(1,handles.gp);

showfilterImg(glb3,glb5,handles);

%得到加入噪声后图像

%index1高斯噪声2椒盐噪声

functiongp=getpollutionImg(index,f)

switchindex

case1

gp=imnoise(f,'gaussian',0,0.03);%加入高斯噪声,均值、方差分别为0,0.02

case2

gp=imnoise(f,'salt&pepper',0.02);%加入椒盐噪声

end

%得到滤波后图像

%glb33*3模板处理结果glb55*5模板处理结果

%index:

1均值滤波2中值滤波

function[glb3glb5]=getfilterImg(index,gp)

switchindex

case1

avf3=fspecial('average',[3,3]);

avf5=fspecial('average',[5,5]);

glb3=filter2(avf3,gp);

glb5=filter2(avf5,gp);

case2

glb3=medfilt2(gp,[3,3]);

glb5=medfilt2(gp,[5,5]);

end

%显示噪声污染后的图像

functionshowpollutionImg(gp,handles)

axes(handles.axes2);

imshow(gp);

%显示滤波处理后的图像

functionshowfilterImg(glb

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2