如何检测行- OpenCV



我是OpenCV的新手,并试图以与检测轮廓相同的格式在绘图中检测线条。例如,需要处理的图像如下:原始图像

到目前为止,我已经能够检测轮廓如下:检测到的轮廓

我想做的是检测实际的线,而不是内部和外部轮廓,但仍然以列表的形式得到结果。这可能吗?如果是这样,我想将此应用于有多条线的图片,例如:多行画

所有的图纸将只由线条组成,而不是实体的"块">

非常感谢!

img = cv2.imread('image.png', cv2.IMREAD_COLOR) 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 200)
lines = cv2.HoughLinesP(edges, 1, np.pi/180, threshold=0)
for line in lines:
x1, y1, x2, y2 = line[0]
cv2.line(img, (x1, y1), (x2, y2), (51, 250, 250), 2)
cv2.imshow(img)

相关内容

  • 没有找到相关文章

最新更新