第一范文网 - 专业文章范例文档资料分享平台

基于数字图像处理的智能建筑人数统计(最新版)

来源:用户分享 时间:2025/6/1 3:38:51 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

R(x,y)?[f(x,y)?f(x?1,y?1)]2?[f(x,y?1)?f(x?1,y)]2一般为了简化运算,将上式简化为:

R(x,y)?f(x,y)?f(x?1,y?1)?f(x,y?1)?f(x?1,y)

Robert算子的两个2X2卷积模板如图4-3所示:

1

0

0

1

0 -1

-1 0

图4-3 Robert边缘算子 Fig4-3 Robert edge operator

Robert算子边缘检测采用对角线方向相邻像素之差近似检测边缘,定位精度高,在水平和垂直两个方向效果较好,但它对噪声比较敏感。利用Robert算子图像处理后结果边缘不是很平滑。根据前人经验和理论分析,Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用Roberts算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。

(2)Prewitt算子

该算子与Sobel算子类似,只是权值有所变化,其定义为: 其中:

dx?[f(x?1,y?1)?f(x?1,y?1)]?[f(x?1,y)?f(x?1,y)]?[f(x?1,y?1)?f(x?1,y?1)]dy?[f(x?1,y?1)?f(x?1,y?1)]?[f(x,y?1)?f(x,y?1)]?[f(x?1,y?1)?f(x?1,y?1)]22?f?dx?dy

但两者实现起来功能还是有差距的,据经验得知Sobel要比Prewitt更能准确检测图像边缘。通过计算,凡灰度新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T,若f(x,y)≥T,则认为该点为边缘点,否则判定其不为边缘。这种判定比较简单,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于那些灰度值较小的边缘点,容易被误判为非边缘点。

Prewitt算子利用像素点上、下、左、右邻域点的灰度差,在边缘处进行极值计算来检测边缘,然后去掉部分伪边缘,该算子对噪声具有平滑作用。Prewitt算子的理论思想是在图像空间利用两个方向模板与图像进行邻域卷积,这两个方向模板一个检测水平边缘,一个检测垂直边缘。Prewitt算子边缘检测的模板如图4-4所示:

-1 -2 -1

0 0

1 2 1

-1 0

-2 0

-1 0

0 1 2 1

-1 0 1

-1 0

-1 0

1 0 -1

图4-4 Prewitt边缘算子 Fig4-4 Prewitt edge operator 1 0 -1

(3) Sobel算子 灰度加权算法。 Sobel 算子定义如下:

22?f?dx?dy 其中:

1

Sobel 算子是在Prewitt 算子的基础上,对像素点的4邻域(上下、左右)采用

1

1

0

-1

dx?[f(x?1,y?1)?f(x?1,y?1)]?2[f(x?1,y)?f(x?1,y)]?[f(x?1,y?1)]?f(x?1,y?1)dy?[f(x?1,y?1)?f(x?1,y?1)]?2[f(x,y?1)?f(x,y?1)]?[f(x?1,y?1)?f(x?1,y?1)]

sobel算子检测边缘的模板如图4-5所示:

图4-5 sobel边缘算子 Fig4-5 sobel edge operator

使用sobel算子来检测边缘时,将图像中每个点都用这两个模版做卷积。一个窗口对通常的水平边缘影响最大,而另一个窗口对垂直边缘影响最大。两个卷积的绝对值最大值作为该点的输出值。但是经典Sobel算子也存在致命缺陷,其对边缘的检测具有很强的方向性,只对垂直与水平两个方向敏感,其他方向则不敏感,这就使得很多其它方向的边缘检测不到。

其主要用于边缘检测,在技术上它是以离散型的差分算子,用来运算图像亮度函数的梯度的近似值,缺点是Sobel算子并没有将图像的主题与背景严格地区分开来,换言之就是Sobel算子并没有基于图像灰度进行处理,由于Sobel算子并没有严格地

模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。

这三种一阶微分算子在提取图像边缘时各有特点,实际效果如图4-6所示:

图4-6 不同一阶微分算子提取边缘效果

FIg4-6 Different first-order differential operator edge extraction results

以上介绍的几种算子都是基于一阶导数思想来检测边缘,即通过寻找一阶导数的极大值来寻找边缘,因为它们都是采用了多个模板,所以检测的步骤都一样,即选择多个模板处理结果中的较大值作为在该点的输出值,然后选择一个合适的阈值做判决,以得到图像边缘。其中,阈值的确定是很关键的,闽值选择的好坏对最后检测结果影响很大。

4.2.2 二阶微分算子

(1)拉普拉斯高斯算子

拉普拉斯高斯(LOG)是一种二阶微分边缘检测方法,它是将高斯滤波与拉普拉斯算子结合一起进行边缘检测,通过寻找图像灰度值中的二阶微分过零点来检测边缘点。该算子是一个线性移不变的算子,它的传递函数在频域空间的原点是零,因此经拉普拉斯滤波过的图像具有零平均灰度。

该算法的过程为:

首先选取高斯函数对图像f(x,y)进行滤波,高斯函数如下:

h(x,y)??2[g(x,y)]??2[f(x,y)*G(x,y)]?f(x,y)*[G(x,y)]

拉普拉斯高斯算子边缘检测模板如4-7图所示:

0 -1 0

-1 4 -1

0 -1 0

-1 -1

-1 8

-1 -1

-1 -1 1

图4-7 拉普拉斯边缘算子 Fig4-7 Laplacian edge operator

其次,对滤波后的图像g(x,y)进行laplas运算,即进行卷积运算;拉普拉斯算子较好的过滤了噪声,美中不足的是它会将原有的边缘给平滑了。

(2)Canny算子

Canny 算子边缘检测的基本原理是:采用二维高斯函数的任一方向上的一阶方向导数为噪声滤波器,通过与图像f (x, y)卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部极大值,以确定图像边缘,它能够在噪声抑制和边缘检测之间获得较好的平衡。该过程数学表达式为:

G(x,y)?12??2?(x2?y2)exp[]22?

本式中σ称为平滑系数,当σ较小时,对于边缘的定位比较准确,但是对图像的平滑

作用比较差,抑制噪声的能力也比较差;当σ较大时,用来平滑的高斯模板增大,使边缘偏移程度加大,同时计算量也增大了,所以,一般取σ在1.0到2.0之间。 Canny算子检测边缘的实现步骤如图4-8所示:

图4-8 canny算法实现过程框图 Fig4-8 canny algorithm process diagram

Canny的主要工作是推导了最优边缘检测算子。他考核边缘检测算子的指标是:低误判率,即尽可能少地把边缘点误认为是非边缘点;高定位精度,即准确地把边缘

基于数字图像处理的智能建筑人数统计(最新版).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7rygk9gsoh2mdyx42w5i_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top