【发布时间】:2017-11-12 07:33:08
【问题描述】:
我正在使用 opencv 和 python 进行编程,我试图在我知道它们的坐标的两个点之间画一条线,然后让这条线完成,直到它到达轮廓的末端,如下图所示。在我的例子中,轮廓实际上是一个图像面,但我在这里提供了一个圆圈来进行解释。所以我想要实现的是让头部的边缘在那个点与线和轮廓相交。有没有办法从两点画一条线,然后让线完成绘制直到到达轮廓?
【问题讨论】:
-
你可以使用 openCV 的 LineIterator 跟踪一条线的所有像素,直到你碰到一个轮廓像素。但不确定 Python api 中是否存在 LineIterator...
-
是的,我认为它存在于 python 中
-
@Micka 邪恶的,不知道 OpenCV 有这样的功能! Stack 上的某个人实际上为 Python 创建了自己的函数版本:stackoverflow.com/questions/32328179/…
-
谢谢,我也去看看这个。
-
但请注意,在特殊情况下,您必须选择 4-connected line drawing/traversal(而不是 8-connected)以免错过轮廓像素。
标签: python opencv line draw opencv-contour