python - 查找以二维数组表示的多边形的角
问题描述
我有一个 0 和 1 的二维数组,其中 1 代表四边形的边缘和内部,而 0 代表外部的一切。找到四个角坐标的最佳方法是什么?
我正在使用 Python,因此任何可以提供帮助的库都可以,但是任何语言的算法也会有所帮助。
解决方案
我有一个想法,你可以如何自己制作一个功能。据我了解,只有 for 角旁边可以有多个“0”。
如果你认为array[x,y]
是一个点。array[x-1,y],array[x+1,y],array[x,y+1],array[x,y-1]
是靠近它的 4 点。如果值为“1”,您可以循环遍历数组检查四个邻居,并计算值为“0”的邻居的数量。那些具有多个(有两个)邻居且值为“0”的点是您的四个角。
推荐阅读
- mysql - Mysql 触发器语法(如果不存在)
- javascript - 检查字符串中重复的单词并在javascript中保持计数
- swagger - Swagger Editor 3.8 示例不适用于参考数组模式
- r - 无法使用 R markdown 和 knitr 在报告中合并在线图片
- powershell - PowerShell | Get-ChildItem 通过管道不提供所有项目的功能
- database - 在 InfluxDB 中使用 cURL 从文件写入时丢失数据点
- jmeter - JMeter:控制器中的 IF 条件不起作用
- reactjs - TypeError:ionRouterOutlet.commit 不是函数
- python-3.x - 计算图子集的最短路径
- java - 通过 JNA 发送用户定义的 Windows 消息