【发布时间】:2021-06-13 05:47:11
【问题描述】:
我有一张白色背景和黑色像素代表墙壁或边界的图像。我想知道图像上两点之间是否有边界。
我的方法是在两个兴趣点之间的线上找到所有整数点,并检查这些点是否是黑色像素。这是我绘制它时的样子(蓝色圆圈表示两个兴趣点,红点是通过线的所有点):
如您所见,黑线似乎没有通过位于兴趣点之间的线上的整数点之一。如何判断黑线是否穿过两点之间的线。
PS:我需要检查大量点对,并且图像有很多边界,因此高效的算法会有所帮助。
【问题讨论】:
-
您可以用另一种颜色(例如蓝色)进行泛光填充,从任一感兴趣点开始使用不能穿过黑色的泛光填充。然后检查其他兴趣点是否触及任何蓝色邻居。
-
或者求解两条线的交点,看是否落在对角为两条线端点的矩形内。
标签: python-3.x matplotlib image-processing