我正在尝试导入非自由库(例如SIFT surf SURF),这些库在opencv 4的Conda软件包中不可用,但可以通过使用OPENCV_ENABLE_NONFREE = ON标志为c ++和python编译OpenCV源代码来获得,并且可以正常工作没有虚拟环境,但是我想在anaconda虚拟环境中使用相同的编译库。我遵循了https://pydeeplearning.com/opencv/install-opencv3-with-anaconda-python3-6-on-ubuntu-18-04/中的说明和其他一些类似的说明,但是无法通过以下错误:
Python 3.7.6 (default, Jan 8 2020, 19:59:22)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import cv2
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-c8ec22b3e787> in <module>
----> 1 import cv2
/opt/anaconda3/lib/python3.7/site-packages/cv2/__init__.py in <module>
94 if DEBUG: print('OpenCV loader: DONE')
95
---> 96 bootstrap()
/opt/anaconda3/lib/python3.7/site-packages/cv2/__init__.py in bootstrap()
84 if DEBUG: print('OpenCV loader: replacing cv2 module')
85 del sys.modules['cv2']
---> 86 import cv2
87
88 try:
ImportError: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: cairo_tag_end
这是我最终可以在水蟒环境中使用筛选和冲浪的方式:通过以下命令使用pip软件包管理器安装opencv-python和opencv-contrib-python软件包]