Как я могу получить видеоряд из изображений в C++?
Привет,
Я хотел бы создать avi-файл из последовательности изображений. Изображения хранятся как "cppBITMAP2.bmp" (во время цикла изображение обновляется). В этом цикле я хочу создать видео из этих изображений.
Что я уже пробовал:
Я нашел это: Простой интерфейс к API Video for Windows для создания AVI фильмов из отдельных изображений
Здесь я попытался использовать код без MFC из комментариев, но это не сработало.
Я скопировал соответствующую часть своего кода (по крайней мере, я думаю, что это соответствующая часть), которая использует файл aviUtil.h из комментария ссылки):
SetDIBitsToDevice(_backbuffer,x,y,width,height, 0, 0, 0, (UINT)height, data, &bmi, DIB_RGB_COLORS); vbitmap = CreateDIBitmap(_backbuffer, &bmi.bmiHeader, CBM_INIT/*0*/, data, &bmi, DIB_RGB_COLORS); PBITMAPINFO bbitmap = CreateBitmapInfoStruct(this->_window, this- >_backbitmap); CreateBMPFile(this->_window, /*L*/"cppBITMAP2.bmp", bbitmap, this - >_backbitmap, this->_backbuffer); lpbi = (LPBITMAPINFOHEADER)GlobalLock("cppBITMAP2.bmp"); ADD_FRAME_FROM_DIB_TO_AVI(lpbi, data, "DBI", 10);
Здесь я получаю ошибку нарушения доступа, и созданный avi-файл пуст. Линии для создания растрового изображения работают хорошо. Разве я звонил в полицию?
ADD_FRAME_FROM_DIB_TO_AVIфункция неправильная?
Я совершенно новичок в c++ и был бы очень благодарен вам за помощь.