Ошибка новой длины неверного массива в программе OpenCV - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь получить ленту с веб-камеры и сохранить ее в папке с помощью 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 ++: неверная длина массива

...