我正在尝试运行一些图像识别教程,但我一直遇到这个错误,无法继续。我运行的是Ubuntu 21.10和Python 3.9.7。我的代码就是这样。
import cv2
img=cv2.imread("path",1)
#print(type(img))
#print(img)
#print(img.shape)
#print(img.ndim)
cv2.imshow("Moon",img)
cv2.waitKey(2000)
更重要的是,这是我得到的错误:
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in "/home/peepo/.local/lib/python3.9/site-packages/cv2/qt/plugins"
我走到小路上的文件夹,果不其然,韦兰不在那里。我已经四处搜索了一段时间,安装了一些不同的东西,从解决方案到在网上遇到类似事情的人。什么都没用。
目前,我正在寻找是否有一些手动下载的地方,我可以将其拖放到文件夹中。我读到新版本的Ubuntu和qt4有一些问题,所以我不确定这是Ubuntu还是Python的问题。如有任何帮助,我们将不胜感激。
我在尝试使用Wayland:启动KeepassXC 2.6.6时遇到了同样的问题
QT_QPA_PLATFORM=wayland keepassxc
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
Ubuntu 21.10和22.04上的解决方案是安装qtwayland5
:
sudo apt install qtwayland5
当我试图在运行Sway作为窗口管理器的Arch Linux上启动OBS Studio 27.1.3时,遇到了一个非常类似的错误。OBS产生此错误:
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
这个错误报告表明我缺少依赖qt5-wayland
,我通过安装它修复了它:
pacman -S qt5-wayland
之后,OBS运行良好,能够录制屏幕和音频。
我在升级到Ubuntu 21.10(从20.10开始(后遇到了同样的问题。
安装旧版本的OpenCV对我有效。
pip install opencv-python==4.3.0.38
在Ubuntu 22中,在/etc/environment
:中设置系统变体
QT_QPA_PLATFORM="xcb"
由于这个wayland冲突,我的机器上的ubuntu22无法进行屏幕共享。我按照这个链接中的步骤修复了这个问题。
https://askubuntu.com/questions/1407494/screen-share-not-working-in-ubuntu-22-04-in-all-platforms-zoom-teams-google-m
之后,我卸载并重新安装了opencv-python,每个opencv功能都开始神奇地工作。不再发生公路冲突。