西安交通大学数字图像处理第二次作业

更新时间:2023-11-23 10:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字图像处理的基本数学

工具的使用

摘要

本报告主要介绍了运用编程软件MATLAB对图像灰度级进行变换、求取图像均值与方差、采用不同的内插方法对图像进行缩放及利用仿射变换对图像进行空间变换处理的方法。同时,对最近邻内插法、双线性内插法、双三次内插法进行图像处理的效果进行了详细的对比,并对出现差异的原因做出了简要分析。

姓 名: X X X 班 级: 学 号:

提交日期:年月日

2_1. 把lena 512*512图像灰度级逐级递减8-1显示;

(1) 问题分析:

所要实现的功能是:在不改变图像大小的前提下,使得整幅图像的灰度级逐级递减并将图像显示出来;即对所有像素点的灰度依次进行除2操作; (2) 实验过程:

工具:MATLAB软件;

利用imread()函数将图像读入MATLAB,利用imshow()对原图像进行显示,再利用循环体对整幅图像的灰度级逐级递减并一一进行显示。 源代码附于本报告最后一部分。 (3) 实验结果:

备注:在大小为512X512的途中观察更为方便,但此处为了便于排版以及将结果进行对比对所有图像做了一定的缩小。

a b

c d

e f

g h

图2_1 (a)大小为512X512的256灰度级图像;(b)~(h)保持图像大小不变的同

时以灰度级128,62,32,16,8,4,2显示的图像。

(4) 结果分析:

对图2_1中的(a)~(h)图像进行对比可知,256级、128级、64级以及32级灰度的图像几乎没有太大的区别;然而在灰度级为16的图(e)中出现了较为明显的伪轮廓,这种效果是由数字图像的平滑区域中的灰度级数不足引起的。(说明:此分析为本人肉眼的观察结果,对细节的观察难免存在疏漏之处,还请批评指正。)

2_2. 计算lena图像的均值方差;

(1) 问题分析:

所要实现的功能是:计算图像‘lena.bmp’的均值与方差; (2) 实验过程:

工具:MATLAB软件;

利用imread()函数将图像读入MATLAB,由于二维数字图像使用二维阵列表示的,因而可以直接利用MATLAB中的mean2()及std2()分别求整幅图像的均值于方差; 源代码附于本报告最后一部分。

(3) 实验结果:均值 m =99.0512 方差 =52.8776。

2_3. 把lena图像用近邻、双线性和双三次插值法zoom到2048*2048;

(1) 问题分析:

分别用三种内插方法将图像‘lena.bmp’由512X512放大到2048X2048; (2) 实验过程:

工具:MATLAB软件;

函数B=imresize(A,[numrows,numcols],’method’)功能说明:

‘method’指所采用的内插方法,一般默认为’nearest’(最近邻内插法),还可指定为’bilinear’(双线性内插法)、’bicubic’(双三次内插法); A指原图像;

numrows用于指定变换后的图像的行数,numcols用于指定变换后的图像的列数; 源代码附于本报告最后一部分。 (3) 实验结果:

图2_31 (a) 大小为512*512的原图像;(b)~(d) 分别为采用最近邻、双线性、

双三次内插法进行内插后得到的大小为2048*2048的图像

(4) 结果分析:

abcd

图2_32 (a)~(d)分别为图2_31中(a)~(d)的部分截取

将图2_32中的(a)~(d)进行对比可知:原图像与经过最近邻内插所得的图像的肩膀以及

脸颊部分的曲线呈现锯齿状;采用双线性内插法所得的图像的肩膀以及脸颊部分的曲线则比较平滑,基本没有锯齿出现;而采用双三次内插法所得的图像的曲线均非常平滑。 原因分析:最近邻内插法把原图像中最近邻的灰度赋给了每个新位置,这种方法简单,

但有产生不希望的人为缺陷的倾向;双线性内插法用4个最近邻去估计给定位置的灰度,通常所给出的内插效果会比最近邻法好,但计算量也相对有所增加;双三次内插法用16个最近邻点的灰度去估计给定位置的灰度,因而在保持细节方面比双线性内插法要好。

2_4. 把lena和elain图像分别进行水平shear(参数可设置为1.5,或者自行选

择)和旋转30度,并采用用近邻、双线性和双三次插值法zoom到2048*2048;

(1) 问题分析:

先将lena和elain分别进行水平偏移变换、旋转变换,再讲变换后的图像利用最近邻内插法、双线性内插法、双三次内插法缩放为大小为2048*2048的图像,并进行显示。 (2) 实现过程:

先读入图像I=imread(),再根据需要输入矩阵T=[],再创建仿射矩阵tform=maketform(‘affine’,T);,其次进行空间变换II=imtrasform(I,tform);,最后再进行内插并进行图像显示;

源代码附于本报告最后一部分。 (3) 实验结果:

本文来源:https://www.bwwdw.com/article/y9ct.html

Top