На тестовой машине без головы (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
) поднять ошибку «no display» … На самом деле, это не решает проблему, которую я не смог отловить при ошибке gtk.
Задача ещё не решена.
Других решений пока нет …