数字图像处理与分析实验作业(DOC)
野菊花歌词-耶稣的生日
数字图像处理与分析实验作业
作业说明: 作业题目分为基本题和综合应用题。基本题
主要是考察大家对教材
涉及的一些基本图像处理技术的理解和实现。而综合应用题主要是考察大家综合<
br>利用图像处理的若干技术来解决实际问题的能力。
注:所有实验用图像均可从网上下载,文档中的图片只是示例。
作业要求:
编程工具:Matlab或者VC(可以使用OpenCV:http:)。
因为很多基本的
图象处理算法已经集成在很多的编程工具中,而编程训练中基本
题的目的是让同学们加深对这些算法的理
解,所以基本题要求同学们只能使用图
像读取和显示相关的函数 (例如Matlab的imread
imshow,imwrite,OpenCV的
cvCreateImage,cvLoadImag
e,cvShowImage),而不要直接调用相关的API(例
如二维DFT,图象均衡等等),但
在综合应用题中则无此限制。
上交的作业包括:实验报告和程序。其中实验报告要求写出算法分析(必
要时请
附上流程图),函数说明(给出主要函数的接口和参数说明),实验结果(附图)
及讨论
分析。提交的程序,一定要确保可以运行,最好能写个程序说明。
基本题一共有10道,可以从中任选
2道题来完成。综合应用题有2道,可以从中任
选1道来完成。
请各位同学务必独立完成,切忌抄袭!
基本题
一、直方图变换
要求对原始Lena 图像实现以下三种取整函数的直方图均衡化:
线性函数:
t
k
int[(L 1) t
k
0.5]
;
对数函数: t
k
int[( L1)log(19t
k
)
0.5]
;
指数函数: t
k
int[(L 1)exp(
t
k
1) 0.5]
;
要求给出:
1、
原始图像和分别采用上述三种方式均衡化后的图像;
2、
原始图像的直方图和上述三种方式对应均衡化后的直方图。
1
二、模板运算
2.1 加权平均
按照教材图3.3.2
所示的模板对含噪声的Lena_noise 图像进行平滑滤波。
要求给出:
1、
原始图像和平滑后图像;
2、 计算平滑后的均方根误差(
e
rms
)和峰值信噪比(
PSNR
)。
2.2 拉普拉斯算子
按照图3.3.3 所示的两个模板对原始Lena 图像进行锐化滤波。
要求给出:
1、 原始图像和锐化后图像;
2、 比较两种模板的锐化效果。
三、频域增强
要求实现对Lena 图像用理想低通滤波器、巴特沃斯低通滤波器、理想高通
滤波器、巴特沃斯高通滤波器进行频域增强,滤波器的参数自定。
要求给出:
1、
原始图像和上述各个滤波后图像;
2、 给出各个滤波器的参数设置,并说明参数如何影响滤波效果。
四、图像消噪
4.1 添加噪声
要求实现对Lena
图像添加高斯噪声和椒盐噪声,参数自定;
4.2 消除噪声
对上述含有高斯噪声和椒盐噪声的两幅图像分别采用均值滤波和中值滤
波进行消噪处理。
要求给出:
1、 给出添加高斯和椒盐噪声后的图像,并说明所加噪声的相关参数;
2、 给出原始图像和对于两种噪声图像分别采用两种方法消噪后的图像;
3、
计算消噪后的均方根误差(
e
rms
)和峰值信噪比(
PSNR
)。
2
五、仿射变换
5.1 仿射变换
要求实现对Lena 图像的仿射变换,包括平移,放缩和旋转(各一次变
换),参数自定,但是应能较明显看出变换效果,且需要在文档中说明。
5.2 灰度插值
对于放缩和旋转变换需对变换后图像分别采用最近邻插值和双线性插值。
要求给出:
1、给出原始图像和平移后的图像;
2、对于放缩和旋转变换,分别给出最近邻插值和双线性插值后的图像,
并对这两种插值方法进行对比说明。
六、位平面分解
6.1 二值分解
要求实现对Lena 图像的二值分解
6.2 灰度码分解
要求实现对Lena
图像的灰度码分解
要求给出:
1、分别给出二值分解和灰度码分解后的8个位面图;
2、在报告中分析说明这两种插值方法的区别。
七、图像变换
7.1
离散余弦变换
要求实现对Lena 图像的离散余弦变换
7.2 小波变换
要求实现对Lena 图像的3 级小波变换
要求给出:
1、给出离散余弦变换的结果,并通过结果分析说明该变换的特点;
2、给出3
级小波变换的结果,并通过结果分析说明该变换的特点。
3
八、图像水印
8.1 要求实现基于迭代混合的图像隐藏,以Girl
为载体图像,Couple 为隐藏
图像。实现混合参数α为0.7
的迭代混合,并计算此时恢复图像的均方根误差。
8.2 要求对混合参数α以0.1
为间隔,计算并绘制混合图像及恢复图像的均方
根误差与混合参数的关系、最佳混合隐藏的曲线(与教材271 页的曲线图类似)。
要求给出:
1、给出迭代混合的结果,,并计算此时恢复图像的均方根误差;
2、给出混合图像及恢复图像的均方根误差与混合参数的关系图、最佳混合隐藏
的曲线图。
九、彩色图像处理
9.1彩色模型
将原始彩色Lena_color图像从RGB空间转换到HSI空间
9.2彩色处理
对上述得到的HSI图像,分别进行亮度增强、饱和度增强和色调增强
9.3彩色图像去噪
对含有噪声的彩色Lena_color_noise图像进行消噪处理,消噪方法可以自己选
定,但要在实验报告中说明。
要求给出:
1、 原始图像和对应的H、S和I各分量图像;
2、 分别给出三个分量增强后的彩色图像;
3、
给出含有噪声的原始图像和去噪后的图像,并说明所用的去噪方法。
十、多尺度图像处理
10.1高斯金字塔
利用(14.2.5)公式所示的双线性滤波器组成的5×5的高斯平滑
模板对Lena图像
进行3层高斯金字塔分解。
10.2拉普拉斯金字塔
对于扩展操作,仍采用上述5×5的高斯模板进行插值,给出3层拉普拉斯金字塔。
4
要求给出:
1、0到3层的高斯金字塔图像;
2、0到3层的拉普拉斯金字塔图像。
综合应用题
一、 图像修复
图像
修复问题是一个实用性很强的问题,在实际生活中有着重要的应用。比如照
片划痕或者图像中标记文字的
去除等问题,都可以通过图像修复技术很好地解
决。图像修复是指对图像中某些指定的损坏区域(可以是
在图像采集和处理的过
程中退化或丢失的区域,也可以是人为指定的待去除的物体)进行复原,并使得<
br>修复后的图像具有很好的真实感。与基于偏微分方程的扩散方法相比,基于样本
的修复方法在保持
纹理方面取得更好的表现,更适合于修复大面积的目标区域。
图像修复示意图如下所示:
其中表示源区域,
表示目标区域(待修复区域),
表示边界线,
p
表示边
界线的一个点,
p
表示以
p
点为中心的图像块,
n
p
表示
p
点单位法向量,
I
p
表示等照度线(这里采用与梯度最大方向垂直的方向来代替)。
图像修复的过程主
要可以分为两步:确定修复顺序(就是计算目标区域与源区域
之间边界点的待修复权值)和更新图像信息
(也就是更新待修复图像块中处于目
标区域的像素值)。
前者可以采用文献[1]中的公式来计算边界点权值:
P
(
p
)
C
(
p
)
D
(
p
),其
中第一项
C
(
p
)表示当前图像块中完好像素点所占的比例,第二项
D
(
p
)是等照度
5
线(灰度值相等的线)与单位法相向量的内积。
C
(
p
)和
D
(
p
)的计算方法和细节
可以到文献[
1]中查阅;也可以直接采用第一项
C
(
p
)作为权值,但是这样不能保
持
原始图像的纹理信息,修复效果不好。在
确定修复顺序之后,我们可以采用源区
域中与当前待修复图像块最接近的图像块来更新目标区域的像素值
。图像修复的
一般流程如下所示:
输入: 待修复的图像
循环:一直到目标区域Ω 被完全填充。
首先 计算所有目标区域边界δΩ
像素点的优先权,把优先权最大点作为当前图像块的
中心。将此图像块重排为不完整信号。
其次 利用不完整信号中的完好像素点选择与之最接近的图像块,再利用所选择的图像
块来恢复
该信号中不完整像素点。
最后 更新边界像素点的信息。
输出: 修复后的图像
为了降低实现难度,这里对图像修复问题进行简化,并给出以下几点提示:
1、
目标区域以红色标注,即(R,G,B)=(255,0,0),并只出现在图像的中间区域
(离边界距
离大于7
像素),可以将目标区域所有点的横纵坐标存到目标点数组
中。如果该数组长度为0,则认为修复完毕。
2、 对上述目标点数组中的像素,如果其3×3 的8
邻域中含有源区域中的点,
则认为该像素点是边界点。
3、 按照模板大小为7×7,间隔3
像素的重叠采样的方法将源区域保存到数组中。
这里可以将上述7×7
的图像块以列优先的方式重排为列信号,这样对整个源区
域采样得到的源区域数组即为147×N
的形式,其中147 表示7×7×3(即1-49 表
示R 分量的值,50-98 表示G
分量的值,99-147表示B 分量的值),N 表示对源
区域采样得到的图像块数。
4、
每次循环从边界点中选出权值最大的一个作为当前待修复图像块的中心,利
用该图像块中完好的像素点与
源区域数组中各个图像块的对应点作比较,选出最
接近的来进行修复。
5、
每次循环会对7×7 大小的图像块进行修复,因此每次循环都会改变边界点
信息,此时不需要重新对整
个图像进行搜索来更新目标点数组,只需将原数组中
6
在本次循环中被修复的目标点去掉,再对该数组进行检查更新边界点。
6、
注意:在本次实验中,所有待修复的图像均为彩色图像。
要求实现:
1、
基本部分:利用
C
(
p
)作为边界点权值,对给出的2 幅图像进行修复;
2、 提高部分:利用
P
(
p
)
像进行修复;
3、 在实验报告中给出修复结果,并将修复后图像另存为文件一起上交。我会利
用大家的程序
对另外的测试图像进行验证,所以一定要确保提交的程序具有自动
完成图像修复的功能。
4、
只需完成基本部分即可,有余力的同学可以完成提高部分。
参考文献:
1、Criminisi A, Perez P, and Toyama K, “Object
removal by examplar-based image
inpainting”,
in Proc. Int. Conf. Comp. Vision, pp. 721–728,
2003.
C
(
p
)
D
(
p
)作为边界点权值,对给出的2 幅图
二、人脸特征点检测
人脸特征点的
自动检测是一项十分重要且用途非常广泛的工作,是实现无监督式
的人脸识别,表情识别,3D人脸重建
和人脸动画等方面的基础。人脸特征点的检
测包括眼睛,瞳孔,眼角,鼻孔,鼻尖,嘴唇,嘴角等,要实
现在不同光照和不
同人脸表情下的自动特征点检测不是一件容易的事情。许多研究者都对此进行了
深入的研究。
这里要实现的人脸特征点自动检测工作包括:人脸定位、眼睛定位、瞳孔检测、
眼角检测、鼻子定位、鼻孔检测、嘴巴定位和嘴角检测。检测结果的示意图(文
献[1])如下所示:
7
特征点检测的大致流程如下:
上述每一步骤在文献[1]中都有详细说明,这里建议大家使用Ope
nCV(关于OpenCV
的安装和使用,可以在首页给出的连接里面找到),并给出几点提示:
1、 人脸定位:在文献[1]中是使用Viola and Jones’face
detection algorithm
来进行人脸检测(这可以使用OpenCV自带的cvHa
arDetectObjects函数,调用
haarcascade_frontalface_分类
器进行检测,这些分类器文件存放在安
装目录下如OpenCV2.2datahaarcascade
s里面);
2、 眼睛定位:对估计区域使用OpenCV自带的cvHaarDetectObje
cts函数,调用
haarcascade_eye_tree_分类器进行检测;
3、
眼角检测:在文献[1]中是对估计区域ROI使用Shi-Tomasi’s Good
Features
8
方法对灰度图检测角点,再从中选出两个端点
作为眼角(这里可以使用OpenCV
自带的cvGoodFeaturesToTrack函数检测角
点);
4、 鼻孔检测:根据人脸器官分布的几何特征,估计鼻子的矩形区域,利用简单
阈值
对其灰度图进行分割,再进行形态学腐蚀(cvErode函数)得到;
5、
嘴角检测:与眼角检测类似,可以使用cvGoodFeaturesToTrack函数检测角
点。
要求实现:
1、 对给出的2幅图像进行人脸特征点检测,包括人脸定位、眼睛定位、鼻子定
位和嘴巴定位,还有瞳孔检测、眼角检测、鼻孔检测和嘴角检测。所使用的人脸
特征点检测定位
方法可以不拘泥于上述介绍的方法。
2、 在实验报告中说明所使用的检测方法,给出检测结果,并将
检测结果保存为
图像文件一起上交。我会利用大家的程序对另外的测试图像进行验证,所以一定
要确保提交的程序具有自动完成人脸特征点检测的功能。
参考文献:
1、Anima
Majumder, L. Behera and Venkatesh K Subramanian,
“Automatic and
Robust Detection of Facial
Features in Frontal Face Images”, UKSim 13th
International Conference on Modelling and
Simulation, pp. 331–336, 2011.
9