一种可用于高速图像的边缘检测方法与流程

文档序号:18872779发布日期:2019-10-14 19:55阅读:228来源:国知局

本发明属于图像处理技术领域,具体为一种可用于高速图像的边缘检测方法。



背景技术:

图像处理,用计算机对图像进行分析,以达到所需结果的技术,又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。

图像边缘指图像中的像素值发生阶跃的地方,属于高频信息。而人类视觉系统决定了人眼对图像中的高频信息特别敏感,因此,图像边缘检测一直是图像处理中的关键问题之一,在图像分割、目标识别等领域应用十分广泛。图像边缘检测算法主要可分为两大类:一是传统的基于微分算子的边缘检测算法;二是近年来兴起的新型边缘检测算法,主要包括基于多尺度分析思想的边缘检测、基于数学形态学的边缘检测以及基于分形理论的边缘检测算法等。经典的微分算子边缘检测算法虽然实现简单、运算复杂度低,但是却不能很好地抑制图像中的噪声,图像边缘提取与抗噪性始终是一对难以调和的矛盾,因此我们提出一种可用于高速图像的边缘检测方法。



技术实现要素:

本发明的目的在于:为了解决现有对于高速图像边缘检测处理运算量大复杂度高以及边缘定位精确度差的问题,提供一种可用于高速图像的边缘检测方法。

本发明采用的技术方案如下:

一种可用于高速图像的边缘检测方法,包括以下具体步骤:

步骤1:读取图像数据,并对图像数据进行缓存;

步骤2:依据缓存的图像数据处理像素点,计算当前像素点与其相邻的像素点的差值;

步骤3:根据当前像素点与相邻像素点的差值计算差值的平均值,求得变换值;

步骤4:判断变化值是否大于阈值,若是,则当前像素点是图像边缘点,否则,则不是图像边缘点。

其中,所述相邻的像素点包括当前像素点左侧的像素点以及上方的像素点。

其中,所述当前像素点与相邻像素点的差值计算,具体为:假设当前处理像素点的坐标为(x,y),求取左侧像素点的值p(x-1,y)以及上方像素点的值p(x,y-1)与当前像素点值p(x,y)之间的差值,其中,当前点与上方像素点的差值记为du(x,y),当前点与左侧像素点的差值记为dl(x,y),

其运算算式为:du(x,y)=p(x,y)-p(x,y-1);

dl(x,y)=p(x,y)-p(x-1,y)。

其中,所述变化值的计算,具体为:求解两个差值的平均值,记为变换值da(x,y),并对其进行缓存,其运算算式为:da(x,y)=(du(x,y)+dl(x,y))/2。

其中,所述阈值的计算,具体为:更新求解当前的判断阈值th,为求取目前缓存中所有da(x,y)的平均值,其运算算式为:avg为求平均值操作。

其中,所述对图像数据进行缓存操作,具体为,读取图像数据时以当前读取点为开始,缓存后四行图像数据。

其中,所述读取图像数据之前,对图像数据进行滤波处理,采用高斯滤波进行处理。

其中,所述高斯滤波采用可分离滤波器进行加速滤波处理。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1、本发明中,各步骤的运算方法中,较传统的基于微分子边缘检测算法,其运算过程简单,从而提升了对图像数据的处理速度,加快检测效率。

2、本发明中,采用逐行逐点对待编码图像进行压缩编码,图像信息的缓存只缓存四行,与传统的需要在缓存整张完整的图像数据基础上进行分析检测相比,减少了对系统运行资源空间的占用。

3、本发明中,同时由于采用逐行逐点的读取图像数据,不再需要缓存整张图像,有利于提升对图像边缘检测的效率。

4、本发明中,由于只缓存四行图像数据,在图像数据进行采集的同时,只需要缓存到四行图像数据,就可以运行图像边缘检测程序,实现了采集与检测同步进行,大大提升了检测效率。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例一:一种可用于高速图像的边缘检测方法,包括以下具体步骤:

步骤1:读取图像数据,并对图像数据进行缓存;

步骤2:依据缓存的图像数据处理像素点,计算当前像素点与其相邻的像素点的差值;

步骤3:根据当前像素点与相邻像素点的差值计算差值的平均值,求得变换值;

步骤4:判断变化值是否大于阈值,若是,则当前像素点是图像边缘点,否则,则不是图像边缘点。

所述相邻的像素点包括当前像素点左侧的像素点以及上方的像素点。

所述当前像素点与相邻像素点的差值计算,具体为:假设当前处理像素点的坐标为(x,y),求取左侧像素点的值p(x-1,y)以及上方像素点的值p(x,y-1)与当前像素点值p(x,y)之间的差值,其中,当前点与上方像素点的差值记为du(x,y),当前点与左侧像素点的差值记为dl(x,y),

其运算算式为:du(x,y)=p(x,y)-p(x,y-1);

dl(x,y)=p(x,y)-p(x-1,y)。

所述变化值的计算,具体为:求解两个差值的平均值,记为变换值da(x,y),并对其进行缓存,其运算算式为:da(x,y)=(du(x,y)+dl(x,y))/2。

所述阈值的计算,具体为:更新求解当前的判断阈值th,为求取目前缓存中所有da(x,y)的平均值,其运算算式为:avg为求平均值操作。

实施例二:一种可用于高速图像的边缘检测方法,包括以下具体步骤:

步骤1:读取图像数据,并对图像数据进行缓存;

步骤2:依据缓存的图像数据处理像素点,计算当前像素点与其相邻的像素点的差值;

步骤3:根据当前像素点与相邻像素点的差值计算差值的平均值,求得变换值;

步骤4:判断变化值是否大于阈值,若是,则当前像素点是图像边缘点,否则,则不是图像边缘点。

所述相邻的像素点包括当前像素点左侧的像素点以及上方的像素点。

所述当前像素点与相邻像素点的差值计算,具体为:假设当前处理像素点的坐标为(x,y),求取左侧像素点的值p(x-1,y)以及上方像素点的值p(x,y-1)与当前像素点值p(x,y)之间的差值,其中,当前点与上方像素点的差值记为du(x,y),当前点与左侧像素点的差值记为dl(x,y),

其运算算式为:du(x,y)=p(x,y)-p(x,y-1);

dl(x,y)=p(x,y)-p(x-1,y)。

所述变化值的计算,具体为:求解两个差值的平均值,记为变换值da(x,y),并对其进行缓存,其运算算式为:da(x,y)=(du(x,y)+dl(x,y))/2。

所述阈值的计算,具体为:更新求解当前的判断阈值th,为求取目前缓存中所有da(x,y)的平均值,其运算算式为:avg为求平均值操作。

所述对图像数据进行缓存操作,具体为,读取图像数据时以当前读取点为开始,缓存后四行图像数据。

实施例三:一种可用于高速图像的边缘检测方法,包括以下具体步骤:

步骤1:读取图像数据,并对图像数据进行缓存;

步骤2:依据缓存的图像数据处理像素点,计算当前像素点与其相邻的像素点的差值;

步骤3:根据当前像素点与相邻像素点的差值计算差值的平均值,求得变换值;

步骤4:判断变化值是否大于阈值,若是,则当前像素点是图像边缘点,否则,则不是图像边缘点。

所述相邻的像素点包括当前像素点左侧的像素点以及上方的像素点。

所述当前像素点与相邻像素点的差值计算,具体为:假设当前处理像素点的坐标为(x,y),求取左侧像素点的值p(x-1,y)以及上方像素点的值p(x,y-1)与当前像素点值p(x,y)之间的差值,其中,当前点与上方像素点的差值记为du(x,y),当前点与左侧像素点的差值记为dl(x,y),

其运算算式为:du(x,y)=p(x,y)-p(x,y-1);

dl(x,y)=p(x,y)-p(x-1,y)。

所述变化值的计算,具体为:求解两个差值的平均值,记为变换值da(x,y),并对其进行缓存,其运算算式为:da(x,y)=(du(x,y)+dl(x,y))/2。

所述阈值的计算,具体为:更新求解当前的判断阈值th,为求取目前缓存中所有da(x,y)的平均值,其运算算式为:avg为求平均值操作。

所述对图像数据进行缓存操作,具体为,读取图像数据时以当前读取点为开始,缓存后四行图像数据,所述读取图像数据之前,对图像数据进行滤波处理。

实施例四:一种可用于高速图像的边缘检测方法,包括以下具体步骤:

步骤1:读取图像数据,并对图像数据进行缓存;

步骤2:依据缓存的图像数据处理像素点,计算当前像素点与其相邻的像素点的差值;

步骤3:根据当前像素点与相邻像素点的差值计算差值的平均值,求得变换值;

步骤4:判断变化值是否大于阈值,若是,则当前像素点是图像边缘点,否则,则不是图像边缘点。

所述相邻的像素点包括当前像素点左侧的像素点以及上方的像素点。

所述当前像素点与相邻像素点的差值计算,具体为:假设当前处理像素点的坐标为(x,y),求取左侧像素点的值p(x-1,y)以及上方像素点的值p(x,y-1)与当前像素点值p(x,y)之间的差值,其中,当前点与上方像素点的差值记为du(x,y),当前点与左侧像素点的差值记为dl(x,y),

其运算算式为:du(x,y)=p(x,y)-p(x,y-1);

dl(x,y)=p(x,y)-p(x-1,y)。

所述变化值的计算,具体为:求解两个差值的平均值,记为变换值da(x,y),并对其进行缓存,其运算算式为:da(x,y)=(du(x,y)+dl(x,y))/2。

所述阈值的计算,具体为:更新求解当前的判断阈值th,为求取目前缓存中所有da(x,y)的平均值,其运算算式为:avg为求平均值操作。

所述对图像数据进行缓存操作,具体为,读取图像数据时以当前读取点为开始,缓存后四行图像数据,所述读取图像数据之前,对图像数据进行滤波处理,采用高斯滤波进行处理。

实施例五:一种可用于高速图像的边缘检测方法,包括以下具体步骤:

步骤1:读取图像数据,并对图像数据进行缓存;

步骤2:依据缓存的图像数据处理像素点,计算当前像素点与其相邻的像素点的差值;

步骤3:根据当前像素点与相邻像素点的差值计算差值的平均值,求得变换值;

步骤4:判断变化值是否大于阈值,若是,则当前像素点是图像边缘点,否则,则不是图像边缘点。

所述相邻的像素点包括当前像素点左侧的像素点以及上方的像素点。

所述当前像素点与相邻像素点的差值计算,具体为:假设当前处理像素点的坐标为(x,y),求取左侧像素点的值p(x-1,y)以及上方像素点的值p(x,y-1)与当前像素点值p(x,y)之间的差值,其中,当前点与上方像素点的差值记为du(x,y),当前点与左侧像素点的差值记为dl(x,y),

其运算算式为:du(x,y)=p(x,y)-p(x,y-1);

dl(x,y)=p(x,y)-p(x-1,y)。

所述变化值的计算,具体为:求解两个差值的平均值,记为变换值da(x,y),并对其进行缓存,其运算算式为:da(x,y)=(du(x,y)+dl(x,y))/2。

所述阈值的计算,具体为:更新求解当前的判断阈值th,为求取目前缓存中所有da(x,y)的平均值,其运算算式为:avg为求平均值操作。

所述对图像数据进行缓存操作,具体为,读取图像数据时以当前读取点为开始,缓存后四行图像数据,所述读取图像数据之前,对图像数据进行滤波处理,采用高斯滤波进行处理,高斯滤波采用可分离滤波器进行加速滤波处理。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1