B K*_*B K 5 xcode shapes detection ios uibezierpath
我想为绘图应用程序实现自动完成功能。一旦徒手绘制了对象,我想检测对象的类型(圆形/矩形/三角形),并根据结果绘制相应的对象。
我已经阅读了一些有关 OpenCV 的内容,但随后我需要将用户绘图实时转换为图像。我正在记录通过触摸绘制/追踪的点数,并生成UIBeizerPath相应的路径。我该如何检测形状类型?
您需要首先对数据点进行分段。谷歌上“笔画分割”找到相关文章。一种简单而快速的算法是计算每个数据点的前向坡度和后向坡度,然后计算前向坡度和后向坡度之间的转角。如果转弯角度大于某个角度阈值,那么您可以假设您的路径在那里发生急转弯。根据计算出的急转弯数量,您可以推断这些点是否表示三角形(有 2 个急转弯)、四边形(有 3 个急转弯)或其他形状。要推断数据点代表圆形或矩形,您需要进行额外的计算。例如,如果根本没有急转弯,则对数据点进行圆拟合,看看拟合圆的最大误差是否小于某个公差。要输出矩形,您必须将直线拟合到数据点的每段,并检查拟合的线是否或多或少彼此正交。
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |