Я пытаюсь получить ленту с веб-камеры и сохранить ее в папке с помощью VideoWriter, но после запуска кода в Visual, эта ошибка выдает сообщение о неверной длине массива.Выполнение не передает оператор (isWriterOpened). Программа выполнена в Visual Studio -> Режим отладки -> Приложение консоли Windows (x64).
//create matrix to store image
Mat image;
//initialize the camera
VideoCapture cap;
cap.open(0);
if (!cap.isOpened()) {
std::cout << "Cant get the feed from camera.";
return -1;
}
//filename string
std::string filename = "C:/Users/Guru/Videos/OpenCV_Feed/myVideo.avi";
//fourcc integer
int fcc = VideoWriter::fourcc('M', 'J', 'P', 'G');
//frames size
cv::Size frameSize((int)cap.get(CAP_PROP_FRAME_WIDTH),(int)cap.get(CAP_PROP_FRAME_HEIGHT));
//frame per second
int fps = 20;
VideoWriter writer("outcpp.avi", VideoWriter::fourcc('M', 'J', 'P', 'G'), 10, frameSize);
if (!writer.isOpened()) {
std::cout << "Writer is not opened";
getchar();
return -1;
}
Ошибка, которую я получил: [ОШИБКА: 0] ВИДЕО(cvCreateVideoWriter_MSMF (имя файла, fourcc, fps, framesize, isColor)): повышенное исключение C ++: неверная длина массива