发明内容
有鉴于此,本发明提供了一种图像边缘检测方法及装置,包括提取彩色图像的三个色度分量图像,对其进行滤波;对经过滤波后的三个色度分量图像分别求取均方根值,并进行归一化处理,分别得到对应于三个色度分量图像的第一梯度值图像;选取三个第一梯度值图像中每个像素的三个色度分量对应的梯度中的最大值,作为对应于原始图像的第二梯度值图像;根据第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值;将梯度值低于非边缘像素最大梯度值的像素置为零,剩余的像素为图像边缘像素。该方法与现有技术相比,具有图像信息利用率高、检测过程简单、输出边缘信息丰富等优点。
为实现上述目的,本发明提供如下技术方案:
一种图像边缘检测方法,所述方法包括:
获得原始图像的三个色度分量图像,对所述三个色度分量图像进行高斯滤波及一阶差分滤波;
对进行过所述高斯滤波及一阶差分滤波后的所述三个色度分量图像分别求取均方根值,并进行归一化处理,分别得到对应于所述三个色度分量图像的第一梯度值图像;
提取每个所述第一梯度值图像中的各个像素关于所述三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像;
根据所述第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值;
将梯度值低于所述非边缘像素最大梯度值的像素置为零,剩余的像素即为图像边缘像素。
优选地,上述的图像边缘检测方法中,所述获得原始图像的三个色度分量图像,对所述三个色度分量的图像进行高斯滤波及一阶差分滤波,包括:
获得所述原始图像的红、绿、蓝三个色度分量的图像,对所述三个色度分量图像进行高斯滤波;
对进行过所述高斯滤波后的所述三个色度分量图像分别进行水平方向及竖直方向的一阶差分滤波。
选红、绿、蓝三个色度分量进行滤波,红、绿、蓝为彩色图像三基色,具有代表性。分别获取原始图像关于红、绿、蓝三个色度分量图像,并分别对上述三个色度分量图像先进行高斯滤波,再对高斯滤波后的图像进行水平方向及竖直方向的一阶差分滤波。
优选地,上述的图像边缘检测方法中,所述获得所述原始图像的红、绿、蓝三个色度分量图像,对所述三个色度分量的图像进行高斯滤波,包括:
所述原始图像的红、绿、蓝三个色度分量图像用{fi(x,y)|i=1,2,3}表示,i=1,2,3中的1、2、3分别表示所述红、绿、蓝三种颜色;
选取二维高斯函数G(x,y)对所述三个色度分量图像进行高斯滤波,高斯滤波后的图像用h(x,y)表示,所述高斯滤波后的三个色度分量图像表示为hi(x,y)=G(x,y)*fi(x,y),i=1,2,3。
用表达式表示出高斯滤波以及水平方向及竖直方向的一阶差分滤波,更直观。
优选地,上述的图像边缘检测方法中,所述二维高斯函数G(x,y)具体为 其中,σ=1.4。
给定高斯函数的具体表达式,提供滤波过程的可行性。
优选地,上述的图像边缘检测方法中,与所述二维高斯函数G(x,y)对应的高斯滤波器模板为以当前像素为中心,上下左右各取四个像素的高斯滤波器模板。
高斯滤波器模板为以当前像素为中心,上下左右各取四个像素的高斯滤波器模板,即(9×9)的高斯滤波器模板。
优选地,上述的图像边缘检测方法中,所述对进行过所述高斯滤波后的所述三个色度分量图像分别进行水平方向及竖直方向的一阶差分滤波,包括:
获取所述二维高斯函数G(x,y)在x方向的一阶方向导数以及在y方向的一阶方向导数,分别作为水平方向和竖直方向的滤波函数;
运用水平方向滤波函数对进行过所述高斯滤波后的所述三个色度分量图像进行水平方向的一阶差分滤波;
运用竖直方向滤波函数对进行过所述高斯滤波后的所述三个色度分量图像进行竖直方向的一阶差分滤波。
给出对三个色度分量图像进行水平方向和竖直方向进行一阶差分滤波的具体方式,该具体方式为优选方式,能够较好的进行图像边缘的检测。
优选地,上述的图像边缘检测方法中,所述对进行过所述高斯滤波及一阶差分滤波后的所述三个色度分量图像分别求取均方根值,并进行归一化处理,分别得到对应于所述三个色度分量图像的第一梯度值图像,包括:
计算进行过所述高斯滤波后及所述三个色度分量图像的水平方向和竖直方向的一阶差分滤波后的图像的均方根值;
对获取所述的均方根值图像进行归一化处理,分别形成对应于三个色度分量图像的三个第一梯度值图像。
得到关于红、绿、蓝三个色度分量的第一梯度值图像,信息层次比较丰富,能够在后期更好的进行图像边缘检测。
优选地,上述的图像边缘检测方法中,所述确定对应于单门限阈值的非边缘像素最大梯度值,包括:
根据公式确定非边缘像素最大梯度值Zmax。其中,N表示将[0,1]这个图像梯度值区间等间隔划分为N个子区间,Δ=1/N是每个区间的长度,q(i*Δ)表示梯度值落在第i个子区间的总像素数,2≤L<N,M为门限阈值,计算时取Zmax≥M,L是使Z满足大于或等于M时所对应的最小数值。
给出关于确定非边缘像素最大梯度值的具体公式,通过梯度值分布直方图以及上述公式便可以得出非边缘像素最大梯度值,以便进行后续的步骤。
优选地,上述的图像边缘检测方法中,门限阈值的取值范围是0.30~0.65。
门限阈值取值范围在0.30~0.65时能够较好的匹配各种场景的图像,进行图像边缘检测。
本发明还提供了一种图像边缘检测装置,采用上述的图像边缘检测方法,所述装置包括:滤波模块、归一化处理模块、梯度值提取模块、直方图构建模块和比较运算模块;
所述滤波模块用于获得原始图像的三个色度分量图像,对所述三个色度分量图像进行高斯滤波及一阶差分滤波;
所述归一化处理模块用于对进行过所述高斯滤波及一阶差分滤波后的所述三个色度分量图像分别求取均方根值,并进行归一化处理,分别得到对应于所述三个色度分量图像的第一梯度值图像;
所述梯度值提取模块用于提取每个所述第一梯度值图像中的各个像素关于所述三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像;
所述直方图构建模块用于根据所述第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值;
所述比较运算模块用于将低于所述非边缘像素最大梯度值的梯度值像素置为零,剩余的像素即为图像边缘像素。
本发明提供了一种图像边缘检测方法及装置,包括提取彩色图像的三个色度分量图像,对其进行滤波。对进行过滤波后的三个色度分量图像分别求取均方根值,并进行归一化处理,分别得到对应于三个色度分量图像的第一梯度值图像。选取三个第一梯度值图像中每个像素的三个色度分量对应的梯度中的最大值,作为对应于原始图像的第二梯度值图像。根据第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值。将梯度值低于非边缘像素最大梯度值的像素置为零,剩余的像素为图像边缘像素。该方法与现有技术相比,具有图像信息利用率高、检测过程简单、输出边缘信息丰富等优点。
具体实施方式
研究者经过长期的研究和大量的实验,提供了一种图像边缘检测方法,对原始图像进行关于红、绿、蓝三个色度分量的滤波,求取均方根值并进行归一化处理后得到对应于三个色度分量的第一梯度值图像,提取第一梯度值图像各个像素关于三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像。根据第二梯度值图像构建梯度值分布直方图,并计算对应于单门限阈值的非边缘像素最大梯度值,将梯度值低于非边缘像素最大梯度值的像素置为零,剩余的像素即图像边缘像素。该方法与现有技术相比,具有图像信息利用率高、检测过程简单、输出边缘信息丰富等优点。
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1示出了本发明提供的一种图像边缘检测方法。所述图像边缘检测方法可以包括以下步骤S101至S105。
步骤S101,获得原始图像的三个色度分量图像,对所述三个色度分量图像进行高斯滤波及一阶差分滤波。
获取原始图像的三个色度分量的图像,具体可以获取原始图像的关于红、绿、蓝的三个色度分量的图像,并对上述三个素的分量的图像进行高斯滤波。
所述原始图像的红、绿、蓝三个色度分量图像可以用{fi(x,y)|i=1,2,3}表示,i=1,2,3中的1、2、3分别表示所述红、绿、蓝三种颜色。可以选取二维高斯函数G(x,y)对所述三个色度分量的图像进行高斯滤波,所述二维高斯函数G(x,y)具体可以为 其中,σ=1.4。
高斯滤波后的图像可以用h(x,y)表示。故所述高斯滤波后的三个色度分量的图像可以表示为hi(x,y)=G(x,y)*fi(x,y),i=1,2,3。
高斯滤波器模板具体可以选择与所述二维高斯函数G(x,y)对应的以当前像素为中心,上下左右各取四个像素的高斯滤波器模板。即(9×9)的高斯滤波器模板。
所述对进行过所述高斯滤波后的所述三个色度分量图像分别进行水平方向及竖直方向的一阶差分滤波,包括:
获取所述二维高斯函数G(x,y)在x、y方向的一阶方向导数:
对进行过所述高斯滤波后的所述三个色度分量图像进行水平方向的一阶差分滤波,表达式是
对进行过所述高斯滤波后的所述三个色度分量图像进行竖直方向的一阶差分滤波,表达式是
上述公式中,*表示卷积滤波。
步骤S102,对进行过所述高斯滤波及一阶差分滤波后的所述三个色度分量图像分别求取均方根值,并进行归一化处理,分别得到对应于所述三个色度分量图像的第一梯度值图像。
计算进行过所述高斯滤波后的所述三个色度分量图像的水平方向和竖直方向的一阶差分滤波后各个像素的均方根值,即计算hi(x,y)*Gx及hi(x,y)*Gy的均方根值。
对获取所述的均方根值图像进行归一化处理,分别形成对应于三个色度分量图像的三个第一梯度值图像,即所述第一梯度值图像是分别关于红、绿、蓝三个色度分量的图像。
步骤S103,提取每个所述第一梯度值图像中的各个像素关于所述三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像。
三个所述第一梯度值图像中的各个像素关于红、绿、蓝三个色度分量的最大梯度值被提取出来,作为对应于原始图像的所述第二梯度值图像。所述第二梯度值图像在数量上只有一个。
步骤S104,根据所述第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值。
具体可以设梯度值分布直方图曲线用q(t)表示,其中,t为梯度值的绝对值的大小,并且{0≤t≤1}。计算时,可以将t划分为32~256个等间隔区间。所述等间隔区间的个数与原始图像的分辨率相关。若原始图像的分辨率高,则可以划分较多数量的等间隔区间;若原始图像的分辨率低,则可以划分较少数量的等间隔区间。q(t)为每个区间的梯度值像素的累计数。
门限阈值的取值范围具体是0.30~0.65,非边缘像素最大梯度值的计算方法是:假定门限阈值为M,非边缘像素最大梯度值为Zmax。将t划分为N个等分间隔,定义Δ=1/N,并用(i*Δ)替换t,则q(i*Δ)表示像素值落入第i区间像素总数,则有:
其中Zmax≥M,2≤L<N,即L是使Z满足大于或等于M时所对应的最小数值。
步骤S105,将梯度值低于所述非边缘像素最大梯度值的像素置为零,剩余的像素即为图像边缘像素。
梯度值低于所述非边缘像素最大梯度值Zmax的像素将被置为零,剩余的像素则为图像边缘像素。
请参见图2,图2示出了本发明提供的一种图像边缘检测方法。所述图像边缘检测方法可以包括以下步骤S201至S207。
步骤S201,获得所述原始图像的红、绿、蓝三个色度分量图像,对所述三个色度分量图像进行高斯滤波。
步骤S202,对进行过所述高斯滤波后的所述三个色度分量图像分别进行水平方向及竖直方向的一阶差分滤波。
步骤S203,计算进行过所述高斯滤波后的所述三个色度分量图像分别进行水平方向和竖直方向一阶差分滤波后的各个像素的均方根值。
步骤S204,对获取所述均方根值图像进行归一化处理,分别形成对应于三个色度分量图像的三个第一梯度值图像。
步骤S205,提取每个所述第一梯度值图像中的各个像素关于所述三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像。
步骤S206,根据所述第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值。
步骤S207,将梯度值低于所述非边缘像素最大梯度值的像素置为零,剩余的像素即为图像边缘像素。
步骤S201至S207的具体实现过程与图1示出的第一实施例相似,在这里不做赘述。
图3示出了本发明一个实施例提供的图像边缘检测装置。所述装置包括:滤波模块110、归一化处理模块120、梯度值提取模块130、直方图构建模块140和比较运算模块150;
所述滤波模块110用于获得原始图像的三个色度分量图像,对所述三个色度分量的图像进行高斯滤波以及一阶差分滤波;
所述归一化处理模块120用于对进行过所述高斯滤波以及一阶差分滤波后的所述三个色度分量的图像分别求取均方根值,并进行归一化处理,分别得到所述三个色度分量的图像的第一梯度值图像;
所述梯度值提取模块130用于提取每个所述第一梯度值图像中的各个像素关于所述三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像;
所述直方图构建模块140用于根据所述第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值;
所述比较运算模块150用于将低于所述非边缘像素最大梯度值的梯度值像素置为零,剩余的像素即为图像边缘像素。
图4示出了本发明提供的图像边缘检测装置的另一个实施例。所述装置包括:高斯滤波模块210、一阶差分滤波模块220、求取均方根值模块230、归一化模块240、最大梯度值提取模块250、梯度值分布直方图构建模块260和像素比较运算模块270。
高斯滤波模块210用于获得所述原始图像的红、绿、蓝三个色度分量图像,对所述三个色度分量图像进行高斯滤波。
一阶差分滤波模块220用于对进行过所述高斯滤波后的所述三个色度分量图像分别进行水平方向及竖直方向的一阶差分滤波。
求取均方根值模块230用于计算进行过所述高斯滤波后的所述三个色度分量图像分别进行水平和竖直方向的一阶差分滤波后各个像素的均方根值。
归一化模块240用于对获取的所述均方根值图像进行归一化处理,分别形成对应于三个色度分量图像的三个第一梯度值图像。
最大梯度值提取模块250用于提取每个所述第一梯度值图像中的各个像素关于所述三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像。
梯度值分布直方图构建模块260用于根据所述第二梯度值图像构建梯度值分布直方图,确定对应于单门限阈值的非边缘像素最大梯度值。
像素比较运算模块270用于将梯度值低于所述非边缘像素最大梯度值的像素置为零,剩余的像素即为图像边缘像素。
本发明提供了一种图像边缘检测方法及装置,对原始图像进行关于红、绿、蓝三个色度分量的滤波;求取滤波的各个像素的均方根值,并进行归一化处理后得到三个色度分量的第一梯度值图像。提取第一梯度值图像各个像素关于三个色度分量的最大梯度值,作为对应于原始图像的第二梯度值图像。根据第二梯度值图像构建梯度值分布直方图,并计算对应于单门限阈值的非边缘像素最大梯度值。将梯度值低于非边缘像素最大梯度值的像素置为零,剩余的像素即图像边缘像素。该方法与现有技术相比,具有图像信息利用率高、检测过程简单、输出边缘信息丰富等优点。
参阅图5,本发明实施例提供的一种计算机600,包括:处理器500,存储器501,总线502和通信接口503,所述处理器500、通信接口503和存储器501通过总线502连接;处理器500用于执行存储器501中存储的可执行模块,例如计算机程序。本发明实施例中的图像边缘检测装置中的模块可储存于所述存储器501。
其中,存储器501可能包含高速随机存取存储器(RAM:RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口503(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线502可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器501用于存储程序和各种数据,所述处理器500在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的装置所执行的方法可以应用于处理器500中,或者由处理器500实现。
处理器500可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器500中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器500可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称数据请求端)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器501,处理器500读取存储器501中的信息,结合其硬件完成上述方法的步骤。
为使本发明实施例的目的、技术方案和优点更加清楚,上面结合本发明实施例中的附图,对本发明实施例中的技术方案进行了清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以上对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。