一种快速检测海水水下图像角点的方法

文档序号:24710362发布日期:2021-04-16 13:39阅读:166来源:国知局
一种快速检测海水水下图像角点的方法

1.本发明属于图像分析技术领域,涉及一种快速检测海水水下图像角点的方法。


背景技术:

2.角点没有明确的数学定义,但人们普遍认为角点是二维图像亮度变化剧烈的点或图像边缘曲线上曲率极大值的点。这些点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。其在三维场景重建、运动估计、目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。
3.目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。基于灰度图像的角点检测又可分为基于梯度、基于模板和基于模板梯度组合3类方法,其中基于模板的方法主要考虑像素领域点的灰度变化,即图像亮度的变化,将与邻点亮度对比足够大的点定义为角点。常见的基于模板的角点检测算法有kitchen

rosenfeld角点检测算法,harris角点检测算法、klt角点检测算法及susan角点检测算法。和其他角点检测算法相比,susan角点检测算法具有算法简单、位置准确、抗噪声能力强等特点。
4.基于实际应用需求,从角点检测的快速性、准确性、鲁棒性等要求出发,上面对各种角点检测算法各有利弊。直接基于图像的角点检测基本上是全局搜索;基于边缘轮廓的角点检测数据量较少,可以采用多分辨分析并行处理,从灰度图像得到边缘轮廓曲线要经过两次以上的全局搜索,速度并不是很快,但对角点的误检和漏检要比直接基于图像的方法好得多。如果在得到轮廓曲线的过程中应用一些其他的变换方法,就计算的速度而言,下降不少,所以一般快速的、较准确的角点检测使用直接基于图像模板的方法完全可以满足需要,但如果对角点的完备性要求较高,那么使用基于轮廓线的多尺度分析方法应该给予考虑。
5.在海洋水下图像的分析过程中,由于海水水下图像的采集过程中,可能存在干扰因素,导致检测到图像的像素信号发生无规律的变化,影响海水水下图像的分析结果。现有检测图像角点的算法,不太适合海水水下图像的处理分析,其检测不具有实时性。通常在水下图像检测过程中,由于信号的干扰,采集到的图像会出现很多的异常值,淹没掉了真正的角点。因此,现场测量必须找到一种方法来实时判断海水水下图像的角点,并确定其在图像中的位置。


技术实现要素:

6.为解决上述技术问题,本发明提供了一种快速检测海水水下图像角点的方法,能够在测量海水水下图像的基础上,判断角点所在图像中的位置,以达到找到图像分析的特征点和提高准确度的目的。
7.为达到上述目的,本发明采用的技术方案如下:
8.一种快速检测海水水下图像角点的方法,包括以下步骤:
9.(1)把图像转换为灰度图像,并归一化像素值范围为0

255,计算图像的宽度和高度;
10.(2)遍历图像的宽度和高度,计算该范围内水平梯度和垂直梯度;
11.(3)计算每个像素点的水平梯度平方和垂直梯度平方,以及水平梯度与垂直梯度乘积;
12.(4)计算每个像素点两个方向梯度的加权乘积;
13.(5)计算每个像素点的角点数据值r;
14.(6)如果该像素点的角点数据值r大于阈值t,判定该像素点为角点,记录该像素点所在位置。
15.作为本发明的一种优选方式,步骤(2)中,所述水平梯度或垂直梯度为该方向上所有点梯度的平均值。
16.进一步优选地,步骤(4)中,每个像素点两个方向的加权乘积包括:水平梯度的加权乘积,为该像素点水平梯度平方与卷积核的乘积。
17.进一步优选地,步骤(4)中,每个像素点两个方向的加权乘积包括:垂直梯度的加权乘积,为该像素点垂直梯度平方与卷积核的乘积。
18.进一步优选地,步骤(4)中,每个像素点两个方向的加权乘积包括:水平梯度与垂直梯度乘积的加权乘积,为该像素点水平梯度与垂直梯度的乘积,再与卷积核的乘积。
19.进一步优选地,所述的卷积核为3*3的矩阵,该矩阵中心权重大于边缘权重。
20.进一步优选地,所述角点数据值的计算公式为:r=a*c

b*b

k*(a+c)*(a+c);其中,a为该像素点水平梯度的加权乘积,b为该像素点水平梯度与垂直梯度乘积的加权乘积,c为该像素点垂直梯度的加权乘积;k为经验系数,k∈(0.04

0.06)。
21.本发明提供的快速检测海水水下图像角点的方法,不受累积时间的限制,也不受海洋环境干扰的限制,能够快速测量海水水下图像的角点的位置,以达到快速找到水下图像分析的特征点和提高查找准确度的目的。
附图说明
22.图1为本发明实施例中快速检测海水水下图像角点的方法流程示意图;
23.图2为本发明实施例中图像像素w(3,3)权重分配卷积核;
24.图3为本发明实施例中的原始图像;
25.图4为采用本发明的方法在原始图像中检测到的图像角点标记。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
27.本实施例提供的快速检测海水水下图像角点的判定方法,如图1所示,具体流程如下:
28.s101、把图像转换为灰度图像,所用于计算的图像为一个通道的灰度图像,图像的宽度和高度为图像在宽和高的像素个数,也就是图像数据的列和行的个数。像素值的范围
进行归一化运算,归一化到区间0

255。
29.在本实施例中,采集的水下图像的宽为640个像素,高为480个像素的三通道的彩色图像。把三个通道的640*480的图像变为一个通道的640*480的灰度图像。
30.gray=0.299*r+0.587*g+0.114*b
31.根据三个通道红绿蓝(rgb)的值,计算得到对应的灰度数据值。该数据值范围为103

32665的,为16位图像,把该范围归一化变换为0

255区间,也就是103的值为0,32665的值为255,中间点按比例变换为相应的数据值。
32.s102、遍历图像的宽度范围和高度范围,计算该范围内水平(x方向)和垂直(y方向)的平均梯度。
33.x方向的梯度为左右各点梯度的平均值,如果为第一列和最后一列,只取右或者左边的梯度值。第(x,y)点的梯度:ix={[v(x+1,y)

v(x,y)]+[v(x,y)

v(x

1,y)]}/2;第一列ix=v(x+1,y)

v(x,y),最后一列ix=v(x,y)

v(x

1,y)。
[0034]
同理,y方向的梯度为上下各点梯度的平均值,如果为第一行和最后一行,只取下或者上边的梯度值。第(x,y)点的梯度iy={[v(x,y+1)

v(x,y)]+[v(x,y)

v(x,y

1)]}/2;第一列ix=v(x,y+1)

v(x,y),最后一列ix=v(x,y)

v(x,y

1)。
[0035]
在本实施例中,第(3,2)点的x方向梯度为:(3,3)点的值减去(3,2)点的值与(3,2)点的值减去(3,1)点的值,两个差值的平均数。第(3,0)点的x方向梯度为(3,1)点的值减去(3,0)点的值;第(3,639)点的x方向梯度为(3,639)点的值减去(3,638)点的值。y方向的梯度同理计算得到,第(3,2)点的y梯度为(4,2)点的值减去(3,2)点的值与(3,2)点的值减去(2,2)点的值,两个差值的平均数;第(0,2)点的y方向梯度为(1,2)点的值减去(0,2)点的值;第(479,2)点的y方向梯度为(479,2)点的值减去(478,2)点的值。
[0036]
s103、遍历图像的宽度和高度范围,计算每个像素点的水平梯度平方和垂直梯度平方,以及水平梯度与垂直梯度乘积。
[0037]
在本实施例中,通过上一步计算得到的每个像素点的ix,iy,计算每个像素点的ix*ix,ix*iy,和iy*iy。
[0038]
s104、遍历图像的宽度和高度范围,计算每个像素点的水平梯度平方加权积、垂直梯度平方加权积,以及水平梯度与垂直梯度乘积的加权积。卷积核为3*3的矩阵,最边上二行,和最边上二列不参与计算。卷积核中心权重大,边缘权重小。
[0039]
在本实施例中,遍历图像宽度范围为2到637;高度范围为2到477,
[0040]
如图2所示,w为3*3的矩阵:[0.0947416,0.118318,0.0947416;0.118318,0.147761,0.118318;0.0947416,0.118318,0.0947416]。
[0041]
水平梯度平方加权积:a=ix*ix*w;
[0042]
垂直梯度平方加权积:c=ix*iy*w;
[0043]
水平梯度与垂直梯度乘积的加权积:b=ix*iy*w。
[0044]
s105、重新遍历一遍图像,计算遍历范围内每个像素点的角点数据值:r=a*c

b*b

k*(a+c)*(a+c);k为经验系数,其取值范围为0.04~0.06。
[0045]
在本实施例中,根据公式计算每个点的r值,k取0.04。
[0046]
s106、如果该像素点的角点数据值r大于阈值t,判定该像素点为角点,记录该像素点所在像素的位置。该像素点的位置就是列的值和行的值。
[0047]
在本实施例的阈值t取为155。
[0048]
采用本发明的方法,对海水水下图像的原始图像如图3所示,进行分析,找到的角点如图4中小方框内所示。
[0049]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1