Сбой C ++ при использовании функции Canny OpenCV в Windows Server 2012 R2 - PullRequest
0 голосов
/ 07 января 2019
while (true)
{
    cap.read(frame);

    if (frame.empty())
    {
        cap.release();
        break;
    }

    cv::cvtColor(frame, frame, CV_BGR2GRAY);
    cv::GaussianBlur(frame, frame, cv::Size(3, 3), 1.8);

    cv::Mat edgeImage;
    cv::Canny(frame, edgeImage, 120, 255, 5);

    imshow("window", edgeImage);
    cv::waitKey(15);
}

Visual Studio 2015 с обновлением 3. Постройте x64 с OpenCV 3.4.3 (x64).

Это очень странная ошибка.

При запуске этого приложения в Windows7 все в порядке. Но в Windows Server 2012 R2 не работает. Сбой приложения и мертвый.

После сбоя приложения я обнаружил журнал в Event Viewer на панели управления.

Невозможно получить доступ к файлу 'C: \ Windows \ System32 \ vcruntime140.dll'

Но файл там, и я также установил весь пакет перераспределения среды выполнения VC ++ (2005,2008,2010,2012,2013,2015) x86 и x64 оба.

Более того, вот лучшие вещи Стэнджа. Когда я комментирую cv :: Canny и приложение работает просто отлично! (конечно я меняю ниже строки imshow на imshow ("окно", рамка);)

Я не знаю, что случилось с этим приложением ... Пожалуйста, дайте мне любой совет.

Я не могу отладить его с VS2015 в Server 2012 R2 по некоторым причинам

1 Ответ

0 голосов
/ 08 января 2019

Проблема решена.

Процессор сервера - Intel Xeon Gold 6126.

Я думаю, что в OpenCV 3.4.3 есть ошибка.

OpenCV 3.4.5 прекрасно работает.

...