一种基于八方向分数阶微分算子的边缘检测方法
技术领域
本发明属于图像处理技术领域,具体涉及一种基于八方向分数阶微分算子的边缘检测方法。
背景技术
边缘检测因其在图像处理中的重要地位,被广泛应用于工业生产、民用生活和国防军事等领域中。目前的边缘检测方法主要有Sobel算子、Prewitt算子、Laplace算子、Log算子、Canny算子等方法,这些方法虽然结构简单、运算速度快,便于实现,但在检测结果中仍存在边缘检测不全面,出现孤立点、断裂边缘、双边缘等问题。因此,当对检测精度要求高的时候,这些方法就不能满足需求。近年来,基于分数阶微分算子的图像边缘检测因其检测精度高,应用范围广等优点,受到了广泛关注。所以,提出一种基于分数阶微分算子的边缘检测方法以满足高精度的检测需求,就显得极为重要了。
发明内容
本发明的目的是提供一种基于八方向分数阶微分算子的边缘检测方法,解决了现有边缘检测技术中存在的边缘检测不全面、出现孤立点、断裂边缘、双边缘的问题。
本发明所采用的技术方案是,一种基于八方向分数阶微分算子的边缘检测方法,具体按照以下步骤实施:
步骤1、选取待检测图像I,待检测图像I大小为M×N,M和N均为大于5的正整数;
步骤2、在八方向整数阶算子基础上,推导出八方向分数阶微分算子;
步骤3、将步骤2得到的八方向分数阶微分算子应用于图像的边缘检测过程中,得到最优分数阶阶次,进而得到最优分数阶微分算子;
步骤4、利用八方向分数阶模板对图像I进行边缘检测。
本发明的特点还在于,
步骤2中八方向整数阶算子中8个方向分别为0°、22.5°、45°、67.5°、90°、112.5°、135°和157.5°,八方向整数阶算子分别如下:
步骤2具体按照以下步骤实施:
步骤2.1、设图像中第i行,第j列像素的灰度函数为F(i,j),取F(i,j)的5×5像素邻域,i为小于M的正整数,j为小于N的正整数;
步骤2.2、对于八方向整数阶的45°方向模板D45°,利用45°斜边算子D45°对图像进行卷积运算,得到F(i,j)的梯度差分表达式如下:
J45°(i,j)=6F(i-2,j+2)-6F(i+2,j-2)+4F(i-1,j+2)-4F(i+1,j-2)+F(i,j+2)-F(i,j-2)+2F(i+1,j+2)-2F(i-1,j-2)+4F(i-2,j+1)-4F(i+2,j-1)+12F(i-1,j+1)-12F(i+1,j-1)+8F(i,j+1)-8F(i,j-1)
(9);
步骤2.3、根据微分算子定义,得45°方向上每个像素的微分表达式为
步骤2.3、将式(10)~式(19)代入式(9)中,得到图像45°方向上的梯度J45°(i,j)的微分形式为:
步骤2.4、根据分数阶微分的定义,将整数阶微分推广到分数阶微分,其中v为分数阶阶数,图像45°方向上的梯度J45°(i,j)推广到分数阶微分形式表达式如下:
步骤2.5、对单变量函数的分数阶微分形式进行差分近似,取前三项作为差分近似表达式:
步骤2.6、将式(22)~式(29)带入到式(21),经化简,得到45°方向分数阶微分算子模板V45°如下:
步骤2.7、同理得到其它方向的分数阶微分模板如下:
0°方向分数阶微分算子模板V0°如下:
22.5°方向分数阶微分算子模板V22.5°如下:
67.5°方向分数阶微分算子模板V67.5°如下:
90°方向分数阶微分算子模板V90°如下:
112.5°方向分数阶微分算子模板V112.5°如下:
135°方向分数阶微分算子模板V135°如下:
157.5°方向分数阶微分算子模板V157.5°如下:
步骤3具体按照以下步骤实施:
步骤3.1、用步骤2得到的八方向分数阶微分算子,对图像I进行八个方向的卷积运算,得到图像I中每个像素点的八方向总梯度G(i,j):
式中,d0(i,j)、d22.5(i,j)、d45(i,j)、d67.5(i,j)、d90(i,j)、d112.5(i,j)、d135(i,j)、d157.5(i,j)分别代表0°,22.5°,45°,67.5°,90°,112.5°,135°,157.5°八个方向的梯度;
八方向总梯度方向θ(i,j)为:
其中,
其中,θ1(i,j),θ2(i,j),θ3(i,j),θ4(i,j)分别为各像素点上的梯度方向;
步骤3.2、定义分数阶阶次v值为[0,2]之间以0.1为步长的小数,然后将分数阶阶次v带入式(31)-式(37)中,得到图像中每个像素的梯度,然后再对梯度进行二值化,得到图像的边缘信息;
步骤3.3、遍历每个像素边缘点,搜索每一个像素点相邻的像素,如果与该像素点相邻的像素点个数小于等于2,则定义该像素为单像素,统计整幅图像单像素的个数,定义为S(v),由此,根据不同的分数阶阶次v得到与其对应的图像单像素的个数S(v);
步骤3.4、利用拉格朗日插值法,得到S(v)与v的关系表达式,搜索S(v)取最大值时对应的最优分数阶阶次vbest,将最优分数阶阶次vbest带入式(31)~式(37)的模板中,得到最优分数阶微分算子。
步骤4具体按照以下步骤实施:
步骤4.1、使用高斯滤波器对图像I进行平滑滤波,得到图像L;
步骤4.2、由步骤3得到的最优八方向分数阶微分算子对图像L进行卷积,然后根据式(38)和式(43)计算图像梯度大小G和梯度方向θ;
步骤4.3、对梯度图像进行非极大值抑制,保留局部最大的梯度值,经过非极大值抑制后得到图像F1;
步骤4.4、对图像F1进行双阈值运算,经过双阈值运算后得到图像F2;
其中,图像F2中像素值为1的点即为所求图像I的边缘点,由这些边缘点所构成的图像就是基于八方向分数阶微分算子所得的图像边缘。
本发明的有益效果是,一种基于八方向分数阶微分算子的边缘检测方法,针对传统边缘检测方法在检测边缘过程中漏检现象及双边现象,在整数阶微分算子的基础上,推导出了基于八方向分数阶微分的边缘检测模板,并结合传统Sobel算子和Canny算子,对图片进行边缘检测分析,检测结果精度高、漏检率低、速度快,具有较强的实用性和可行性。
附图说明
图1为本发明提出的一种基于八方向分数阶微分的边缘检测算法流程图;
图2为本发明所选用的待检测图片;
图3为改进的Sobel算子方向示意图;
图4为本发明的检测结果。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于八方向分数阶微分算子的边缘检测方法,流程图如图1所示,具体按照以下步骤实施:
步骤1、选取待检测图像I,待检测图像I大小为M×N,M和N均为大于5的正整数;
步骤2、在八方向整数阶算子基础上,推导出八方向分数阶微分算子的;
其中八方向整数阶算子中8个方向分别为0°、22.5°、45°、67.5°、90°、112.5°、135°和157.5°,八方向整数阶算子分别如下:
步骤2具体按照以下步骤实施:
步骤2.1、设图像中第i行,第j列像素的灰度函数为F(i,j),取F(i,j)的5×5像素邻域,i为小于M的正整数,j为小于N的正整数;
步骤2.2、对于八方向整数阶的45°方向模板D45°,利用45°斜边算子D45°对图像进行卷积运算,得到F(i,j)的梯度差分表达式如下:
J45°(i,j)=6F(i-2,j+2)-6F(i+2,j-2)+4F(i-1,j+2)-4F(i+1,j-2)+F(i,j+2)-F(i,j-2)+2F(i+1,j+2)-2F(i-1,j-2)+4F(i-2,j+1)-4F(i+2,j-1)+12F(i-1,j+1)-12F(i+1,j-1)+8F(i,j+1)-8F(i,j-1)
(9);
步骤2.3、根据微分算子定义,得45°方向上每个像素的微分表达式为
步骤2.3、将式(10)~式(19)代入式(9)中,得到图像45°方向上的梯度J45°(i,j)的微分形式为:
步骤2.4、根据分数阶微分的定义,将整数阶微分推广到分数阶微分,其中v为分数阶阶数,图像45°方向上的梯度J45°(i,j)推广到分数阶微分形式表达式如下:
步骤2.5、对单变量函数的分数阶微分形式进行差分近似,取前三项作为差分近似表达式:
步骤2.6、将式(22)~式(29)带入到式(21),经化简,得到45°方向分数阶微分算子模板V45°如下:
步骤2.7、同理得到其它方向的分数阶微分模板如下:0°方向分数阶微分算子模板V0°如下:
22.5°方向分数阶微分算子模板V22.5°如下:
67.5°方向分数阶微分算子模板V67.5°如下:
90°方向分数阶微分算子模板V90°如下:
112.5°方向分数阶微分算子模板V112.5°如下:
135°方向分数阶微分算子模板V135°如下:
157.5°方向分数阶微分算子模板V157.5°如下:
步骤3、将步骤2得到的八方向分数阶微分算子应用于图像的边缘检测过程中,得到最优分数阶阶次,进而得到最优分数阶微分算子,具体按照以下步骤实施:
步骤3.1、用步骤2得到的八方向分数阶微分算子,对图像I进行八个方向的卷积运算,得到图像I中每个像素点的八方向总梯度G(i,j):
式中,d0(i,j)、d22.5(i,j)、d45(i,j)、d67.5(i,j)、d90(i,j)、d112.5(i,j)、d135(i,j)、d157.5(i,j)分别代表0°,22.5°,45°,67.5°,90°,112.5°,135°,157.5°八个方向的梯度;
八方向总梯度方向θ(i,j)为:
其中,
其中,θ1(i,j),θ2(i,j),θ3(i,j),θ4(i,j)分别为各像素点上的梯度方向;
步骤3.2、定义分数阶阶次v值为[0,2]之间以0.1为步长的小数,然后将分数阶阶次v带入式(31)-式(37)中,得到图像中每个像素的梯度,然后再对梯度进行二值化,得到图像的边缘信息;
步骤3.3、遍历每个像素边缘点,搜索每一个像素点相邻的像素,如果与该像素点相邻的像素点个数小于等于2,则定义该像素为单像素,统计整幅图像单像素的个数,定义为S(v),由此,根据不同的分数阶阶次v得到与其对应的图像单像素的个数S(v);
步骤3.4、利用拉格朗日插值法,得到S(v)与v的关系表达式,搜索S(v)取最大值时对应的最优分数阶阶次vbest,将最优分数阶阶次vbest带入式(31)~式(37)的模板中,得到最优分数阶微分算子。
步骤4、利用八方向分数阶模板对图像I进行边缘检测,具体按照以下步骤实施:
步骤4.1、使用高斯滤波器对图像I进行平滑滤波,得到图像L;
步骤4.2、由步骤3得到的最优八方向分数阶微分算子对图像L进行卷积,然后根据式(38)和式(43)计算图像梯度大小G和梯度方向θ;
步骤4.3、对梯度图像进行非极大值抑制,保留局部最大的梯度值,经过非极大值抑制后得到图像F1;
步骤4.4、对图像F1进行双阈值运算,经过双阈值运算后得到图像F2;
其中,图像F2中像素值为1的点即为所求图像I的边缘点,由这些边缘点所构成的图像就是基于八方向分数阶微分算子所得的图像边缘。
为证明本方法的有效性和优越性,本发明以图2为例,对本发明方法有效性进行验证。图2为待提取边缘的原始图片,表1为5×5像素邻域(F(i,j)代表该像素点*的灰度值);
表1 5×5像素邻域
F(i-2,j+2) |
F(i-1,j+2) |
F(i,j+2) |
F(i+1,j+2) |
F(i+2,j+2) |
F(i-2,j+1) |
F(i-1,j+1) |
F(i,j+1) |
F(i+1,j+1) |
F(i+2,j+1) |
F(i-2,j) |
F(i-1,j) |
F(i,j) |
F(i+1,j) |
F(i+2,j) |
F(i-2,j-1) |
F(i-1,j-1) |
F(i,j-1) |
F(i+1,j-1) |
F(i+2,j-1) |
F(i-2,j-1) |
F(i-1,j-2) |
F(i,j-2) |
F(i+1,j-2) |
F(i+2,j-2) |
图3为改进的Sobel算子方向示意图,传统图像边缘检测算子一般采用两个或四个方向进行图像的边缘检测,而改进的Sobel算子采用八个方向;
图4为本发明的检测结果;从图4可以看出,本发明方法相比于传统边缘提取方法,具有边缘提取准确度高,漏检率低,无双边缘现象,边缘断裂程度低等优点,本发明在很大程度上提高了图像边缘检测的完整性与实用性,所以即便是弯曲程度比较大的图像也能准确检测图像边缘,进而可以使其广泛应用于工业生产、民用生活和国防军事等领域中)验证了本文方法的有效性。