一种基于色块点特征的图像边缘提取方法技术领域
本发明涉及一种基于色块点特征的图像边缘提取方法,属于图像边缘提取的技术
领域。
背景技术
图像边缘是图像识别和图像分析的重要部分,图像中各种部分的边缘信息往往是
模式识别的重要特征。当对一个具体对象进行识别时,一般从边缘特征入手,相对于目标的
内部纹理和色彩信息,边缘特征能更好地反应物体的形状特征。
基于微分算子的图像边缘检测方法是现有技术中一种较为常用的边缘检测算法,
即使用滤波器模版,对图像进行加权计算。而目前常见的方法存在多种,如Sobel算子、
Canny算子、Prewitt算子,但是传统的微分算子方法往往具有灵活性差、平滑度不好、对噪
声敏感等缺点。
因此,现有的图像边缘提取方法提取出的边缘的连续性边缘不够完整,而且提取
灵活性差,且提取过程复杂,无法实现高效地快速提取过程。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足,提供一种基于色块点特征
的图像边缘提取方法,解决现有的图像边缘提取方法灵活性差、提取出的边缘的连续性边
缘不够完整,无法实现高效地快速提取过程的问题。
本发明具体采用以下技术方案解决上述技术问题:
一种基于色块点特征的图像边缘提取方法,包括以下步骤:
S1、对彩色图像进行预处理,转换和存储为灰度图像;
S2、设定像素点的像素阈值;
S3、利用设置的滑动窗口对灰度图像逐像素进行遍历;
S4、根据设定像素点的像素阈值对所在滑动窗口中的像素点进行条件判断,找到和标
记所有色块内点;
S5、利用滑动窗口对灰度图像的像素点再次遍历,若当前滑动窗口的中心点是色块内
点,则判断该色块内点所在邻域范围内的像素点是否被标记,并将未被标记的像素点标记
为色块边点;
S6、利用滑动窗口对灰度图像的像素点再次遍历,若当前滑动窗口的中心点是色块边
点,则判断该色块边点所在邻域范围内的像素点是否被标记,并将未被标记的像素点标记
为边界边点;
S7、将灰度图像中所有剩余未标记的像素点,标记为边界内点;
S8、将灰度图像内所有的边界边点或色块边点所形成的色块作为图像边缘提取出来。
进一步地,作为本发明的一种优选技术方案:所述步骤S3中,利用滑动窗口对灰度
图像除边缘所在行列以外的像素点进行逐个遍历。
进一步地,作为本发明的一种优选技术方案:所述步骤S4中对遍历所在滑动窗口
中的像素点进行条件判断,具体为:
遍历所在滑动窗口中的像素点,获取窗口中像素点的最大和最小像素值;
当像素点的最大和最小像素值的差小于设定像素点的像素阈值时,将所在滑动窗口的
中心点判断和标记为色块内点。
进一步地,作为本发明的一种优选技术方案:所述步骤S4还包括判断以色块内点
为中心点的邻域范围内色块内点数量,确定该色块内点是否为干扰点和置为未标记状态。
进一步地,作为本发明的一种优选技术方案:所述步骤S4中,当判断色块内点为中
心点的邻域范围内色块内点数量小于4个时,则确定该色块内点为干扰点和置为未标记状
态。
进一步地,作为本发明的一种优选技术方案:所述步骤S5还包括当以色块边点为
中心点的邻域范围内不存在未标记的像素点时,将该色块边点修正为色块内点。
进一步地,作为本发明的一种优选技术方案:所述步骤S5中邻域范围采用八邻域
范围。
进一步地,作为本发明的一种优选技术方案:所述步骤S3中采用滑动窗口的尺寸
为3*3像素。
本发明采用上述技术方案,能产生如下技术效果:
本发明的方法将图像中的每个像素点进行分类,将图像中的所有像素分成四种像素
点,分别为色块内点、色块边点、边界内点和边界边点,这种分类方式在本发明中成为色块
点特征。根据色块点特征将图像中的所有像素点分类完之后,同种像素点的集合称之为图
像中的一个色块,色块呈现为环形,不同色块之间没有交叉的像素点,最后根据分类好的色
块,提取出图像的边缘。
本发明的方法主要创新之处在于创造性地提出了色块点集特征,并且将这种特征
用于图像的边缘提取。算法的主要优点是效率高、简单易于实现,相对于传统的微分算法,
该算法的阈值控制更加灵活,可以根据实际应用场景,随时调整,适合应用于如无人驾驶汽
车场景下的车辆检测等应用场景,由于算法简单高效,也非常适合于没有复杂的软件系统
支持的嵌入式系统中使用。
附图说明
图1示出了本发明基于色块点集特征的图像边缘提取方法的流程示意图。
图2示出了本发明中步骤S4进行条件判读的流程示意图。
图3示出了本发明步骤S4中判断以色块内点为中心点的邻域范围内色块内点数量
的流程示意图。
图4示出了本发明方的图像边缘提取效果图,其中A代表色块内点,B代表色块边
点,C代表边界边点,D代表边界内点。
具体实施方式
下面结合说明书附图对本发明的实施方式进行描述。
如图1所示,本发明设计了一种基于色块点集特征的图像边缘提取方法,该方法基
于4个色块点集特征实现图像边缘提取,方法具体包括以下步骤:
S1、对彩色图像Img1进行预处理,转换和存储为灰度图像Img2。具体实现使用已用的灰
度图转化函数,将三通道的彩色图像转化为单通道的灰度图像。
S2、根据具体需求,设定像素点的像素阈值T。具体实现时根据需要调整阈值T,T越
大表明边缘的对比度越高,T越小表明对边缘的细节要求更高。
S3、利用设置的滑动窗口对灰度图像逐像素进行遍历;本发明的实施例优选采用
滑动窗口的尺寸为3*3像素,使得滑动窗口可以具备一个中心点和八邻域范围,但本发明不
限于该种方式。进一步地,该过程在遍历中利用滑动窗口对灰度图像除边缘所在行列以外
的像素点进行逐个遍历。
以使用3*3的滑动窗口为例,对灰度图像Img2从第二行第二列像素开始,至倒数第
二行倒数第二列为止,逐像素进行遍历。
S4、根据设定像素点的像素阈值T,对遍历所在3*3的滑动窗口中的像素点进行条
件判断,找到和标记所有色块内点A。如图2所示,其过程具体如下:
S4-1、对遍历所在3*3的滑动窗口中的像素点,获取窗口中像素点的最大像素值Max和
像素点的最小像素值Min。
S4-2、根据像素点的最大像素值和最小像素值的差(Max-Min)与设定像素点的像
素阈值T的大小,判断像素点是否为色块内点A。即如果(Max-Min)小于阈值T,转步骤S4-3,
否则转步骤S4-4。
S4-3、当像素点的最大像素值和最小像素值的差(Max-Min)小于设定像素点的像
素阈值T时,判断和标记该滑动窗口的中心点P为色块内点A。
S4-4、结束。
在该步骤中,优选地,还包括去除色块内点噪声,即判断以色块内点为中心点的邻
域范围内色块内点数量,确定该色块内点是否为干扰点和置为未标记状态。本实施例中,进
一步限定邻域范围内色块内点数量为四个,但不限于该数量;其过程如图3所示,若某个像
素点是色块内点A,且在该点的八邻域范围内存在的色块内点数少于四个,则确定该色块内
点为干扰点,置为未标记状态。否则遍历结束,重新判断下一个像素点为窗口的中心点,重
复判断过程,直至结束。
S5、利用3*3的滑动窗口对灰度图像Img2的像素点再次逐个遍历,若当前滑动窗口
的中心点是色块内点A,判断该色块内点所在八邻域范围内的像素点是否被标记,若八邻域
范围内存在未被标记的像素点,并将未被标记的像素点标记为色块边点B。
进一步地,该步骤中还优选去除色块边点噪声,即步骤S5还包括若某个像素点是
色块边点B,以色该块边点B为中心点的邻域范围内不存在未标记的像素点时,将该色块边
点B修正为色块内点A。
S6、利用3*3的滑动窗口对灰度图像的像素点再次逐个遍历,若当前滑动窗口的中
心点是色块边点B,判断该色块边点B所在邻域范围内的像素点是否被标记,若它的八邻域
范围内存在未被标记的像素点,并将未被标记的像素点标记为边界边点C;
S7、对灰度图像Img2进行逐像素点遍历,将灰度图像Img2中所有剩余未标记的像素点,
标记为边界内点D;
S8、 将灰度图像Img2中的所有像素分成四种像素点,其示意图如图4所示,分别为色块
内点A、色块边点B、边界内点C和边界边点D,成为色块点特征,根据色块点分类结果,将所有
的边界边点C认为是图像的边缘像素点,即图像的边缘部分,可将其作为边缘提取从灰度图
像Img2中提取出来。本方法中,将边界内点所形成的色块视作图像的边缘,所以只需将所有
的边界内点标记出来,即可呈现出图像的边缘。但是在具体的应用场景下,本方法还可以使
用色块边点组成的色块作为图像的边缘。
综上,本发明的方法将图像中的每个像素点进行分类,将图像中的所有像素分成
四种像素点,分别为色块内点A、色块边点B、边界内点C和边界边点D,这种分类方式在本发
明中成为色块点特征。根据色块点特征将图像中的所有像素点分类完之后,同种像素点的
集合称之为图像中的一个色块,色块呈现为环形,不同色块之间没有交叉的像素点,最后根
据分类好的色块,提取出图像的边缘。本发明的方法提取出的边缘完整的连续性边缘,而且
相对于传统的微分算法,该算法的阈值控制更加灵活,且简单高效,也非常适合于没有复杂
的软件系统支持的嵌入式系统中使用。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施
方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下
做出各种变化。