数字图像实验报告Word文档格式.docx
《数字图像实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字图像实验报告Word文档格式.docx(50页珍藏版)》请在冰点文库上搜索。
10.用im2bw()将一幅灰度图像转化为二值图像,并且用imshow()显示出来观察图像的特征。
五、实验过程原始记录(数据、图表、计算等)
原始图像
camera.jpglenna.jpg
rose.jpg
在Matlab中输入以下语句。
I=imread('
E:
\tupian\rose.tif'
);
whos(I)
imshow(I)
imwrite(I,'
Rose.jpg'
'
quality'
10)
imfinfo('
)
Rose.bmp'
A=imread('
\tupian\lenna.jpg'
B=imread('
\tupian\camera.jpg'
lenna.jpg'
camera.jpg'
figure;
imshow(A)
imshow(B)
C=imread('
C1=im2bw(C);
imshow(C1)
六、实验结果及分析
通过whosI查看图像信息。
二值化后图片转化成黑白图片,即灰度值小于等于127时赋值为0,灰度值大于127时赋值为1。
一、实验目的
1.了解图像的算术运算在数字图像处理中的初步应用。
2.体会图像算术运算处理的过程和处理前后图像的变化。
二、实验原理
图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。
如果输入图像为A(x,y)和B(x,y),输出图像为C(x,y),则图像的代数运算有如下四种形式:
C(x,y)=A(x,y)+B(x,y)
C(x,y)=A(x,y)-B(x,y)
C(x,y)=A(x,y)*B(x,y)
C(x,y)=A(x,y)/B(x,y)
图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算术操作,还能为许多复杂的图像处理提供准备。
例如,图像减法就可以用来检测同一场景或物体生产的两幅或多幅图像的误差。
使用MATLAB的基本算术符(+、-、*、/等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。
为了更方便地对图像进行操作,MATLAB图像处理工具箱包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。
使用图像处理工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。
虽然在函数执行过程中元素是以双精度进行计算的,但是MATLAB工作平台并不会将图像转换为双精度类型。
代数运算的结果很容易超出数据类型允许的范围。
例如,uint8数据能够存储的最大数值是255,各种代数运算尤其是乘法运算的结果很容易超过这个数值,有时代数操作(主要是除法运算)也会产生不能用整数描述的分数结果。
图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:
超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。
例如,如果数据类型是uint8,那么大于255的结果(包括无穷大inf)将被设置为255。
三、使用仪器、材料
1.图像的加法运算
imadd函数的调用格式如下:
Z=imadd(X,Y)
其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。
2.图像的减法运算
imsubtract函数的调用格式如下:
Z=imsubtract(X,Y)
其中,Z是X-Y操作的结果。
3.图像的乘法运算
immulitply函数的调用格式如下:
Z=immulitply(X,Y)
其中,Z=X*Y。
4.图像的除法运算
imdivide函数的调用格式如下:
Z=imdivide(X,Y)
其中,Z=X/Y。
\tupian\lianhua.jpg'
\tupian\add1.jpg'
C=imadd(A,B);
imshow(C)
A1=imadd(A,50);
A2=imadd(A,-50);
%同imsubtract(A,50)
subplot(131);
imshow(A);
title('
原图'
subplot(132);
imshow(A1);
+50'
subplot(133);
imshow(A2);
-50'
background=imopen(A,strel('
disk'
50));
Ip=imsubtract(A,background);
subplot(121);
subplot(122);
imshow(Ip);
\tupian\house.jpg'
J=immultiply(I,1.5);
imshow(I);
imshow(J);
A=rgb2gray(A);
I=double(A);
J=I*0.43+90;
A1=uint8(J);
Ip=imdivide(A,A1);
imshow(Ip,[])
1.叠加后的图像
2.减去背景后的图像
4.乘以1.5后的结果
1.了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。
2.学会对图像直方图的分析。
3.掌握直接灰度变换的图像增强方法。
术语‘空间域’指的是图像平面本身,在空间与内处理图像的方法是直接对图像的像素进行处理。
空间域处理方法分为两种:
灰度级变换、空间滤波。
空间域技术直接对像素进行操作其表达式为
g(x,y)=T[f(x,y)]
其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。
定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域,。
此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。
T应用于每个位置(x,y),以便在该位置得到输出图像g。
在计算(x,y)处的g值时,只使用该领域的像素。
灰度变换T的最简单形式是使用领域大小为1×
1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。
当处理单设(灰度)图像时,这两个术语可以互换。
由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:
s=T(r)
其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。
三、使用仪器、材料
1.PC计算机
2.实验所需要的图片
3.Matlab软件/语言包括图像处理工具箱(ImageProcessingToolbox)
1.图像数据读出。
2.计算并分析图像直方图。
3.利用直接灰度变换法对图像进行灰度变换。
实验的Matlab程序如下:
f=imread('
\tupian\med.jpg'
%读取图像数据
f=rgb2gray(f);
%RGB图像转换为灰度图像
imhist(f,256);
%显示直方图
g1=imadjust(f,[01],[10]);
%灰度转换,实现明暗转换
figure,imshow(g1)
g2=imadjust(f,[0.50.75],[01]);
%灰度级调整[0.50.75]转换成[01]
figure,imshow(g2)
g=imread('
\tupian\point.jpg'
h=log(1+double(g));
%对输入图像进行对数映射变换
h=mat2gray(h);
%将矩阵h转换为灰度图片
h=im2uint8(h);
%将灰度图转换为8位图
figure,imshow(h)
1.绘制图像直方图
2.图像的明暗转换
3.图像的对数变换
由图可以看出,图片对数变换后显示更多的内容,即对低频进行拉伸,对高频进行压缩。
1.掌握灰度直方图的概念及其计算方法。
2.熟练掌握直力图均衡化和直方图规定化的计算过程。
3.熟练掌握空域滤波中常用的平滑和锐化滤波器。
4.掌握色彩直方图的概念和计算方法。
5.利用Matlab程序进行图像增强。
图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。
其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。
图像增强技术主要有直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。
本实验以直方图均衡化增强图像对比度的方法为主要内容,其他方法同学们可以在课后自行联系。
直方图是多种空间城处理技术的基础。
直方图操作能有效地用于图像增强。
除了提供有用的图像统计资料外,直方图固有的信息在其他图像处理应用中也是非常有用的,如图像压缩与分割。
直方图在软件中易于计算,也适用于商用硬件设备,因此,它们成为了实时图像处理的一个流行工具。
直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。
直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。
灰度直方图是图像预处理中涉及最广泛的基本概念之一。
图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有象素集合的最基本的统计规律。
直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的视觉效果。
直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。
1.图像数据读出。
2.RGB图像转换为灰度图像。
3.图像直方图均衡化。
4.显示原图像及其直方图,直方图均衡化后图像及其直方图。
直方图均衡化的Matlab程序如下:
\tupian\pollen.jpg'
%读入原图像
I=rgb2gray(I);
J=histeq(I);
%对原图像进行直方图均衡化处理
%显示原图像
原图像'
%给原图像加标题名
%显示直方图均衡化后的图像
直方图均衡化后的图像'
%给直方图均衡化后的图像加标题名
imhist(I,64);
%将原图像直方图显示为64级灰度
原图像直方图'
%给原图像直方图加标题名
imhist(J,64);
%将均衡化后直方图显示为64级灰度
均衡变换后的直方图'
%给均衡化后图像直方图加标题名
1.图像的直方图均衡化
2.原图像及其直方图均衡化后图像的直方图
实验可知:
直方图是反映的是图像的灰度值的分布情况。
直方图均衡化是通过灰度级变换将一幅图像转换为另一幅具有均衡直方图的图像,即在每个灰度级上都具有相同像素点数的过程。
直方图均衡化的用途是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。
1.进一步了解Matlab软件,学会使用Matlab对图像作滤波处理,掌握滤波算法,体会滤波效果。
2.了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力。
对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;
能够正确地评价处理的结果;
能够从理论上作出合理的解释。
1.高斯噪声及其处理
(1)调入并显示原始图像elec.jpg。
(2)利用imnoise命令在图像elec.jpg上加入高斯噪声。
(3)利用预定义函数fspecial命令产生平均滤波器
(4)选用3x3的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果。
(5)选用5x5的模板,重复(4)步骤。
(6)观察滤波器处理结果。
2.椒盐噪声及其处理
(2)利用imnoise命令在图像elec.jpg上加入椒盐噪声。
Matlab高斯滤波程序如下:
\tupian\elec.jpg'
J=imnoise(I,'
gauss'
0.02);
%给原图像加高斯噪声
ave1=fspecial('
average'
3);
%产生3×
3的均值模版
ave2=fspecial('
5);
%产生5×
5的均值模版
K=filter2(ave1,J)/255;
%均值滤波3×
3
L=filter2(ave2,J)/255;
%均值滤波5×
5
M=medfilt2(J,[33]);
%中值滤波3×
N=medfilt2(J,[55]);
%中值滤波5×
imshow(K);
imshow(L);
imshow(M);
imshow(N);
Matlab椒盐滤波程序如下:
G=imnoise(I,'
salt&
pepper'
%给原图像加椒盐噪声
%3×
3的均值滤波
%5×
5的均值滤波
3的中值滤波
%5×
5的中值滤波
imshow(G);
1.高斯噪声处理
(1).原图像(左)及其添加高斯噪声的图像(右)
(2).3×
3均值滤波(左)及5×
5均值滤波(右)
(3).3×
3中值滤波(左)及5×
5中值滤波(右)
2.椒盐噪声处理
(1)原图像添加椒盐噪声
(2)3×
(3)3×
通过对高斯噪声和椒盐噪声的滤波实验可以看出:
对于高斯噪声,选用均值滤波器效果比较好;
对于椒盐噪声,中值滤波效果比较好。
对于滤波窗口的大小,无论是对高斯噪声还是对椒盐噪声,选用5*5窗口滤波效果好于3*3窗口滤波,但图像模糊程度加重。
1.了解图像变换的意义和手段。
2.熟悉傅立叶变换的基本性质。
3.熟练掌握fft变换方法及应用。
4.通过实验了解二维频谱的分布特点。
5.通过本实验掌握利用Matlab编程实现数字图像的傅立叶变换。
6.评价人眼对图像幅频特性和相频特性的敏感度。
1.应用傅立叶变换进行图像处理
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2.傅立叶(Fourier)变换的定义
图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
1.将图像内容读入内存。
2.用Fourier变换算法,对图像作二维Fourier变换。
3.将其幅度谱进行搬移,在图像中心显示。
4.用Fourier系数的幅度进行Fourier反变换。
5.用Fourier系数的相位进行Fourier反变换。
6.比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。
原始图像
利用Matlab实现频域滤波的程序:
\tupian\number.jpg'
%图像内容读入
fftI=fft2(I);
%Fourier变换
sfftI=fftshift(fftI);
%幅度谱迁移,移至图像中心
RR=real(sfftI);
%取实部
II=imag(sfftI);
%取虚部
A=sqrt(RR.^2+II.^2);
%计算幅度
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;
%归一化
figure
实验结果如图
1.掌握怎样利用傅立叶变换进行频域滤波。
2.掌握频域滤波的概念及方法。
3.熟练掌握频域空间的各类滤波器。
4.利用MATLAB程序进行频域滤波。
频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。
频域低通过滤的基本思想:
G(u,v)=F(u,v)H(u,v)
F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤器变换函数,G(u,v)是通过H(u,v)减少F(u,v)的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。
理想地通滤波器(ILPF)具有传递函数:
其中,D0为指定的非负数,D(x,y)为(u,v)到滤波器的中心的距离。
与理想地通滤波器不同的是,巴特沃兹