python - 建立哈里斯角检测器输出的连接图
问题描述
我的最终意图是基于此构建一些东西:https ://www.researchgate.net/publication/308194022_Tifinagh_Character_Recognition_using_Harris_Corner_Detector_and_Graph_Representation
我被困在第 3.2 部分,为角落构建邻接矩阵。下图是为了帮助可视化我想要实现的目标。
假设我拍摄了 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 x 189。
但是我怎样才能确定哪个与哪个相关?我尝试从一个角落“走”图像阵列,直到遇到另一个,但这不包括有多个的情况,比如那里的 A 中的中心点。我还考虑了如何遍历每个角落并查看是否可以连接到其他角落,但由于它们是同一轮廓的一部分,它们将始终能够连接。
任何建议表示赞赏。
解决方案
推荐阅读
- javascript - 查看站开发 - HTML 界面以全屏模式打开并禁用 VLC 中的右键单击
- vb.net - 找到选定的 ListView 项,然后单击执行操作
- python - 从迭代生成的字典创建数据框
- flutter - 如何在 Flutter 中对展开的 ExpansionTile 应用圆角边框?
- javascript - 单击时更改元素颜色并在单击关闭时返回
- reactjs - Next.js 中的图像属性
- python - 如何更改 Kivy 字符串中某些字符的偏移量?
- dataweave - 在 DataWeave 中从数组元素中添加其他属性
- python - 如何使用多个 if 语句降低函数的复杂性
- python - pandas - 'int' 对象不可调用