Запишите видеофайлы
Используйте объект VideoWriter
создать видеофайл из фильм MATLAB® или массива. Объект содержит информацию о видео и свойствах, которые управляют выходным видео. Можно создать объект VideoWriter
с помощью функции VideoWriter
, задать ее свойства, и затем записать функции объекта использования видео.
v = VideoWriter(filename)
v = VideoWriter(filename,profile)
fileName
FileName Имя файла, заданное как вектор символа или скаляр строки. VideoWriter
создает файл.
VideoWriter
поддерживает эти расширения файла.
|
Файл AVI |
|
Движущийся JPEG 2 000 файлов |
|
Файл MPEG 4 (системы с Windows® 7 или позже, или Mac OS X 10.7 и позже) |
Если вы не задаете расширение правильного файла, VideoWriter
добавляет дополнительный .avi
, .mj2
или .mp4
, в зависимости от значения аргумента profile
. Если вы не задаете значение для profile
, то VideoWriter
создает Движущийся JPEG сжатый файл AVI с дополнительным .avi
.
Пример: 'myFile.avi'
Пример: '../dir/videos/myFile.mj2'
Типы данных: char | string
профиль
FileType 'Motion JPEG AVI'
(значение по умолчанию) | 'Archival'
| 'Motion JPEG 2000'
|...Тип файла, заданный как один из них.
Значение profile | Описание |
---|---|
|
Движущийся JPEG 2 000 файлов со сжатием без потерь |
|
Файл AVI с помощью кодирования Движущегося JPEG |
|
Движущийся JPEG 2 000 файлов |
|
Файл MPEG 4 с кодированием H.264 (системы с Windows 7 или позже, или Mac OS X 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 имеют один цветовой канал.
Для Движущегося JPEG 2 000 файлов количество каналов зависит от входных данных к функции writeVideo
: один для монохромных данных или три для цветных данных.
Типы данных: double
Палитра
Информация о цвете для видеофайлаP
-by-3 числовая матрицаИнформация о цвете для видеофайла, заданного как числовая матрица с тремя столбцами и максимумом 256 строк. Каждая строка в матрице задает один цвет с помощью триплета RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
.
Можно установить палитру явным образом перед вызовом open
, или при помощи поля colormap
структуры кадра фильма во время записи первого кадра.
Свойство Colormap
только применяется к объектам, используемым за запись индексируемых файлов AVI.
Пример: палитра (лето (256))
Типы данных: удвойтесь
| uint8
'CompressionRatio'
Целевой коэффициент сжатия10
(значение по умолчанию) | целое число, больше, чем 1Целевой коэффициент сжатия, заданный как целое число, больше, чем 1. Коэффициент сжатия является отношением между количеством байтов во входном изображении и количеством байтов в сжатом изображении. Видеоданные сжаты как можно больше до заданной цели.
CompressionRatio
доступен только для объектов, используемых для записи Движущегося JPEG 2 000 файлов. После того, как вы вызовете open
, вы не можете изменить значение CompressionRatio
. Если вы ранее устанавливаете LosslessCompression
на true
, то установка CompressionRatio
генерирует ошибку.
Пример 5
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Длительность
Длительность выходного файлаЭто свойство доступно только для чтения.
Длительность выходного файла в секундах, заданных как скалярное значение.
Типы данных: double
FileFormat
Тип файла, чтобы записать'avi'
| 'mp4'
| 'mj2'
Это свойство доступно только для чтения.
Тип файла, чтобы записать, заданный как 'avi'
, 'mp4'
или 'mj2'
.
Типы данных: char | string
FileName
Имя файлаЭто свойство доступно только для чтения.
Имя файла, заданного как вектор символа или скаляр строки.
Типы данных: char | string
FrameCount
NumberOfFrames Это свойство доступно только для чтения.
Количество кадров записано в видеофайл, заданный как целое число.
Типы данных: double
FrameRate
Уровень воспроизведения видео30
(значение по умолчанию) | положительное числоУровень воспроизведения видео в кадрах в секунду, заданных как положительное число.
После того, как вы вызовете open
, вы не можете изменить значение FrameRate
.
Пример: 10
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Высота
Высота каждого кадра видеоЭто свойство доступно только для чтения.
Высота каждого кадра видео в пикселях, заданных как скаляр. Метод writeVideo
устанавливает значения для Height
и Width
на основе размерностей первого кадра.
MPEG 4 файла требуют размерностей кадра, которые являются делимыми два. Если входная высота кадра для файла MPEG 4 не является четным числом, то VideoWriter
заполняет кадр строкой черных пикселей в нижней части. Для MPEG 4 файла в системах Windows позволенное значение зависит от версии Windows.
Типы данных: double
LosslessCompression
LosslessCompression true
| false
Сжатие без потерь, заданное как true
или false
. Свойство LosslessCompression
только доступно для объектов, используемых для записи Движущегося JPEG 2 000 файлов.
Если LosslessCompression
является true
, то:
Функция writeVideo
записывает данные так, чтобы распакованные данные были идентичны входным данным.
VideoWriter
игнорирует любое заданное значение для CompressionRatio
.
После того, как вы вызовете open
, вы не можете изменить значение LosslessCompression
.
По умолчанию LosslessCompression
является false
для профиля 'Motion JPEG 2000'
и true
для профиля 'Archival'
.
Типы данных: логический
MJ2BitDepth
Битовая глубина для Движущегося JPEG 2 000 файлов[1,16]
Битовая глубина для Движущегося JPEG 2 000 файлов, заданных как целое число в области значений [1,16]
. Битовая глубина является количеством младших значащих битов во входных данных изображения
MJ2BitDepth
доступен только для объектов, используемых для записи Движущегося JPEG 2 000 файлов. Если вы не задаете значение прежде, чем вызвать метод 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
доступен только для объектов, сопоставленных с профилем Motion JPEG AVI
или MPEG-4
. После того, как вы вызовете open
, вы не можете изменить значение Quality
.
Пример: 50
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
VideoBitsPerPixel
Количество бит на пиксельЭто свойство доступно только для чтения.
Количество бит на пиксель в каждом выходном кадре видео, заданном в виде числа.
Файлы AVI с видео истинного цвета, Motion JPEG AVI и MPEG 4 файла имеют 24 бита на пиксель (8 битов для каждой из трех цветных полос).
Индексированные и полутоновые файлы AVI имеют 8 бит на пиксель.
Для Движущегося JPEG 2 000 файлов количество бит на пиксель зависит от значения 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 формата видео, заданного как вектор символа или скаляр строки.
Для типов файлов кроме Движущегося JPEG 2 000 файлов VideoWriter
устанавливает VideoFormat
на одно из следующих.
VideoFormat |
Значение |
---|---|
Несжатый AVI, Motion JPEG AVI или MPEG 4 файла | 'RGB24' |
Файлы AVI с индексируемым видео | 'Indexed' |
Файлы AVI с полутоновым видео | 'Grayscale' |
Для Движущегося JPEG 2 000 файлов 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
Ширина каждого кадра видеоЭто свойство доступно только для чтения.
Ширина каждого кадра видео в пикселях, заданных в виде числа. Функция writeVideo
устанавливает значения для Height
и Width
на основе размерностей первого кадра.
MPEG 4 файла требуют размерностей кадра, которые являются делимыми два. Если входная ширина кадра для файла MPEG 4 не является четным числом, то VideoWriter
заполняет кадр столбцом черных пикселей вдоль правой стороны. Для MPEG 4 файла в системах Windows позволенное значение зависит от версии Windows.
Типы данных: double
открытый | Открытый файл для записи видеоданных |
близко | Закройте файл после записи видеоданных |
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 путем генерации последовательности кадров, создания видео объекта для файла, чтобы записать в, и затем записи кадров в видеофайл.
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);
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.