在ubuntu中使用cv2.imshow()报错 No protocol specified qt.qpa.xcb: could not connect to display :0

报错

在带有桌面的ubuntu 16.04中,使用cv2.imshow()函数,报错信息如下

No protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/wangxin/anaconda3/envs/pytorch1.8_py3.7/lib/python3.7/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, minimal, minimalegl, offscreen, vnc.

Aborted (core dumped)
解决方案

下面的方法亲测成功。

1. 更换较低版本的opencv-python

参考博客《qt.qpa.xcb: could not connect to display解决方案》,更具体来说,参考链接https://stackoverflow.com/questions/60032540/opencv-cv2-imshow-is-not-working-because-of-the-qt

先卸载当前版本opencv-python,再安装较低版本opencv-python==4.1.0.25

pip uninstall opencv-python
pip install opencv-python==4.1.0.25 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

此时,再使用cv2.imshow()函数,依然会出现报错信息,如下

No protocol specified
: cannnot connect to X server : 0
2. 设置X server

参考博客《解决xhost: unable to open display》

切回到root账号下,在root账号下,输入如下命令

export DISPLAY=:0.0
xhost +

出现access control disabled, clients can connect from any host即为成功。

上面,export DISPLAY=:0.0意为将图片展示在本机。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值