2017-02-18 24 views
0

Я пытаюсь открыть сохраненное видео.VideoCapture в OpenCV iOS vs OpenCV C++

В проекте C++ с использованием OpenCV 3.0 с помощью следующего кода:

cv::VideoCapture capture; 
if(capture.open("IMG_1181.MOV")){ 
    cout << "opened"; 
}else{ 
    cout << "not opened"; 
} 

Я могу открыть видео файл без проблем, а выходная линия дает opened.

Однако, если я использую то же видео с тем же кодом, но версия для iOS OpenCV, предназначенная для компиляции как Objective-C++, выводит not opened. У меня нет ошибок. Видео просто не открывается. Есть идеи?

ответ

0

На iOS нельзя просто открыть файл только с его именем (или, по крайней мере, я не могу). Сначала вам нужно будет получить путь пакета, а затем использовать этот путь для загрузки файла. В качестве примера:

// get main app bundle 
NSBundle * appBundle = [NSBundle mainBundle]; 

// constant file name 
NSString * videoName = @"IMG_1181"; 
NSString * videoType = @"MOV"; 

// get file path in bundle 
NSString * videoPathInBundle = [appBundle pathForResource: videoName ofType: videoType]; 

// convert NSString to std::string 
std::string videoPath([videoPathInBundle UTF8String]); 

// load video 
video = cv::VideoCapture(videoPath); 

 Смежные вопросы

  • Нет связанных вопросов^_^