在无头测试机器(Travis CI)上,使用cv::imshow
时,程序崩溃并显示:
Gtk-WARNING **: cannot open display:
该消息似乎正常。 但我无法成功捕捉错误!
我尝试使用该代码:
try
{
// create a window for display.
cv::namedWindow( name, CV_WINDOW_AUTOSIZE );
// Show our image inside it.
cv::imshow( name, img );
// take time to effectively display the image
cv::waitKey(1000);
}
catch (cv::Exception& e)
{
std::cout << "OpenCV GUI not able to pop up: " << e.what() <<
"\nProbably executing on a headless test machine? " << std::endl;
}
......甚至还有
catch (...)
没有成功。
任何帮助都会......帮助!
谢谢
编辑:
我在这里找到了一个解决方法:https://github.com/itseez-academy/itseez-ws-2016-practice/blob/master/.travis.yml
使用xvfb是为了不让cv::imshow
(或cv::namedWindow
)提升&#34;无显示&#34;错误......实际上,它并没有真正解决我无法捕获gtk错误的问题。