You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10远程RPi4运行OpenCV显示视频窗口失败求助

问题:VSCode SSH连接树莓派运行OpenCV,视频窗口无法显示在Windows本地

报错信息

qt.qpa.xcb: could not connect to display :1
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/pi/mambaforge/envs/mb/lib/python3.8/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.

Stack trace (most recent call last):
#25   Object "python", at 0x558888297b, in 
#24   Object "/lib/aarch64-linux-gnu/libc.so.6", at 0x7f847bbe17, in __libc_start_main
#23   Object "python", at 0x55888840a3, in Py_BytesMain
#22   Object "python", at 0x5588883a3b, in Py_RunMain
#21   Object "python", at 0x558895f4eb, in PyRun_SimpleFileExFlags
#20   Object "python", at 0x558895f323, in 
#19   Object "python", at 0x558895bfcb, in 
#18   Object "python", at 0x558895beb7, in 
#17   Object "python", at 0x5588924057, in PyEval_EvalCode
#16   Object "python", at 0x5588924017, in PyEval_EvalCodeEx
#15   Object "python", at 0x5588923c4f, in _PyEval_EvalCodeWithName
#14   Object "python", at 0x5588881e9b, in _PyEval_EvalFrameDefault
#13   Object "python", at 0x558888fe7f, in _PyObject_MakeTpCall
#12   Object "python", at 0x558888f7af, in 
#11   Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/cv2.abi3.so", at 0x7f77b8a43b, in 
#10   Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/cv2.abi3.so", at 0x7f7876e87f, in 
#9    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/cv2.abi3.so", at 0x7f7878089b, in 
#8    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/cv2.abi3.so", at 0x7f78774537, in 
#7    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/../opencv_contrib_python.libs/libQt5Widgets-b1296c1e.so.5.15.0", at 0x7f7585db03, in QtOpenCVPython::QApplicationPrivate::init()
#6    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/../opencv_contrib_python.libs/libQt5Gui-a45894d1.so.5.15.0", at 0x7f74f9fa77, in QtOpenCVPython::QGuiApplicationPrivate::init()
#5    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/../opencv_contrib_python.libs/libQt5Core-9e162752.so.5.15.0", at 0x7f749710ff, in QtOpenCVPython::QCoreApplicationPrivate::init()
#4    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/../opencv_contrib_python.libs/libQt5Gui-a45894d1.so.5.15.0", at 0x7f74f9ce07, in QtOpenCVPython::QGuiApplicationPrivate::createEventDispatcher()
#3    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/../opencv_contrib_python.libs/libQt5Gui-a45894d1.so.5.15.0", at 0x7f74f9c963, in QtOpenCVPython::QGuiApplicationPrivate::createPlatformIntegration()
#2    Object "/home/pi/mambaforge/envs/mb/lib/python3.8/site-packages/cv2/../opencv_contrib_python.libs/libQt5Core-9e162752.so.5.15.0", at 0x7f7477213b, in QtOpenCVPython::QMessageLogger::fatal(char const*, ...) const
#1    Object "/lib/aarch64-linux-gnu/libc.so.6", at 0x7f847bba9f, in abort
#0    Object "/lib/aarch64-linux-gnu/libc.so.6", at 0x7f847ceeac, in gsignal
Aborted (Signal sent by tkill() 5843 1000)
Aborted

SSH配置文件(C:\Users\mywname\config)

Host 192.168.1.8
  HostName 192.168.1.8
  User pi
  ForwardX11 yes
  ForwardX11Trusted yes
  EnableSSHKeysign yes
  IdentityFile C:\Users\<myusername>\.ssh\id_rsa

背景与已尝试操作

  • 树莓派运行Python代码调用OpenCV的cv.imshow()显示摄像头视频,希望窗口显示在Windows本地
  • Windows 10未安装QT,树莓派安装opencv-contrib-python 4.7.0.72,因依赖限制无法更换为无头版本
  • 已安装VSCode的Remote X11和Remote X11(SSH)插件,SSH密钥登录验证有效
  • 设置export DISPLAY=:0时,视频窗口显示在树莓派本地;设置export DISPLAY=:1时出现上述报错

解决步骤

1. 在Windows端安装并启动X服务器

Windows本身没有X11显示服务,需要安装第三方X服务器软件(如VcXsrv):

  • 安装VcXsrv,启动时选择Multiple windows,Display number设为0,勾选Disable access control
  • 启动后保持软件在后台运行

2. 正确设置树莓派的DISPLAY环境变量

  • 查看Windows本地的局域网IP(如192.168.1.100)
  • 在VSCode连接树莓派后的终端中执行:
    export DISPLAY=你的Windows局域网IP:0.0
    
  • 若要永久生效,将上述命令添加到树莓派的~/.bashrc文件中:
    echo "export DISPLAY=你的Windows局域网IP:0.0" >> ~/.bashrc
    source ~/.bashrc
    

3. 验证X11转发是否正常

  • 在树莓派终端安装X11测试工具(若未安装):
    sudo apt update && sudo apt install x11-apps
    
  • 运行xeyes命令,若Windows端弹出一个带眼睛的窗口,说明X11转发配置成功

4. 调整OpenCV的Qt平台配置(可选)

若仍有Qt插件报错,在Python代码开头添加:

import os
os.environ['QT_QPA_PLATFORM'] = 'xcb'

强制Qt使用xcb平台插件


内容的提问来源于stack exchange,提问作者Franva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:04:57