如何解决opencv cv2.imshow()无法初始化服务器:无法连接:连接被拒绝无法在函数'cvInitSystem'中初始化GTK后端

问题描述 投票:0回答:3

嗨,我将 opencv 安装到了树莓派 4 (2022-04-04 Buster OS)。 这是我正在使用的代码:

import cv2
    
camera = cv2.VideoCapture(0)
success, frame = camera.read()
if not success:
    stop('camera not connected')
cv2.imshow('Window', frame)
cv2.waitKey(1000)

当我尝试运行代码时,我收到此错误消息:

无法初始化服务器:无法连接:连接被拒绝回溯 (最近一次调用最后一次):文件“try01.py”,第 7 行,位于 cv2.imshow('窗口', 框架) cv2.error:OpenCV(4.6.0)/tmp/pip-wheel-8c7uejek/opencv-python_88dbbad412c5416b992ae69de26299d6/opencv/modules/highgui/src/window_gtk.cpp:635: 错误:(-2:未指定错误)无法在函数中初始化 GTK 后端 'cvInitSystem'

Python版本:3.7.3

opencv版本:4.6.0

numpy 版本:1.21.6

有什么建议吗?

python opencv raspberry-pi raspberry-pi4
3个回答
4
投票

我按照以下步骤操作 https://dustinpfister.github.io/2020/03/27/linux-raspbian-lite-xserver-xorg/

然后我需要跑步

导出显示=:0

问题已解决。谢谢大家的帮助!!


0
投票

没有足够的信息可以确定,但我怀疑您正在基于文本的控制台中运行,而不是在带有GUI的图形桌面中运行,例如OpenCV需要显示图像。

您应该能够通过以下方式启动 X11 服务器:

startx

您可能需要在每次重新启动后执行此操作,因此您可能更喜欢下面的方法。


或者,您可以运行:

sudo raspi-config

并选择“启动到桌面”而不是“启动到控制台”。然后重新启动,它将在所有后续重新启动时以 GUI 模式出现。


0
投票

如果您使用远程服务器并使用 SSH 运行脚本,则只需使用 -Y 参数即可连接到服务器。

ssh -Y user@your_ip

注意:如果您通过 VScode 运行它,则使用 VScode 进行代码编辑,并使用本地终端(而不是使用上述命令的 VScode 终端)通过 SSH 连接到服务器来运行该文件并运行脚本

© www.soinside.com 2019 - 2024. All rights reserved.