我刚刚在 WSL2 上安装了 Ubuntu-20.04。我安装了带有 python 3.7 的 miniconda 环境,然后通过“conda install opencv”安装了 opencv-python。但是当我尝试最简单的 cv2.imshow 时,它出现以下抱怨:
cv2.error: OpenCV(3.4.2) /tmp/build/80754af9/opencv-suite_1535558553474/work/modules/highgui/src/window.cpp:632: 错误:(-2:未指定错误) 该函数未实现。使用 Windows、GTK+ 2.x 或 Carbon 支持重建库。如果您使用的是 Ubuntu 或 Debian,请安装 libgtk2.0-dev 和 pkg-config,然后在函数“cvShowImage”中重新运行 cmake 或配置脚本
顺便说一句,安装 VcXsrv 并导出 DISPLAY=host_ip_in_wsl2:1.1 后,我可以通过 matplotlib.pyplot 显示绘图窗口。安装 Windows 10 2021 年 11 月更新、WSL2 的 CUDA 驱动程序和 CUDA 工具包 11.0 后,我也使我的 GPU 工作。我可以让 Tensorflow 2.4.1 与 GPU 很好地配合使用。我可以用 GPU 编译 darknet 并将其用于 YOLO v1。
我谷歌了一下。他们说卸载 opencv 并从 menpo 频道重新安装就可以了。但这篇文章是 5 年前的,不是针对 WSL 的。
我还看到一些帖子演示了从源代码编译 opencv-python 的繁琐过程。
那么,如何在 WSL2 的 Ubuntu-20.04 上使用 opencv-python?最好使用“conda install ...”或“pip install ...”等简单方法。从源代码编译也是可以接受的。
答案1
我通过 pip 安装 opencv-python 解决了这个问题。
$ pip install opencv-python
但我不明白为什么 pip 可以工作,但conda install opencv
不能。如果有人知道详细信息,可以给我一些提示吗?