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

在openmixup项目中运行vis_cam.py遇Qt平台插件错误求助

解决Qt平台插件"xcb"初始化失败问题

针对你遇到的问题,核心原因是服务器环境无图形桌面支持,而mmcv.imshow调用了OpenCV的GUI组件(依赖Qt的xcb插件),导致初始化失败。以下是几种可行解决方法:

方法1:跳过GUI显示,直接保存图片(最推荐)

你的代码已经支持通过out_path参数保存图片,无需启用GUI。运行脚本时指定输出路径,或者修改代码默认走保存分支:

  • 运行时添加参数指定输出路径(根据脚本参数设置调整):
    python vis_cam.py --out_path ./cam_result.jpg
    
  • 或者修改代码,默认设置输出路径,注释掉GUI显示分支:
    def show_cam_grad(grayscale_cam, src_img, title, out_path="./cam_result.jpg"):
        """fuse src_img and grayscale_cam and show or save."""
        grayscale_cam = grayscale_cam[0, :]
        src_img = np.float32(src_img) / 255
        visualization_img = show_cam_on_image(
            src_img, grayscale_cam, use_rgb=False)
    
        mmcv.imwrite(visualization_img, str(out_path))
        # 注释掉imshow分支,避免触发GUI
        # else:
        #     mmcv.imshow(visualization_img, win_name=title)
    

方法2:安装xcb系统依赖(若必须用GUI)

如果需要在有图形界面的环境运行,服务器可能缺少xcb相关系统库,以Ubuntu/Debian为例,执行以下命令安装:

sudo apt-get update && sudo apt-get install libxcb-xinerama0 libxcb-cursor0 libxcb-randr0 libxcb-shape0 libxcb-xkb1

CentOS/RHEL系统则用yum安装对应包:

sudo yum install libxcb libxcb-devel xcb-util xcb-util-devel

方法3:替换为headless版本的OpenCV-contrib

你之前安装的opencv-contrib-python包含GUI组件,换成headless版本避免依赖Qt:

pip uninstall -y opencv-contrib-python
pip install opencv-contrib-python-headless

该版本无GUI模块,适合服务器环境,同时保留contrib的功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:03:11