在哈里斯拐角检测器输出上建立连接图

时间:2019-05-01 23:49:34

标签: python opencv

我的最终意图是基于https://www.researchgate.net/publication/308194022_Tifinagh_Character_Recognition_using_Harris_Corner_Detector_and_Graph_Representation

我停留在第3.2部分中,为拐角建立邻接矩阵。下图是为了帮助使我想要实现的目标生动化。

Output so far

说我拍摄A的图像并将其应用于Harris,然后使用此代码

# define the criteria to stop and refine the corners
ret, labels, stats, centroids = cv2.connectedComponentsWithStats(dst)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 100, 0.001)
corners = cv2.cornerSubPix(gray,np.float32(centroids),(5,5),(-1,-1),criteria)

#print corners
for i in range(1, len(corners)):
    print(corners[i])

我得到一个漂亮的角坐标列表,如下所示:

[51.70207 62.5541 ]
[ 37.04742 100.78287]
[ 66.707726 100.73132 ]
[ 29.685337 119.28638 ]
[ 75.62286 119.49719]

作为参考,图像为106 x189。

但是我如何确定哪个连接到哪个?我尝试从一个角“遍历”图像阵列,直到碰到另一个,但这并没有涵盖存在多个像A的中心点的情况。我还考虑过如何遍历每个角,看看是否可以连接到其他角,但是由于它们是同一轮廓的一部分,因此它们将始终能够连接。

任何建议都值得赞赏。

0 个答案:

没有答案