Ошибка OpenCV при загрузке видеофайла на другой компьютер

#opencv #wxwidgets

#opencv #wxwidgets

Вопрос:

Я разработал приложение с использованием wxWidgets и OpenCV 2.4.8. Я просто загружаю файлы avi с диска с помощью VideoCapture. Приложение отлично работает на компьютере, на котором оно разработано. Но при запуске на другой машине cap.open(fileName) возвращает false, как показано в приведенном ниже фрагменте кода. У кого-нибудь есть идея, в чем может быть проблема?

 bool Data::loadVideoFile(const char *fileName)
{
  VideoCapture cap;
  if ( !cap.open(fileName) )  // if not success, return false
  {
    return false;
  }
  else 
  {
  return true;
  }
}
  

Комментарии:

1. Я забыл упомянуть, что приложение разработано в MS Visual Studio 2010.

Ответ №1:

Я предполагаю, что ваши пути верны.

Вам необходимо убедиться, что на компьютере, на котором вы работаете, установлены надлежащие кодеки и библиотеки DLL.

Если у вас нет библиотек opencv_ffmpeg DLL, то Highgui использует кодеки DirectX или VfW. Если в этом случае у вас нет соответствующих кодеков, то открытие файла завершится неудачно.

Это не похоже на другие библиотеки DLL OpenCV, которые генерируют ошибку отсутствующей DLL, когда они недоступны.