OpenCV Создание видео из текстового файла

Я пытаюсь создать приложение, которое получает данные с веб-камеры или внешнего устройства, сохраняет видеокадры в текстовый файл, а затем считывает кадры из созданного текстового файла.

Не знаю, стоит ли сохранять в текстовый файл, я открываю предложения.

До сих пор я сделал для сохранения в текстовом файле.

Моя проблема — чтение из текстового файла. В основном я читаю текст построчно, но я не знаю, как преобразовать этот текст в объект Mat.

Пока что мой код:

ifstream read_storage(new_vid_frm_path);
if(!read_storage.is_open()) {
perror("\n\n\n\t\t\t(-)FAIL : Can't Open SavedVideoFrames.txt\n\n\n\t\t\t");
return -1;
}

VideoWriter *vid = new VideoWriter(new_vid_frm_path,CV_FOURCC('P', 'I', 'M', '1'),30,Size(vc.get(CV_CAP_PROP_FRAME_WIDTH),vc.get(CV_CAP_PROP_FRAME_HEIGHT)));
Mat line;
vector<Mat> vid_frms;
while ( getline (read_storage,line) ) {
cout << line << '\n';

}

read_storage.close();

if(vid_frms.size() == 0){
printf("\n\n\n\t\t\t(-)FAIL: Error In Frame\n\n\n\t\t\t");
return -1;
}

for(size_t i = 0; i<vid_frms.size(); i++)
(*vid).write(vid_frms[i]);

printf("\n\n\n\t\t\t(+)SUCCESS: Video Processing Complete \n\n\n\t\t\t ");

Есть ли у вас предложения, как я могу привести или преобразовать эту строку строки в Mat obejct?

while ( getline (read_storage,line) ) {
cout << line << '\n';

}

Благодарю.

Кстати, я смотрел на это решение, но я не мог понять.
Преобразовать строку байтов в cv :: mat

Я не смог найти тип байта в c ++, и я думаю, что может быть прямое преобразование между объектом String в Mat.

0

Решение

Вы можете сохранить что-нибудь (почти что) в OpenCV в текстовый файл .xml или .yml, а затем прочитать его обратно, используя OpenCV XML / YAML Файловое хранилище методы.

Я настоятельно рекомендую использовать нативные методы C ++ для работы с файлами.

Он специально разработан для того, чтобы справиться со всем этим.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]