OpenCV 3.4: результат изменения размера в CPU и CUDA не совпадает в C ++ - PullRequest
1 голос
/ 10 марта 2020

Я использую OpenCV с C ++ для изменения размера кадра

Ниже приведен код, который я использую в CPU

cv::resize(in_mat, out_mat, out_mat.size(), 0, 0, cv::INTER_LINEAR);

Код для CUDA выглядит следующим образом

cv::cuda::resize(dev_in_mat, dev_out_mat, dev_out_mat.size(), 0, 0, cv::INTER_LINEAR, stream);

Проблема в том, что я получаю разные результаты для обоих. Почему это происходит?

1 Ответ

2 голосов
/ 10 марта 2020

Это известная проблема в OpenCV. См. Отчет о проблеме здесь

В настоящее время существует две версии: одна с npp (устаревшая версия) и другая без нее (новее):

устаревшая версия и более новая версия

Также кажется, что эта проблема является активной и была увеличена до приоритет: обычный означает, что мы должны скоро увидеть исправление , просто следуйте этой теме, и у вас все будет хорошо!

Надеюсь, я помог, это был мой первый пост на SO: D

Редактировать:

Чтобы построить без АЭС один необходимо создать ветку, отдельную от главной ветви в OpenCV:

См. более новую версию здесь

  1. Git клон / Загрузить как Zip
  2. Следуйте инструкциям на странице для сборки OpenCV

Если переустановка opencv-contrib из этой ветки не исправляет это, то это ошибка в opencv, и вам нужно подождать Утилита кто-то обновляет здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...