#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, когда они недоступны.