数字图像处理期末大作业一、问题描述
实现第十章中采用Hough变换来检测图像中圆的过程。,通过包括平滑(把细节去除),边缘检测(得到轮廓)以及Hough变换得到的圆,并把结果叠加到原来的灰度图像上。给出具体的过程,中间结果,最后结果,实现的代码,并写出报告。
二、图片的获取以及预处理
针对老师提供的一副硬币图片,要求检测出其中的hough圆,并叠加到原图像上以便增强图像。在检测hough圆之前,首先要对图像进行平滑处理,进行拉普拉斯变换,然后检测垂直方向,水平方向,45度和45度方向的边缘,将四个方向的边缘叠加起来,得到总的边缘,对该图像进行二值化,然后对得到的图像检测其hough圆,得到圆形边缘,将该图像叠加到原图像上,就实现了图像边缘增强的目的。
三、图像处理算法的基本原理以及处理结果
本实验流程图如下:
开始
读取图像
图像预处理
边缘检测
二值化
Hough变换
Hough变换结果与原图像相加
结束
f1读取图像图像处理的第一步就是对所采集的图像进行读入,本次实验的输入图像是一
幅灰度图像,不需要将图像转换成为灰度图像,直接利用函数imread()完成。原图像如下所示:
原图像
2图像预处理在图像预处理中,我们完成了两步工作,首先使用方差为1的高斯噪声对图
像进行平滑,然后进行拉普拉斯变换,即2hr
f
x
y,hr
12π
2
e
r22
2
为
方差为2的高斯噪声,本实验中21。又2hrfxy2hrfxy,
其中2hr
r2
2
2
e
r222
,将2hr
和
f
x
y
分别进行傅里叶别换,将其逐
4
点相乘,再进行傅里叶反变换,就得到了预处理后的图像。3边缘检测
对水平,垂直,45度,45度方向进行边缘检测,本实验中我们采用了Prewitt梯度算子,它用于检测水平方向,垂直方向,45度方向和45度方向的掩膜分别如下:
水平掩膜
垂直掩膜
45度掩膜
45度掩膜
f使用这四个掩膜分别对上一步得到的图像逐点进行处理,就可以得到四个方向的边缘了(本实验中边缘的一个像素都不处理),再将它们加起来,就得到了总的边缘,实验结果如下:
水平边缘
垂直边缘
f45度边缘45度边缘
总的边缘如下图所示:
f提取的边缘
4二值化对上图得到的图像进行二值化,这里我采用的是循环方式确定图像全局阈
值,即首先以图像的平均值作为阈值,将图像分成两部分,分别求两部分的平均值,新的阈值为这两个平均值的均值,重复上述过程,直到两次阈值之差小于特定的值时停止,并以最后一次得到的阈值对图像进行二值化,本实验中我要求两次r