我想使用LSDDetector检测图像中的线特征,并使用BinaryDescriptorMatcher对其进行描述,以便完成线特征匹配。它在opencv版本4.0.x中可以正常工作,但是我电脑中的opencv版本现在更新为4.1.0。然后代码将无法工作。
错误通知如下:
OpenCV(4.1.0)/tmp/opencv-20190413-55052-1xilkvg/opencv-4.1.0/modules/imgproc/src/lsd.cpp:143:错误:(-213:功能/功能不正确已实现),由于功能'LineSegmentDetectorImpl'中的原始代码许可证问题,已删除了实现。
def lsdMatching(img1, img2):
img1_gray = cv2.cvtColor(img1,cv2.COLOR_RGB2GRAY)
img2_gray = cv2.cvtColor(img2,cv2.COLOR_RGB2GRAY)
detector = cv2.line_descriptor.LSDDetector_createLSDDetector()
keylines = detector.detect(img1_gray,2,2)
答案 0 :(得分:0)
请确保安装opencv-contrib-python模块而不是opencv-python。 cv2.line_descriptor函数位于contrib模块中。如果您安装了多个python版本,还请确保将opencv-contrib-python模块安装在正确的版本下。