Opencv:无法打开显示:C++、Raspberry Pi 无头连接

Posted

技术标签:

【中文标题】Opencv:无法打开显示:C++、Raspberry Pi 无头连接【英文标题】:Opencv : Cannot open display : C++, Raspberry Pi Headless connection 【发布时间】:2016-12-01 11:57:12 【问题描述】:

我有一个错误:

Gtk-WARNING **:无法打开显示:

    下面是使用 C++ 的 opencv 和树莓派 3 Model B 中的简单图像显示程序

    我了解“Imshow”功能在终端中无法在 GUI 中创建一个显示图像的窗口

    我正在使用无头连接(使用 LAN 连接 - 通过 Putty 进行 SSH,通过 VNC 访问 raaspberry pi 桌面)

代码:

#include<opencv2/highgui/highgui.hpp>
using namespace cv ;
int main() 
    Mat img = imread("/home/USER/Pictures/python.jpg",CV_LOAD_IMAGE_COLOR);
    imshow("opencvtest",img);
    waitKey(0);
    return 0;

得到错误:

$ g++ -ggdb pkg-config --cflags opencv -o basename opencvtest.cpp .cpp opencvtest.cpp pkg-config --libs opencv

$ ./opencvtest

" (opencvtest:1927): Gtk-WARNING **: 无法打开显示"

帮我运行一个简单的程序,让我知道如何实现这一点。我是树莓派的新手。

谢谢 阿提拉

【问题讨论】:

您的桌面环境是什么?您可以在 PuTTy 上使用 X11 转发。为 Windows 安装 XMing(由于 PuTTy 我假设是 Windows) 【参考方案1】:

在执行应用程序之前尝试以下命令。

export DISPLAY=:0.0

【讨论】:

感谢 Mike 的回复。我尝试使用与提到的相同的命令,但我没有得到错误或解决方案 pi@raspberrypi:~ $ g++ -ggdb pkg-config --cflags opencv -o basename opencvtest.cpp .cpp opencvtest.cpp pkg-config --libs opencv pi@raspberrypi:~ $ export DISPLAY=:0.0 pi@raspberrypi:~ $ ./opencvtest pi@raspberrypi:~ $ export DISPLAY=:0.0 pi@raspberrypi:~ $ g++ -ggdb pkg-config --cflags opencv -o basename opencvtest.cpp .cpp opencvtest.cpp pkg-config --libs opencv pi@raspberrypi:~ $ . /opencvtest 无输出,系统空闲 您是否验证过 X windows 系统在树莓派上运行?另外,您确定您正在监视正确的虚拟终端吗?您可以尝试使用 chvt 7 命令来检查相应的 vt。

以上是关于Opencv:无法打开显示:C++、Raspberry Pi 无头连接的主要内容,如果未能解决你的问题,请参考以下文章

opencv (c++) VideoCapture无法打开视频

无法在 android 上使用 C++ OpenCV 打开相机

无法同时显示五个 Mat 图像(C++、OpenCV)

错误 1 ​​错误 LNK1104:无法打开文件 'opencv_calib3d2413d.obj'

C++ openCV文件打开问题

无法显示图像opencv(c ++)