从Canvas中的Canny边缘检测创建形状

iam*_*ick 4 javascript html5 canvas image-processing canny-operator

有没有人知道如何从画布中的Canny边缘检测创建形状?

小智 5

我假设你已经根据问题的表达方式实施Canny边缘检测 -

您可以使用诸如此类的方法(用Java编写,但应该很容易转换为JavaScript)和/或可能使用线条拟合方法(统计).

其实质是你必须根据边缘检测的结果找出连接的像素并创建多边形对象/数组.

一旦连接了像素,就可以使用点缩减算法,例如Ramer-Douglas-Peucker算法(此处JavaScript实现),以避免多边形包含类似斜线的每一个点,依此类推.

您将遇到各种各样的挑战,例如由于原始图像中的噪声太大而导致的短分段线或"弱线","线"的集群使得很难找到如何将它们连接为多边形.