检测点阵列中的形状

use*_*547 4 math

我有一系列的观点.我想知道这个点数组是代表一个圆,一个正方形还是一个三角形.

我应该从哪里开始?(我使用C#)

谢谢乔恩

Thi*_*hib 5

根据您的问题,解决此问题的一个好方法可能是使用Hough变换及其所有派生算法

它包括将图像空间转换为另一个空间,其中坐标表示对象参数(线的角度和初始点,中心的坐标和圆的半径)

该算法将您的点阵列中的每个点转换为另一个空间中的点.然后你必须在新的空间搜索一些点是否占优势.从这些点,您将获得对象的参数.

当然,您需要执行一次以识别线条(因此您将知道位图中有多少条线以及它们在哪里)以及识别圆圈(它不是完全相同的算法)

您可以查看本讲座(针对Hough Circle Transform),但您可以轻松找到行的算法

编辑:你也可以看看这些答案

形状识别算法

基于几何形状检测图像上的对象