我在运行同时包含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
国内镜像无法直接下载好像,自己可以搜索如何下载。
总结
对于我自己来说,只有方案一二有用,后边试过并不能解决。
希望能一起进步!!!