问题:cv2.error: OpenCV(4.5.2) ...Implementation has been removed due original code license issues in function...
因为opencv中许可证的问题,lsd在opencv4.x中不能用了
所以在检测之前,在pycharm中,先创建一个新的python解释器的虚拟环境,安装一个opencv3.2.0.8的版本
pip install opencv-python==3.2.0.8
这样,网上的lsd代码就能用了。
import cv2
import numpy as np
img = './src.jpg'
image_gray = cv2.imread(img, 0)
lsd = cv2.createLineSegmentDetector(0, _scale=1)
dlines = lsd.detect(image_gray)
for dline in dlines[0]:
x0 = int(round(dline[0][0]))
y0 = int(round(dline[0][1]))
x1 = int(round(dline[0][2]))
y1 = int(round(dline[0][3]))
cv2.line(image_gray, (x0, y0), (x1, y1), 255, 1, cv2.LINE_AA)
cv2.imwrite('./lines.jpg', image_gray)