Запишите видеоданные в файл
writeVideo(v,img)
writeVideo(v,frame)
записывает данные от массива до видеофайла, сопоставленного с writeVideo(v,img)
v
.
Необходимо вызвать open(v)
прежде, чем вызвать writeVideo
.
пишет один или несколько кадров фильма, обычно возвращенных функцией writeVideo(v,frame)
getframe
.
Запишите изображение RGB в Движущийся JPEG 2 000 файлов со сжатием без потерь.
Создайте массив, содержащий данные из демонстрационного неподвижного изображения, peppers.png
.
A = imread('peppers.png');
Создайте объект VideoWriter
для нового видеофайла. Используйте профиль 'Archival'
, чтобы задать Движущийся JPEG 2 000 файлов со сжатием без потерь.
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);
v
— Input VideoWriter
VideoWriter
Объект Input VideoWriter
. Используйте VideoWriter
, чтобы создать объект.
img
Значения, представляющие полутоновые изображения или цветные изображения RGBЗначения, представляющие полутоновые изображения или цветные изображения 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.
При создании Движущегося JPEG 2 000 файлов:
img
является массивом uint8
, int8
, uint16
или значений int16
, представляющих одно или несколько монохромных или цветных изображений RGB.
Типы данных: единственный
| удваиваются
| int8
| int16
| uint8
| uint16
frame
— Структурируйте данныеF
массивом структурСтруктурируйте данные, заданные как массив структур 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 |
---|---|---|
| 2D (высота шириной) | Используйте кадр как предусмотрено. |
'Grayscale AVI' | 2D (высота шириной) | Используйте кадр как предусмотрено. colormap должен быть пустым. |
Все другие профили | 2D (высота шириной) | Создайте фреймы изображения RGB с помощью поля colormap |
3-D (высота шириной 3) | Проигнорируйте поле colormap . Создайте фреймы изображения RGB с помощью поля cdata |
Типы данных: struct
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.