Не удается обработать cv::imshow GTK предупреждение

На тестовой машине без головы (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.

0 ответов

Другие вопросы по тегам