opencv-contrib-Python编译module 'cv2.cv2' has no attribute 'xfeatures2d'
时间: 2023-09-28 16:06:49 浏览: 91
这个问题通常发生在opencv版本更新后,旧版本的某些模块无法在新版本中使用。xfeatures2d是opencv的一个扩展模块,需要单独编译并安装,如果您使用的是opencv4.x版本,则需要安装opencv_contrib扩展库。您可以按照以下步骤解决此问题:
1. 确定您已经安装了opencv_contrib库。如果没有安装,请安装。
2. 确定您已经编译了opencv_contrib库中的xfeatures2d模块。如果没有编译,请按照以下步骤编译:
a. 下载opencv_contrib库,并解压到任意目录。
b. 进入opencv_contrib目录,创建build文件夹。
c. 进入build文件夹,执行以下命令:
cmake -DOPENCV_EXTRA_MODULES_PATH=../modules ..
d. 执行make命令编译opencv_contrib库,编译完成后会生成libopencv_xfeatures2d.so文件。
3. 确定您已经将libopencv_xfeatures2d.so文件添加到LD_LIBRARY_PATH环境变量中。如果没有添加,请按照以下步骤添加:
a. 打开/etc/environment文件。
b. 在文件末尾添加以下内容:
LD_LIBRARY_PATH=/path/to/libopencv_xfeatures2d.so
c. 将/path/to/libopencv_xfeatures2d.so替换为libopencv_xfeatures2d.so文件的实际路径。
4. 重新编译您的代码,应该可以正常使用xfeatures2d模块了。
希望这些步骤能够解决您的问题。
阅读全文