2015-12-18 2 views
0

Это код, который я использовал для открытия видеофайла в сообществе Visual Studio 2015. Я получаю ошибки, когда я их отлаживаю. Открытый видеоэкран отключается сразу же после его открытия всего за долю секунды.Невозможно открыть видео в Visual Studio с помощью openCV

#include <opencv2/highgui/highgui.hpp>            
#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/core/core.hpp> 
#include <opencv2/imgproc/imgproc_c.h> 
//#include "opencv2/contrib/contrib.hpp" 
#include <iostream>                 
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 

using namespace cv; 
using namespace std; 

    int main(int argc, char **argv) 
{ 
Mat frame; 
VideoCapture vid("D:\\Projects\\Visual Tries\\OpenCV_try\\OpenCV_try\\Dinner.avi"); 
if (!vid.isOpened()) 
    return -1; 
int fps = (int)vid.get(CAP_PROP_FPS); 
namedWindow("Showing Film"); 
while (1) 
{ 
    if (!vid.read(frame)) 
     break; 
    imshow("Showing Film", frame); 
    if (waitKey(1000/fps) >= 0) 
     break; 
} 
waitKey(); 
return 0; 


} 

Он компилирует отлично, но когда я отладки это .. Он отображает следующие ошибки:

'OpenCV_try.exe' (Win32): Loaded 'C:\opencv\build\x64\vc12\bin\opencv_ffmpeg300_64.dll'. Module was built without symbols. 
The thread 0x2dc0 has exited with code -1 (0xffffffff). 
The thread 0x514 has exited with code -1 (0xffffffff). 
The thread 0x2184 has exited with code -1 (0xffffffff). 
The program '[1616] OpenCV_try.exe' has exited with code -1 (0xffffffff). 

Может кто-то помочь мне Решая ошибку?

+0

Ни один из них не было ошибок. Ваш файл не был открыт, поэтому программа вернула -1 и вышла. – drescherjm

+0

Является ли это допустимым путем: *** «D: \\ Projects \\ Visual Tries \\ OpenCV_try \\ OpenCV_try \\ Dinner.avi" *** – drescherjm

+0

У вас действительно есть 2 OpenCV_try в пути? – drescherjm

ответ

0

Это ошибки. exited with code -1 означает, что он где-то вернулся -1. Посмотрите, где это: ваша программа действительно возвращает -1 на if(!vid.read(frame)).

Сделать system("pause"); перед вашим return 0 и читать выходной

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