WSL2中使用OpenCV GUI遇报错,求助解决方案
解决WSL2中OpenCV GUI功能无法正常运行的问题
核心前提:配置X11显示转发
WSL2本身无原生图形界面支持,需先完成Windows端X服务器配置与WSL2环境变量设置:
- 在Windows微软商店搜索并安装VcXsrv,打开后启动XLaunch,选择「One large window」或「Fullscreen」,下一步取消勾选「Native opengl」、勾选「Disable access control」,完成启动。
- 在WSL2终端执行以下命令临时配置显示变量:
若需永久生效,将上述命令添加到export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0~/.bashrc或~/.zshrc文件末尾,再执行source ~/.bashrc加载配置。
重新安装适配的OpenCV包
- 先卸载所有已安装的OpenCV相关包:
pip uninstall -y opencv-python opencv-contrib-python opencv-python-headless - 安装带完整GUI支持的版本:
pip install opencv-contrib-python
验证GUI功能
运行以下测试代码(替换测试图片路径):
import cv2 img = cv2.imread('你的测试图片路径.jpg') cv2.namedWindow('Test') cv2.imshow('Test', img) cv2.waitKey(0) cv2.destroyAllWindows()
补充依赖修复(若仍有xcb插件错误)
针对Ubuntu/Debian系WSL环境,安装缺失的系统依赖:
sudo apt update && sudo apt install -y libgtk2.0-dev pkg-config libxcb-xinerama0
内容的提问来源于stack exchange,提问作者Jackie Lin
相关产品推荐
相关产品推荐

