Создайте объект для записи видео файлов
Использование VideoWriter
объект, чтобы создать видео файла из массива или MATLAB® фильм. Объект содержит информацию о видео и свойствах, которые управляют выходом видео. Можно создать VideoWriter
объект с использованием VideoWriter
function, задайте его свойства, а затем запишите видео с помощью функций object.
filename
- Имя файлаИмя файла, заданное как вектор символов или строковый скаляр. VideoWriter
создает файл.
VideoWriter
поддерживает эти расширения файлов.
|
AVI- файла |
|
Файл Motion JPEG 2000 |
| MPEG-4 файл (системы с Windows® 7 или более поздней версии, или macOS 10.7 и более поздней) |
Если вы не задаете допустимое расширение файла, VideoWriter
добавляет расширение .avi
, .mj2
, или .mp4
, в зависимости от значения profile
аргумент. Если вы не задаете значение для profile
, затем VideoWriter
создает сжатый файл AVI Движущийся JPEG с расширением .avi
.
Пример: 'myFile.avi'
Пример: '../dir/videos/myFile.mj2'
Типы данных: char
| string
profile
- Тип файла'Motion JPEG AVI'
(по умолчанию) | 'Archival'
| 'Motion JPEG 2000'
| ...Тип файла, заданный как один из следующих.
Значение profile | Описание |
---|---|
|
Файл Motion JPEG 2000 со сжатием без потерь |
|
AVI файла с использованием Движущегося JPEG кодировки |
|
Файл Motion JPEG 2000 |
| MPEG-4 файл с H.264 кодировкой (системы с Windows 7 или более поздней версии или macOS 10.7 и более поздней) |
|
Несжатый файл AVI с |
|
Несжатый файл AVI с индексированным видео |
|
Несжатый файл AVI с полутоновым видео |
profile
устанавливает значения по умолчанию для свойств видео, таких как VideoCompressionMethod
.
Типы данных: char
| string
VideoWriter
объект содержит свойства, которые управляют выходом видео. Можно создать VideoWriter
объект со свойствами, адаптированными к определенному формату, такому как 'Uncompressed AVI'
или 'MPEG-4'
, при помощи VideoWriter
функция с предопределенным профилем. Для примера можно создать VideoWriter
объект со Motion JPEG AVI
и присвойте значение Quality
свойство.
v = VideoWriter('newfile.avi','Motion JPEG AVI'); v.Quality = 95;
После того, как вы вызываете open
функция на VideoWriter
объект, вы не можете изменить значение свойства. Поэтому измените значения свойств перед открытием файла видео для записи.
ColorChannels
- Количество цветовых каналовЭто свойство доступно только для чтения.
Количество цветовых каналов в каждом выходном видеокадре, заданное в виде положительного целого числа:
Несжатые файлы AVI, Motion JPEG AVI и MPEG-4 имеют три цветовых канала.
Индексированные и полутоновые файлы AVI имеют один цветовой канал.
Для файлов Motion JPEG 2000 количество каналов зависит от входных данных к writeVideo
функция: один для монохромных данных или три для цветовых данных.
Типы данных: double
Colormap
- Информация о цвете для видеофайлаP
-by-3 числовая матрицаИнформация о цвете для файла видео, заданная как числовая матрица с тремя столбцами и максимум 256 строками. Каждая строка в матрице задает один цвет с помощью триплета RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
.
Перед вызовом можно явным образом задать палитру open
, или при помощи colormap
поле структуры кадра фильма во время записи первой системы координат.
The Colormap
свойство применяется только к объектам, используемым для записи индексированных файлов AVI.
Пример: colormap(summer(256))
Типы данных: double
| uint8
CompressionRatio
- Целевой коэффициент сжатия10
(по умолчанию) | целое число, больше 1Целевой коэффициент сжатия, заданный как целое число, больше 1. Степень сжатия является отношением между количеством байтов в вход изображении и количеством байтов в сжатом изображении. Видео данных максимально сжато, вплоть до заданной цели.
CompressionRatio
доступен только для объектов, используемых для записи файлов Motion JPEG 2000. После звонка open
, вы не можете изменить CompressionRatio
значение. Если вы ранее установили LosslessCompression
на true
, затем установка CompressionRatio
генерирует ошибку.
Пример: 5
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Duration
- Длительность выходного файлаЭто свойство доступно только для чтения.
Длительность выходного файла в секундах, заданная как скалярное значение.
Типы данных: double
FileFormat
- Тип файла для записи'avi'
| 'mp4'
| 'mj2'
Это свойство доступно только для чтения.
Тип файла для записи, заданный как 'avi'
, 'mp4'
, или 'mj2'
.
Типы данных: char
| string
Filename
- Имя файлаЭто свойство доступно только для чтения.
Имя файла, заданное как вектор символов или строковый скаляр.
Типы данных: char
| string
FrameCount
- Количество систем координатЭто свойство доступно только для чтения.
Количество систем координат, записанных в видео файла, заданное в виде целого числа.
Типы данных: double
FrameRate
- Скорость воспроизведения видео30
(по умолчанию) | положительное числоЧастота воспроизведения видео в системах координат в секунду, заданная как положительное число.
После звонка open
, вы не можете изменить FrameRate
значение.
Пример: 10
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Height
- Высота каждого видеокадраЭто свойство доступно только для чтения.
Высота каждого видеокадра в пикселях, заданная как скаляр. The writeVideo
метод устанавливает значения для Height
и Width
на основе размерностей первой системы координат.
MPEG-4 файлы требуют размерностей системы координат, которые делятся на два. Если высота входного кадра для файла MPEG-4 не является четным числом, то VideoWriter
заполняет систему координат строкой черных пикселей внизу. Для MPEG-4 файлов в системах Windows допустимое значение зависит от версии Windows.
Типы данных: double
LosslessCompression
- Сжатие без потерьtrue
| false
Сжатие без потерь, заданное как true
или false
. The LosslessCompression
свойство доступно только для объектов, используемых для записи файлов Motion JPEG 2000.
Если LosslessCompression
является true
, затем:
The writeVideo
функция записывает данные так, чтобы декомпрессированные данные были идентичны входным данным.
VideoWriter
игнорирует любое заданное значение для CompressionRatio
.
После звонка open
, вы не можете изменить LosslessCompression
значение.
По умолчанию LosslessCompression
является false
для 'Motion JPEG 2000'
профиль и true
для 'Archival'
профиль.
Типы данных: logical
MJ2BitDepth
- Битовая глубина для файлов Motion JPEG 2000[1,16]
Битовая глубина для файлов Motion JPEG 2000, заданная в виде целого числа в области значений [1,16]
. Битовая глубина является количеством наименее значимых битов во входных данных изображения
MJ2BitDepth
доступен только для объектов, используемых для записи файлов Motion JPEG 2000. Если вы не задаете значение перед вызовом open
метод, затем VideoWriter
устанавливает битовую глубину на основе типа входных данных. Для примера, если входные данные для writeVideo
является массивом uint8
или int8
значения, затем MJ2BitDepth
является 8
.
Пример: 8
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Path
- Полный путь к видеофайлуЭто свойство доступно только для чтения.
Полный путь к файлу видео, заданный как вектор символов или строковый скаляр.
Типы данных: char
| string
Quality
- Качество видео75
(по умолчанию) | целое число в области значений [0,100]
Качество видео, заданное в виде целого числа в области значений, [0,100]
. Более высокие номера качества приводят к более высокому качеству видео и большим размерам файлов. Более низкие номера качества приводят к снижению качества видео и меньшим размерам файлов.
Quality
доступен только для объектов, связанных с MPEG-4
или Motion JPEG AVI
профиль. После звонка open
, вы не можете изменить Quality
значение.
Пример: 50
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
VideoBitsPerPixel
- Количество битов на пиксельЭто свойство доступно только для чтения.
Количество бит на пиксель в каждом выходе видеокадре, заданное как числовой скаляр.
Файлы AVI с видео truecolor, Motion JPEG AVI и файлы MPEG-4 имеют 24 бита на пиксель (8 бит для каждой из трех цветовых полос).
Индексированные и полутоновые файлы AVI имеют 8 биты на пиксель.
Для файлов Motion JPEG 2000 количество бит на пиксель зависит от значения MJ2BitDepth
и количество полос данных изображений. Для примера, если входные данные для writeVideo
является трехмерным массивом uint16
или int16
значения, затем значение по умолчанию MJ2BitDepth
является 16
, и VideoBitsPerPixel
является 48
(в три раза больше глубины бита).
Типы данных: double
VideoCompressionMethod
- Тип сжатия видео'None'
| 'H.264'
| 'Motion JPEG'
| 'Motion JPEG 2000'
Это свойство доступно только для чтения.
Тип сжатия видео, заданный как 'None'
, 'H.264'
, 'Motion JPEG'
, или 'Motion JPEG 2000'
.
Типы данных: char
| string
VideoFormat
- MATLAB представление видеоформатаЭто свойство доступно только для чтения.
MATLAB-представление видео- формата, заданное в виде вектора символов или строкового скаляра.
Для типов файлов, отличных от файлов Motion JPEG 2000, VideoWriter
устанавливает VideoFormat
к одному из следующих.
Формат видео |
Значение |
---|---|
Несжатые файлы AVI, Motion JPEG AVI или MPEG-4 | 'RGB24' |
Файлы AVI с индексированным видео | 'Indexed' |
AVI- файлов с полутоновым видео | 'Grayscale' |
Для файлов Motion JPEG 2000, VideoWriter
устанавливает VideoFormat
на основе значения MJ2BitDepth
и формат входных данных изображения в writeVideo
способ. Для примера, если вы не задаете MJ2BitDepth
свойство, затем VideoWriter
устанавливает формат как показано здесь.
Формат данных изображений |
Значение |
---|---|
Однополосный uint8 | 'Mono8' |
Однополосный int8 | 'Mono8 Signed' |
Однополосный uint16 | 'Mono16' |
Однополосный int16 | 'Mono16 Signed' |
Трехполосный uint8 | 'RGB24' |
Трехполосный int8 | 'RGB24 Signed' |
Трехполосный uint16 | 'RGB48' |
Трехполосный int16 | 'RGB48 Signed' |
Типы данных: char
| string
Width
- Ширина каждого видеокадраЭто свойство доступно только для чтения.
Ширина каждого видеокадра в пикселях, заданная как числовой скаляр. The writeVideo
функция устанавливает значения для Height
и Width
на основе размерностей первой системы координат.
MPEG-4 файлы требуют размерностей системы координат, которые делятся на два. Если ширина входного кадра для файла MPEG-4 не является четным числом, то VideoWriter
заполняет систему координат столбцом черных пикселей на правой оси. Для MPEG-4 файлов в системах Windows допустимое значение зависит от версии Windows.
Типы данных: double
open | Откройте файл для записи видео данных |
close | Закройте файл после записи видео данных |
writeVideo | Запись видео данных в файл |
VideoWriter.getProfiles | Профили и форматы файлов, которые VideoWriter поддержки |
Запись видео в файл путем создания массива со случайными данными, создания VideoWriter
объект для файла выхода, а затем запись массива в видео.
Создайте матрицу данных 300 на 300.
A = rand(300);
Создайте VideoWriter
объект для записи файла Motion JPEG AVI с именем newfile.avi
и откройте файл для записи.
v = VideoWriter('newfile.avi');
open(v)
Запишите матрицу данных A
к видео файла.
writeVideo(v,A)
Закройте файл.
close(v)
Создайте видео объекта с заданным профилем, создайте массив, содержащий изображение RGB, а затем запишите массив в видео- файл.
Создайте VideoWriter
объект для нового несжатого файла AVI для RGB24 видео.
v = VideoWriter('newfile.avi','Uncompressed AVI');
Откройте файл для записи.
open(v)
Создайте массив, содержащий данные из выборки неподвижного изображения, peppers.png
. Запишите изображение в A
к видео файла.
A = imread('peppers.png');
writeVideo(v,A)
Закройте файл.
close(v)
Запишите последовательность систем координат в сжатый 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);
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.