我有这张图片:
而且我正在使用cv2.goodFeaturesToTrack
来检测死因裁判官,所以现在我有了这个:
[角为红色,数字显示goodFeaturesToTrack
获得角的顺序。例如,编号为0的角是第一个检测到的角,等等...
如果我根据该顺序连接点,我会得到一个凌乱的多边形,因此我想到使用给定随机点集的函数,它将以多边形不会相交的顺序返回它们。 。
我找到了this function,它确实满足我的要求。
但是,尽管多边形不相交,但在此示例中,我没有得到与初始形状相同的形状(我得到了一个非自相交的多边形,但形状不同)。
有人有解决此问题的想法吗?我当时想让cv2.goodFeaturesToTrack
返回一组有序的点,但是我不知道该怎么做。
非常感谢!
[如果要获取多边形,则可以对图像进行阈值处理并使用findContours
提取外部轮廓,使用CV_RETR_EXTERNAL
作为获取外部轮廓的方式,并使用CV_CHAIN_APPROX_SIMPLE
作为方法。 CV_CHAIN_APPROX_SIMPLE
压缩水平,垂直和对角线段,仅保留其端点(请参见documentation)。