CN114693708B - 一种锚网孔同行列中心点匹配方法及*** - Google Patents
一种锚网孔同行列中心点匹配方法及*** Download PDFInfo
- Publication number
- CN114693708B CN114693708B CN202210413212.7A CN202210413212A CN114693708B CN 114693708 B CN114693708 B CN 114693708B CN 202210413212 A CN202210413212 A CN 202210413212A CN 114693708 B CN114693708 B CN 114693708B
- Authority
- CN
- China
- Prior art keywords
- points
- point
- image
- anchor
- anchor net
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims abstract description 30
- 238000006243 chemical reaction Methods 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000005484 gravity Effects 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 241001334134 Rugopharynx epsilon Species 0.000 description 2
- 239000003245 coal Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种锚网孔同行列中心点匹配方法及***,该方法包括:确定原锚网图像的中心点坐标;确定目标锚网轮廓;确定目标锚网轮廓的四个角点;将原锚网图像进行直角坐标系转换;确定转换后的图像的四个角点;根据这两个四个角点计算单应矩阵;进而确定所有锚网孔中心点在转换后的图像中的坐标;确定每个锚网孔中心点的相邻点;去除相邻点中非水平或者垂直的点,得到第一剩余相邻点;去除第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;采用数对表示第二剩余相邻点之间的位置关系;根据位置关系使用递归算法查找某一点所在的行列中所有点。通过本发明达到了对任意角度拍摄的锚网图像同行列中心点匹配的目的。
Description
技术领域
本发明涉及煤矿巷道支护领域,特别是涉及一种锚网孔同行列中心点匹配方法及***。
背景技术
煤矿巷道掘进后为了安全需要对岩壁进行支护作业,在进行锚网支护时,锚杆穿过锚网打入岩壁对锚网固定。为了减轻对锚网的破坏打锚杆时需要从锚网的中心点打入,现有图像语义分割与目标检测方法已经能在低光照下找到锚网的位置和锚网孔中心点的位置,打锚杆的位置一般位于锚网孔的同行或者同列可以使锚网受力均匀。但是正常情况下识别到的锚网中心是一系列离散的平面点,不能确定哪些点是属于锚网同行或者同列的,为了解决任意一点同行列点的匹配方法,本发明提出了一种锚网孔同行列中心点匹配方法及***。
发明内容
本发明的目的是提供一种锚网孔同行列中心点匹配方法及***,通过本发明达到了对任意角度拍摄的锚网图像同行列中心点匹配的目的。
为实现上述目的,本发明提供了如下方案:
一种锚网孔同行列中心点匹配方法,该方法包括以下步骤:
确定原锚网图像的中心点坐标;
根据所述中心点坐标确定目标锚网轮廓,所述目标锚网轮廓为距离所述中心点坐标最近的锚网轮廓;
确定所述目标锚网轮廓的四个角点;
将所述原锚网图像进行直角坐标系转换,得到转换后的图像;
确定所述转换后的图像的四个角点,所述转换后的图像的四个角点位于所述转换后的图像中心;
根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵,所述单应矩阵用于将一个平面内的图像以任意方式转换到另一个平面;
根据所述单应矩阵确定所述原锚网图像中所有锚网孔中心点在所述转换后的图像中的坐标;
根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点;
根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点;
去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;
采用数对表示所述第二剩余相邻点之间的位置关系;
根据所述位置关系使用递归算法查找某一点所在的行列中所有点。
本发明还提供了一种锚网孔同行列中心点匹配***,该***包括:
中心点坐标确定模块,用于确定原锚网图像的中心点坐标;
目标锚网轮廓确定模块,用于根据所述中心点坐标确定目标锚网轮廓,所述目标锚网轮廓为距离所述中心点坐标最近的锚网轮廓;
第一角点确定模块,用于确定所述目标锚网轮廓的四个角点;
转换模块,用于将所述原锚网图像进行直角坐标系转换,得到转换后的图像;
第二角点确定模块,用于确定所述转换后的图像的四个角点,所述转换后的图像的四个角点位于所述转换后的图像中心;
单应矩阵计算模块,用于根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵,所述单应矩阵用于将一个平面内的图像以任意方式转换到另一个平面;
转换坐标确定模块,用于根据所述单应矩阵确定所述原锚网图像中所有锚网孔中心点在所述转换后的图像中的坐标;
相邻点确定模块,用于根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点;
第一剩余相邻点获取模块,用于根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点;
第二剩余相邻点获取模块,用于去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;
表示模块,用于采用数对表示所述第二剩余相邻点之间的位置关系;
查找模块,用于根据所述位置关系使用递归算法查找某一点所在的行列中所有点。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种锚网孔同行列中心点匹配方法及***,所述方法,包括以下步骤:确定原锚网图像的中心点坐标;根据所述中心点坐标确定目标锚网轮廓,所述目标锚网轮廓为距离所述中心点坐标最近的锚网轮廓;确定所述目标锚网轮廓的四个角点;将所述原锚网图像进行直角坐标系转换,得到转换后的图像;确定所述转换后的图像的四个角点,所述转换后的图像的四个角点位于所述转换后的图像中心;根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵,所述单应矩阵用于将一个平面内的图像以任意方式转换到另一个平面;根据所述单应矩阵确定所述原锚网图像中所有锚网孔中心点在所述转换后的图像中的坐标;根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点;根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点;去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;采用数对表示所述第二剩余相邻点之间的位置关系;根据所述位置关系使用递归算法查找某一点所在的行列中所有点。通过本发明解决了在锚网拍摄识别后无法对任意点所在的同行列点匹配难题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种锚网孔同行列中心点匹配方法的流程图;
图2(a)为锚网图,图2(b)为锚网孔中心和锚网图;
图3为灰度化处理后的图像;
图4为二值化处理后的图像;
图5为寻找锚网边界图;
图6为距离中心点最近的锚网孔和四个角点;
图7为转换后的图像;
图8为源图像锚网轮廓中心点转换后在转换后的图像中的位置;
图9为三角剖分算法生成的三角形面;
图10为去除非水平或垂直的边后的图像;
图11为位置关系表述图;
图12为寻找某点同行列点图;
图13为恢复点在原图像中的位置图;
图14为一种锚网孔同行列中心点匹配***的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种锚网孔同行列中心点匹配方法及***,通过本发明达到了对任意角度拍摄的锚网图像同行列中心点匹配的目的。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1:
请参阅图1,本发明提供了一种锚网孔同行列中心点匹配方法,该方法包括以下步骤:
S1:确定原锚网图像的中心点坐标;
S2:根据所述中心点坐标确定目标锚网轮廓,所述目标锚网轮廓为距离所述中心点坐标最近的锚网轮廓;
S3:确定所述目标锚网轮廓的四个角点;
S4:将所述原锚网图像进行直角坐标系转换,得到转换后的图像;
S5:确定所述转换后的图像的四个角点,所述转换后的图像的四个角点位于所述转换后的图像中心;
S6:根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵,所述单应矩阵用于将一个平面内的图像以任意方式转换到另一个平面;
S7:根据所述单应矩阵确定所述原锚网图像中所有锚网孔中心点在所述转换后的图像中的坐标;
S8:根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点;
S9:根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点;
S10:去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;
S11:采用数对表示所述第二剩余相邻点之间的位置关系;
S12:根据所述位置关系使用递归算法查找某一点所在的行列中所有点。
在步骤S1之前,还包括:
对原锚网图像进行分割处理,得到分割后的锚网图像,如图2(a)和图2(b)所示;
对所述分割后的锚网图像利用OpenCV中的cv::cvtColor函数中的COLOR_BGR2GRAY转换方法进行灰度化处理,得到灰度化处理后的锚网图像,如图3所示;
设定阈值对所述灰度化处理后的锚网图像进行二值化处理,得到二值锚网图;即锚网为黑色,背景为白色,如图4所示;
利用OpenCV中的cv::findContours函数寻找所述二值锚网图的边界如图5,得到若干个锚网轮廓,每个轮廓包含mi个点,用Ti={Pi,j|j∈1,...,mi},i∈0,...,n表示,式中Ti为第i个轮廓,Pi,j为第i个轮廓的第j个点;
求出原锚网图像的中心点坐标,具体公式如下:
其中,ucenter和vcenter分别为原锚网图像中心点的横坐标和纵坐标,widthimage和heightimage分别为原锚网图像的宽和高。
在步骤S2中,根据所述中心点坐标确定目标锚网轮廓,具体包括:
计算每个锚网轮廓的零阶距离和一阶距,所述一阶距包括水平方向一阶距和垂直方向一阶距;
其中,零阶距离的计算公式为:
式中,为第i个轮廓的零阶距,V(ui,j,vi,j)为第i个轮廓第j个点的像素值,mi为每个轮廓包含的点的个数;
水平方向一阶矩的计算公式为:
式中,ui,j表示第i个轮廓第j个点的横坐标,为第i个轮廓的水平方向一阶矩;
垂直方向一阶矩的计算公式为:
式中,vi,j表示第i个轮廓第j个点的纵坐标,为第i个轮廓的垂直方向一阶矩;
根据每个锚网轮廓的零阶距离和一阶距确定每个锚网轮廓的重心;所述锚网轮廓的重心计算公式如下:
式中,和/>分别为第i个锚网轮廓的重心的横纵坐标。
根据每个锚网轮廓的重心到原锚网图像的中心点的距离确定目标锚网轮廓。具体的,在求出每个锚网轮廓的重心坐标后,使用平方差公式计算每个锚网轮廓的重心到原锚网图像中心点的距离。利用公式distanceshortest=min(distancei),i∈0,...,n,求出最短的距离,最短距离对应的锚网轮廓为距离图像中心最近的锚网轮廓,记为Tnearest。如图6中四个白色点及线条所围成的轮廓为距离图像中心点最近的轮廓。
在步骤S3中,确定所述目标锚网轮廓的四个角点,具体包括:
使用Douglas-Peucker算法将距离原锚网图像的中心点最近的锚网轮廓拟合成四边形;
根据所述四边形确定所述目标锚网轮廓的四个角点。
其中,拟合过程如下;
a.取锚网轮廓中欧式距离最远的两点作为端点,记为A,C,并将A,C连接为线段AC;
b.锚网轮廓被线段AC分为两部分,两部分的点群分别记为和/>
c.在点群中寻找距离线段AC最远的一点,该点记为B;在点群/>中寻找距离线段AC最远的一点,该点记为D;
d.则点A、B、C、D为四边形拟合锚网轮廓后对应的四个顶点;
拟合的多边形如图6中四个白色点及线条所围成的轮廓,多边形的顶点如图6中白色点。
单应矩阵用来将一个平面内的图像以任意方式转换到另一个平面,转换后的图像大小、角度、平行度等较原图像均可不同。两平面图像通过单应矩阵变换关系为:
其中,u2为转换后的图像中的点的横坐标,v2为转换后的图像中的点的纵坐标,为单应矩阵,u1为原锚网图像中的点的横坐标,v1为原锚网图像中的点的纵坐标。由于转换的是齐次坐标,所以,展开式为:
若要解单应矩阵/>则需要八个独立的方程,由于每个点提供两个方程,即/>则需要四组点。在步骤S3中,得到了距离所述中心点坐标最近的锚网轮廓拟合为四边形的四个顶点A、B、C、D,为了将锚网边转换成竖直水平,则转换后的图像中的点应水平垂直矩形的顶点。为了确保转换后的图形不会超出转换后的图像的范围,转换后的图像中的矩形应该位于图像的中心(原锚网图像中的锚网轮廓为距离原锚网图像中心点最近的锚网轮廓),取线段AB、BC、CD、DA中最短的一段线段去确定目标图像中的四个顶点,即最短的线段为sT,则取转换后的图像中的四个角点分别为左上,右上,右下,左下,分别用A'、B'、C'、D'代替,A'、B'、C'、D'的坐标分别为 其中(ucenter,vcenter)为原锚网图像中心点坐标。则通过下式可以解算出单应矩阵/>内的参数H11、H12、H13、H21、H22、H23、H31和H32。
式中,为A、B、C、D点在原锚网图像中的坐标,为A'、B'、C'、D'点在转换后的图像中的坐标。
将原锚网图像中的所有点带入公式中,即可求出所有点在转换后的图像中的坐标位置。转换后的图像如图7所示。也就是说,求出单应矩阵后即可计算锚网孔中心点转换后的坐标,如图2和图8。
在步骤S8中,根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点,具体包括:
定义转换后的图像中所有点的集合A={Pr|r∈1,...,s},式中,s为转换后的图像所有点的个数,生成剖分三角形的步骤如下:
(1)在集合A={Pr|r∈1,...,s}中任取一点Pe;
(2)寻找Pe点最近的点Pt,生成线段PePt,将PePt命名为基线;
(3)在除Pe和Pt点外的所有点中寻找一点Pf,该点满足三角形PePtPf的外接圆内不包含A={Pr|r∈1,...,s}中的任意一点;
(4)以生成的三角形PePtPf的另外两边PePf、PtPf分别为基线,重复步骤c,直到不满足步骤c中的条件;
(5)最终生成所有满足步骤c条件的三角形称为剖分三角形。生成的三角形面如图9所示。
记所有剖分三角形的边为剖分边,与第k点Pk组成剖分边的点的集合为N={Pp|p∈1,...,q};即第点的相邻边为N={Pp|p∈1,...,q}。
通过三角剖分算法可以知道第k点Pk相邻点的集合为Nk={Pkp|p∈1,...,q},式中,q为第k个点Pk相邻点的个数。通过公式计算点Pk和相邻点Pkp连线PkPkp的水平的夹角,式中Pkpu为点Pkp的横坐标,Pkpv为点Pkp的纵坐标,Pku为点Pk的横坐标,Pkv为点Pk的纵坐标。利用公式err=|45°-|θp%90||,式中,%为取余符号,err为θp角靠近{-90°,0°,90°}的指标,其范围为(0°,45°),值越大则越靠近{-90°,0°,90°},故取中间值22.5°作为判断线PkPkp是否水平或垂直的标准,如果err>22.5°,则线PkPkp为水平或垂直,保留点Pkp;反之则去除点Pkp,处理后的图像如图10所示。
根据上述步骤即可去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点。
所述方法还包括:通过点Pk和点Pkp的坐标关系标定第一剩余相邻点的位置;
具体的,点Pk相邻点的上下左右关系通过如下方式判断:
点Pk的坐标为(Pku,Pkv),点Pkp的坐标为(Pkpu,Pkpv)
判断方式 | 类型 |
若Pkpu<Pku且|Pkpu-Pku|>|Pkpv-Pkv| | 左 |
若Pkpu>Pku且|Pkpu-Pku|>|Pkpv-Pkv| | 右 |
若Pkpv<Pkv且|Pkpu-Pku|<|Pkpv-Pkv| | 上 |
若Pkpv>Pkv且|Pkpu-Pku|<|Pkpv-Pkv| | 下 |
在步骤S10中,去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点,具体包括:
若同方向存在两个以上的点,则保留最近的一个点作为某点某方向上的点。
在步骤S11中,采用数对表示所述第二剩余相邻点之间的位置关系,具体包括:
用数对表示节点与节点间的位置关系(左右为水平方向用H表示,上下为垂直方向用V表示),例如(0,1,V)表示节点1在节点0的垂直方向下方;(1,0,V)表示节点1在节点0的垂直方向上方,用箭头的形式表示出来,如图11所示。
在步骤S12中,根据所述位置关系使用递归算法查找某一点所在的行列中所有点,具体包括:
指定某点和寻找方向水平H,寻找该点左边的点一直到左边没有点,同理寻找该点右边的点一直到右边没有点,如图12所示,例如编号为1的点的同行点为实线圈所圈出的点;
指定某点和寻找方向垂直V,寻找该点上边的点一直到上边没有点,同理寻找该点下边的点一直到下边没有点,如图12所示,例如编号为1的点的同列点为虚线框所圈出的点。
所述方法还包括:位置恢复;通过单应矩阵转换后点的排列方式与转换前的图像点的排列方式相同;将点的位置恢复到原锚网图像中,如图13所示。
本发明提出了一种锚网孔同行列中心点匹配方法,通过单应矩阵图像转换、三角剖分算法寻找邻域点、错点排除、同方向点生成、双向图生成达到了对任意角度拍摄的锚网图像同行列中心点匹配的目的。
实施例2:
请参阅图14,本发明提供了一种锚网孔同行列中心点匹配***,该***包括:
中心点坐标确定模块1,用于确定原锚网图像的中心点坐标;
目标锚网轮廓确定模块2,用于根据所述中心点坐标确定目标锚网轮廓,所述目标锚网轮廓为距离所述中心点坐标最近的锚网轮廓;
第一角点确定模块3,用于确定所述目标锚网轮廓的四个角点;
转换模块4,用于将所述原锚网图像进行直角坐标系转换,得到转换后的图像;
第二角点确定模块5,用于确定所述转换后的图像的四个角点,所述转换后的图像的四个角点位于所述转换后的图像中心;
单应矩阵计算模块6,用于根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵,所述单应矩阵用于将一个平面内的图像以任意方式转换到另一个平面;
转换坐标确定模块7,用于根据所述单应矩阵确定所述原锚网图像中所有锚网孔中心点在所述转换后的图像中的坐标;
相邻点确定模块8,用于根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点;
第一剩余相邻点获取模块9,用于根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点;
第二剩余相邻点获取模块10,用于去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;
表示模块11,用于采用数对表示所述第二剩余相邻点之间的位置关系;
查找模块12,用于根据所述位置关系使用递归算法查找某一点所在的行列中所有点。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种锚网孔同行列中心点匹配方法,其特征在于,包括以下步骤:
确定原锚网图像的中心点坐标;
根据所述中心点坐标确定目标锚网轮廓,所述目标锚网轮廓为距离所述中心点坐标最近的锚网轮廓;
确定所述目标锚网轮廓的四个角点;
将所述原锚网图像进行直角坐标系转换,得到转换后的图像;
确定所述转换后的图像的四个角点,所述转换后的图像的四个角点位于所述转换后的图像中心;
根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵,所述单应矩阵用于将一个平面内的图像以任意方式转换到另一个平面;
根据所述单应矩阵确定所述原锚网图像中所有锚网孔中心点在所述转换后的图像中的坐标;
根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点;
根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点;
去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;
采用数对表示所述第二剩余相邻点之间的位置关系;
根据所述位置关系使用递归算法查找某一点所在的行列中所有点。
2.根据权利要求1所述的一种锚网孔同行列中心点匹配方法,其特征在于,根据以下公式确定原锚网图像的中心点坐标:
其中,ucenter和vcenter分别为原锚网图像中心点的横坐标和纵坐标,widthimage和heightimage分别为原锚网图像的宽和高。
3.根据权利要求1所述的一种锚网孔同行列中心点匹配方法,其特征在于,在所述“确定原锚网图像的中心点坐标”步骤之前,还包括:
对原锚网图像进行分割处理,得到分割后的锚网图像;
对所述分割后的锚网图像进行灰度化处理,得到灰度化处理后的锚网图像;
对所述灰度化处理后的锚网图像进行二值化处理,得到二值锚网图;
利用OpenCV中的cv::findContours函数寻找所述二值锚网图的边界,得到若干个锚网轮廓。
4.根据权利要求3所述的一种锚网孔同行列中心点匹配方法,其特征在于,根据所述中心点坐标确定目标锚网轮廓,具体包括:
计算每个锚网轮廓的零阶距离和一阶距,所述一阶距包括水平方向一阶距和垂直方向一阶距;
其中,零阶距离的计算公式为:
式中,为第i个轮廓的零阶距,V(ui,j,vi,j)为第i个轮廓第j个点的像素值,mi为每个轮廓包含的点的个数;
水平方向一阶矩的计算公式为:
式中,ui,j表示第i个轮廓第j个点的横坐标,为第i个轮廓的水平方向一阶矩;
垂直方向一阶矩的计算公式为:
式中,vi,j表示第i个轮廓第j个点的纵坐标,为第i个轮廓的垂直方向一阶矩;
根据每个锚网轮廓的零阶距离和一阶距确定每个锚网轮廓的重心;
根据每个锚网轮廓的重心到原锚网图像的中心点的距离确定目标锚网轮廓。
5.根据权利要求4所述的一种锚网孔同行列中心点匹配方法,其特征在于,确定所述目标锚网轮廓的四个角点,具体包括:
使用Douglas-Peucker算法将距离原锚网图像的中心点最近的锚网轮廓拟合成四边形;
根据所述四边形确定所述目标锚网轮廓的四个角点。
6.根据权利要求1所述的一种锚网孔同行列中心点匹配方法,其特征在于,根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵的计算公式如下:
其中,u2为转换后的图像中的点的横坐标,v2为转换后的图像中的点的纵坐标,为单应矩阵,u1为原锚网图像中的点的横坐标,v1为原锚网图像中的点的纵坐标。
7.根据权利要求1所述的一种锚网孔同行列中心点匹配方法,其特征在于,根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点,具体包括:
计算点Pk和相邻点Pkp连线PkPkp的水平的夹角,公式如下所示:
其中,θp为点Pk和相邻点Pkp连线PkPkp的水平的夹角,Pkpu为相邻点Pkp的横坐标,Pkpv为相邻点Pkp的纵坐标,Pku为点Pk的横坐标,Pkv为点Pk的纵坐标;
根据所述夹角计算θp角靠近{-90°,0°,90°}的指标,公式如下所示:
err=|45°-|θp%90||
其中,err为θp角靠近{-90°,0°,90°}的指标,范围为(0°,45°),值越大则越靠近{-90°,0°,90°},%为取余符号;
判断θp角靠近{-90°,0°,90°}的指标是否大于预设阈值;
若是,则线PkPkp为水平或垂直,保留相邻点Pkp;
若否,则去除相邻点Pkp。
8.根据权利要求7所述的一种锚网孔同行列中心点匹配方法,其特征在于,去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点,具体包括:
若同方向存在两个以上的点,则保留最近的一个点作为某点某方向上的点。
9.根据权利要求1所述的一种锚网孔同行列中心点匹配方法,其特征在于,根据所述位置关系使用递归算法查找某一点所在的行列中所有点,具体包括:
指定某点和寻找方向水平H,寻找该点左边的点一直到左边没有点,寻找该点右边的点一直到右边没有点;
指定某点和寻找方向垂直V,寻找该点上边的点一直到上边没有点,寻找该点下边的点一直到下边没有点。
10.一种锚网孔同行列中心点匹配***,其特征在于,包括:
中心点坐标确定模块,用于确定原锚网图像的中心点坐标;
目标锚网轮廓确定模块,用于根据所述中心点坐标确定目标锚网轮廓,所述目标锚网轮廓为距离所述中心点坐标最近的锚网轮廓;
第一角点确定模块,用于确定所述目标锚网轮廓的四个角点;
转换模块,用于将所述原锚网图像进行直角坐标系转换,得到转换后的图像;
第二角点确定模块,用于确定所述转换后的图像的四个角点,所述转换后的图像的四个角点位于所述转换后的图像中心;
单应矩阵计算模块,用于根据所述目标锚网轮廓的四个角点和所述转换后的图像的四个角点计算单应矩阵,所述单应矩阵用于将一个平面内的图像以任意方式转换到另一个平面;
转换坐标确定模块,用于根据所述单应矩阵确定所述原锚网图像中所有锚网孔中心点在所述转换后的图像中的坐标;
相邻点确定模块,用于根据三角剖分算法确定所述转换后的图像中每个锚网孔中心点的相邻点;
第一剩余相邻点获取模块,用于根据预设阈值去除所述相邻点中非水平或者垂直的点,得到第一剩余相邻点;
第二剩余相邻点获取模块,用于去除所述第一剩余相邻点中在同方向上相邻点距离较远的点,得到第二剩余相邻点;
表示模块,用于采用数对表示所述第二剩余相邻点之间的位置关系;
查找模块,用于根据所述位置关系使用递归算法查找某一点所在的行列中所有点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210413212.7A CN114693708B (zh) | 2022-04-20 | 2022-04-20 | 一种锚网孔同行列中心点匹配方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210413212.7A CN114693708B (zh) | 2022-04-20 | 2022-04-20 | 一种锚网孔同行列中心点匹配方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114693708A CN114693708A (zh) | 2022-07-01 |
CN114693708B true CN114693708B (zh) | 2024-04-02 |
Family
ID=82143906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210413212.7A Active CN114693708B (zh) | 2022-04-20 | 2022-04-20 | 一种锚网孔同行列中心点匹配方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114693708B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177439A (zh) * | 2012-11-26 | 2013-06-26 | 惠州华阳通用电子有限公司 | 一种基于黑白格角点匹配的自动标定方法 |
WO2019080229A1 (zh) * | 2017-10-25 | 2019-05-02 | 南京阿凡达机器人科技有限公司 | 基于机器视觉的棋子定位方法、***、存储介质及机器人 |
CN112561859A (zh) * | 2020-11-20 | 2021-03-26 | 中国煤炭科工集团太原研究院有限公司 | 基于单目视觉的锚护用钢带钻孔与锚网识别方法及装置 |
-
2022
- 2022-04-20 CN CN202210413212.7A patent/CN114693708B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177439A (zh) * | 2012-11-26 | 2013-06-26 | 惠州华阳通用电子有限公司 | 一种基于黑白格角点匹配的自动标定方法 |
WO2019080229A1 (zh) * | 2017-10-25 | 2019-05-02 | 南京阿凡达机器人科技有限公司 | 基于机器视觉的棋子定位方法、***、存储介质及机器人 |
CN112561859A (zh) * | 2020-11-20 | 2021-03-26 | 中国煤炭科工集团太原研究院有限公司 | 基于单目视觉的锚护用钢带钻孔与锚网识别方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种新的二维碎片的轮廓匹配方法;姬周强;王冰;;计算机应用研究;20090815(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114693708A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9430865B2 (en) | Real-time dynamic non-planar projection apparatus and method | |
CN115033967A (zh) | 一种基于点云数据的建筑物模板实例化建模方法 | |
CN111476152B (zh) | 一种基于柔顺规则的轮毂打磨轨迹输出的方法及*** | |
CN113343346B (zh) | 一种基于高精地图的三维交通场景快速建模方法 | |
CN110060344B (zh) | 一种基于点云数据的预制构件整体尺寸逆向建模方法 | |
CN108445009B (zh) | 一种太阳能电池板裂纹检测方法 | |
CN113963051A (zh) | 基于视觉信息和特征提取的目标直径自动测量方法和*** | |
CN112348836A (zh) | 一种自动提取建筑物轮廓的方法及装置 | |
CN115331245A (zh) | 一种基于图像实例分割的表格结构识别方法 | |
CN113920134A (zh) | 一种基于多线激光雷达的斜坡地面点云分割方法及*** | |
CN117876308A (zh) | 基于图像分析的光伏板检测方法 | |
CN112669301A (zh) | 一种高铁底板脱漆故障检测方法 | |
CN115222883A (zh) | 一种基于地基LiDAR点云的电力杆塔重建方法 | |
CN111462119A (zh) | 一种基于机器视觉的宽厚板剪切排样方法 | |
CN115861828A (zh) | 一种建筑横切面轮廓提取方法、装置、介质及设备 | |
CN110415362B (zh) | 重叠点云融合方法 | |
CN114693708B (zh) | 一种锚网孔同行列中心点匹配方法及*** | |
CN113516123A (zh) | 一种针对轮胎压印字符的检测识别方法 | |
CN116452604B (zh) | 一种复杂变电站场景分割方法、设备及存储介质 | |
CN117115390A (zh) | 一种变电站中变电设备的三维模型布局方法 | |
CN115564673B (zh) | 三维点云地下车库柱状物提取与矢量自动生成方法及*** | |
CN115049687B (zh) | 一种点云提取方法、装置、设备及介质 | |
CN116051771A (zh) | 一种基于无人机倾斜摄影模型的光伏bim屋顶自动建模方法 | |
CN112418210A (zh) | 一种杆塔巡检信息智能分类方法 | |
CN112396572B (zh) | 基于特征增强和高斯金字塔的复合绝缘子双光融合方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |