ssh拉起opencv.imshow报错,show到HDMI屏幕上的方法

当我们给RDK X3烧写Desktop版本镜像,写了一个带有imshow的OpenCV程序,使用ssh远程开发时运行这个程序,本以为我们的图片窗口会乖乖的展示在HDMI的显示器上,但是遇到了报错:

qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/local/lib/python3.8/dist-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.

Aborted

这时候需要作如下设置:

step1:ssh登陆到X3

RDK X3系统镜像有两个用户:一个sunrise,一个root。

而桌面环境登录的用户是sunrise,所以ssh登录也登录到sunrise

step2:设置允许别的用户启动窗体程序

xhost +

step3:设置窗口程序要输出的显示器:

export DISPLAY=:0.0

这时候我们再去ssh终端中运行一个带有imshow的OpenCV程序,就可以成功运行了。

参考:https://blog.csdn.net/qq_41100189/article/details/111419000