Python 如何使用PIL/numpy计算多边形中的边数

Python 如何使用PIL/numpy计算多边形中的边数,python,image,numpy,image-processing,python-imaging-library,Python,Image,Numpy,Image Processing,Python Imaging Library,问题 给定一个黑白多边形,计算边数的最有效方法是什么 例如,上面的图像应返回值7要计算边数,可以使用轮廓近似。其思想是,曲线可以由一系列短线段来近似。这将生成由原始曲线定义的点子集组成的近似曲线 这里有一个使用OpenCV的解决方案。轮廓近似已经实现为近似多边形曲线。返回值的长度将是多边形的边数 代码 结果 7 最有效的方法是做一些你自己的研究。我认为这太宽泛/模糊,离题了。没有使用OpenCV,有没有办法做到这一点?@ TeMLIM不确定OpenCV的反对是什么,但是 SCIKIT图像< /

问题

给定一个黑白多边形,计算边数的最有效方法是什么


例如,上面的图像应返回值
7

要计算边数,可以使用轮廓近似。其思想是,曲线可以由一系列短线段来近似。这将生成由原始曲线定义的点子集组成的近似曲线

这里有一个使用OpenCV的解决方案。轮廓近似已经实现为近似多边形曲线。返回值的长度将是多边形的边数

代码

结果

7

最有效的方法是做一些你自己的研究。我认为这太宽泛/模糊,离题了。没有使用OpenCV,有没有办法做到这一点?@ TeMLIM不确定OpenCV的反对是什么,但是<代码> SCIKIT图像< /代码>也有类似的功能,考虑在图像处理时使用PNG格式而不是JPEG用于中间文件。JPEG会更改图像中的值,引入伪影并丢失信息。
7