我有一个手绘的形状 I 作为输入。I 的格式是一系列的 (x,y) 坐标。它可以是某种语言中的字符或其他形状。给定一组基本形状 S(例如 {垂直线,水平线,圆,半圆})。我想将 I 基于 S 进行分解。
这是否是一种标准操作,并有标准名称?
是否有标准的算法/分类器来解决这个问题?
回答:
作为对@【隐藏人名】回答的补充,我将附上关于广义霍夫变换的原始出版物供您参考。在这里,您可以看到曲线方程中的theta
参数可以控制线的角度。而半圆则由曲线方程中的坐标xr
和yr
控制。论文中还提供了关于椭圆检测的伪代码供您参考。广义霍夫变换甚至可以利用方向信息来检测任意形状。在Stack Overflow上有一个关于该算法的简单Matlab代码链接。