writeVideo

Запишите видеоданные в файл

Синтаксис

writeVideo(v,img)
writeVideo(v,frame)

Описание

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 путем генерации последовательности кадров, создания видео объекта для файла, чтобы записать в, и затем записи кадров в видеофайл.

Setup оси и свойства фигуры сгенерировать кадры для видео.

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);

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

свернуть все

Объект Input VideoWriter. Используйте VideoWriter, чтобы создать объект.

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

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

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

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

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

При создании 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. Массив frame обычно возвращается функцией getframe.

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

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

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

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

'Indexed AVI'

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

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

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

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

Смотрите также

| | |

Представленный в R2010b

Для просмотра документации необходимо авторизоваться на сайте