是否可以提供示例实现代码或指针,以使用opencv 3.0和python实现LSD? HoughLines和HoughLinesP在python中没有给出期望的结果,并且想要在python中测试LSD,但是没有任何进展。

我尝试执行以下操作:
LSD=cv2.createLineSegmentDetector(0) lines_std=LSD.detect(mixChl) LSD.drawSegments(mask,lines_std)
但是,当我在蒙版上画线时,出现错误:
LSD.drawSegments(mask,lines_std)TypeError:行不是数字元组

有人可以帮我吗?
提前致谢。

最佳答案

您可以使用cv2.drawSegments函数,如下所示:

#Read gray image
img = cv2.imread("test.png",0)

#Create default parametrization LSD
lsd = cv2.createLineSegmentDetector(0)

#Detect lines in the image
lines = lsd.detect(img)[0] #Position 0 of the returned tuple are the detected lines

#Draw detected lines in the image
drawn_img = lsd.drawSegments(img,lines)

#Show image
cv2.imshow("LSD",drawn_img )
cv2.waitKey(0)

您可以检查OpenCV documentation

关于python-2.7 - 使用Python的Opencv 3中的LineSegmentDetector,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41329665/

10-12 02:25