我有一系列的点。我想知道这个点数组是否代表圆形、正方形或三角形。
我应该从哪里开始? (我使用C#)
谢谢
乔恩
根据您的问题,解决此问题的一个好方法可能是使用霍夫变换 http://en.wikipedia.org/wiki/Hough_transform及其所有派生算法
它包括将图像空间转换为另一个空间,其中坐标表示对象参数(直线的角度和初始点,圆的中心坐标和半径)
该算法将点数组中的每个点转换为另一个空间中的点。然后你必须在新的空间中寻找是否存在某些观点。从这些点,您将获得对象的参数。
当然,您需要执行一次来识别线条(这样您就会知道位图中有多少条线条以及它们的位置)并识别圆圈(这不是完全相同的算法)
你可能会看看本次讲座 http://www.cis.rit.edu/class/simg782/lectures/lecture_10/lec782_05_10.pdf(对于霍夫圆变换),但是您可以轻松找到直线的算法
编辑:您还可以查看这些答案
形状识别算法 https://stackoverflow.com/questions/126192/shape-recognition-algorithms
基于几何形状检测图像上的物体 https://stackoverflow.com/questions/618360/detecting-an-object-on-the-image-based-on-geometrical-form
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)