是否可以提供示例实现代码或指针,以使用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/