Запись видеоданных в файл
Запись изображения 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);
v - Вход VideoWriter объектVideoWriter объектВход VideoWriter объект. Использовать VideoWriter для создания объекта.
img - Значения, представляющие цветные изображения в градациях серого или RGBЗначения, представляющие цветные изображения в градациях серого или RGB, указанные как массив 2-D, 3-D или 4-D:
Для одного изображения в градациях серого, монохромного или индексированного изображения img должен быть двумерным: высота по ширине
Для одного изображения truecolor (RGB), img является трехмерным: высота за шириной за 3.
Для последовательности изображений в градациях серого: img четырехмерный:. высота за шириной за 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
frame - Данные кадраF массив структурДанные кадра, заданные как массив структуры 1 к 1, представляющий один кадр, или 1 к -F массив структур, представляющих множество кадров. Каждый кадр содержит два поля: cdata и colormap. frame массив обычно возвращается getframe функция.
Если colormap не пуст, то каждый элемент cdata должен быть массивом 2-D (высота за шириной). Высота и ширина должны быть одинаковыми для всех кадров в файле.
colormap может содержать не более 256 записей. Каждый элемент colormap должно находиться в диапазоне [0,1].
При создании VideoWriter объект. profile входные данные и размер cdata определить, как writeVideo использование frame.
profile из VideoWriter объект | Размер каждого элемента cdata | Поведение writeVideo |
|---|---|---|
| 2-D (высота по ширине) | Используйте рамку, как указано. |
'Grayscale AVI' | 2-D (высота по ширине) | Используйте рамку, как указано. colormap должно быть пустым. |
Все остальные профили | 2-D (высота по ширине) | Создание RGB-кадров изображения с помощью colormap область |
| 3-D (высота за шириной за 3) | Игнорировать colormap поле. Создание RGB-кадров изображения с помощью cdata область |
Типы данных: struct
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.