关于opencv和pyqt5的兼容问题

 我在运行同时包含opencv和pyqt5的库出现这种问题,尝试过很多解决方案。

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/.../anaconda3/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl.

删除plugins可以使pyqt5正常运行,但是opencv无法运行,反之。

问题根源应该是cv2.imshow()使用的是pyqt5的输出框,导致出现这种问题

注释imshow

如果不是必须用imshow的话可以直接注释,能直接解决问题。由于这个关键的plugins是导致两者冲突的根源,所以只能通过这在方法解决。

注释imshow。

安装headless

问题根源应该是cv2.imshow()使用的是pyqt5的输出框,导致出现这种问题,所以才会出现

pip install opencv-python-headless 这样会导致无法使用imshow,才能解决问题。

pip uninstall opencv-python
pip install opencv-python-headless

方法三

sudo apt-get install libxcb-xinerama0

方法四

sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

方法五

export QT_QPA_PLATFORM=offscreen

方法六

安装opencv4.1.2版本,4.2之后会出现这种问题

pip uninstall opencv-python
pip install opencv-python==4.1.2

国内镜像无法直接下载好像,自己可以搜索如何下载。

总结

对于我自己来说,只有方案一二有用,后边试过并不能解决。

希望能一起进步!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值