writeVideo

Запись видео данных в файл

Описание

writeVideo(v,img) записывает данные из массива в видео- файл, сопоставленное с v.

Вы должны позвонить open(v) перед вызовом writeVideo.

пример

writeVideo(v,frame) записывает один или несколько кадров фильма, обычно возвращаемых getframe функция.

Примеры

свернуть все

Запись изображения RGB в файл Motion JPEG 2000 со сжатием без потерь.

Создайте массив, содержащий данные из выборки неподвижного изображения, peppers.png.

A = imread('peppers.png');

Создайте VideoWriter объект для нового видео- файла. Используйте 'Archival' для задания файла Motion JPEG 2000 со сжатием без потерь.

v = VideoWriter('myFile','Archival');

Проверьте тип сжатия видео для нового файла.

v.VideoCompressionMethod
ans = 
'Motion JPEG 2000'

Откройте файл видео для записи. Затем запишите данные изображения в A в файл.

open(v)
writeVideo(v,A)

Закройте файл видео.

close(v)

Считайте данные изображения и палитры из выборки файла индексированного изображения, corn.tif.

[X,map] = imread('corn.tif');

Создайте VideoWriter объект для нового индексированного файла AVI.

v = VideoWriter('myIndexed.avi','Indexed AVI');

Присвойте данные палитры Colormap свойство v.

v.Colormap = map;

Откройте файл для записи. После того, как вы откроете файл, вы не можете изменить свойства v.

open(v)

Запишите данные изображения в X к видео файла. Затем закройте файл.

writeVideo(v,X)
close(v)

Преобразуйте файл примера, xylophone.mp4, в несжатый файл AVI.

Создайте объекты для чтения и записи видео и откройте файл AVI для записи.

reader = VideoReader('xylophone.mp4');
writer = VideoWriter('transcoded_xylophone.avi', ...
                        'Uncompressed AVI');

writer.FrameRate = reader.FrameRate;
open(writer);

Чтение и запись каждой системы координат.

while hasFrame(reader)
   img = readFrame(reader);
   writeVideo(writer,img);
end

close(writer);

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

Настройте свойства осей и рисунка, чтобы сгенерировать системы координат для видео.

Z = peaks;
surf(Z); 
axis tight manual 
set(gca,'nextplot','replacechildren'); 

Создайте объект средства записи видео для выхода видео файла и откройте объект для записи.

v = VideoWriter('peaks.avi');
open(v);

Сгенерируйте набор систем координат, получите систему координат из рисунка, а затем запишите каждую систему координат в файл.

for k = 1:20 
   surf(sin(2*pi*k/20)*Z,Z)
   frame = getframe(gcf);
   writeVideo(v,frame);
end

close(v);

Входные параметры

свернуть все

Входные VideoWriter объект. Использование VideoWriter чтобы создать объект.

Значения, представляющие цветные изображения в полутоновом или RGB, заданные в виде 2-D, 3-D или 4-D массива:

  • Для одинарного полутонового, монохромного или индексированного изображения, img должен быть двумерным: высота по ширине

  • Для изображения с одним truecolor (RGB), img является трехмерным: высота на ширину на 3.

  • Для последовательности полутоновых изображений, img является четырехмерным:. системы координат. Высота и ширина должны быть последовательными для всех систем координат в файле.

  • Для последовательности изображений RGB, img является четырехмерным: системы координат. Высота и ширина должны быть последовательными для всех систем координат в файле.

При создании файлов AVI или MPEG-4:

  • img является массивом single, double, или uint8 значения, представляющие одно или несколько цветных изображений полутонового или RGB, которые writeVideo записывает как один или несколько видеокадров RGB.

  • Данные типа single или double должно быть в области значений [0,1], за исключением случаев записи индексированных файлов AVI.

При создании файлов Motion JPEG 2000:

  • img является массивом uint8, int8, uint16, или int16 значения, представляющие одно или несколько монохромных или RGB цветных изображений.

Типы данных: single | double | int8 | int16 | uint8 | uint16

Система координат данные, заданные как массив структур 1 на 1, представляющий одну систему координат или 1-байт- F массив структур, представляющих несколько систем координат. Каждая система координат содержит два поля: cdata и colormap. The frame массив обычно возвращается getframe функция.

Если colormap не пуст, тогда каждый элемент cdata должен представлять собой 2-D массив (высота по ширине). Высота и ширина должны быть последовательными для всех систем координат в файле.

colormap может содержать не более 256 записей. Каждый элемент colormap должно быть в области значений [0,1].

Когда вы создаете VideoWriter объект. а profile вход и размер cdata определить, как writeVideo использует frame.

profile от VideoWriter объектРазмер каждого элемента cdata Поведение writeVideo

'Indexed AVI'

2-D (высота по ширине)Используйте систему координат как предусмотрено.
'Grayscale AVI'2-D (высота по ширине)Используйте систему координат как предусмотрено. colormap должен быть пустым.

Все другие профили

2-D (высота по ширине)Создайте системы координат изображения RGB с помощью colormap область
3-D (высота по ширине по 3)Игнорируйте colormap поле. Создайте системы координат изображения RGB с помощью cdata область

Типы данных: struct

Введенный в R2010b