Запишите видеофайлы
Используйте объект VideoWriter
создать видеофайл из фильм MATLAB® или массива. Объект содержит информацию о видео и свойствах, которые управляют выходным видео. Можно создать объект VideoWriter
с помощью функции VideoWriter
, задать ее свойства, и затем записать функции объекта использования видео.
v = VideoWriter(filename)
v = VideoWriter(filename,profile)
создает объект v
= VideoWriter(filename
)VideoWriter
записать видеоданные в файл AVI со сжатием Движущегося JPEG.
fileName
FileName Имя файла, заданное как вектор символов или скаляр строки. VideoWriter
создает файл.
VideoWriter
поддерживает эти расширения файла.
|
Файл AVI |
|
Файл Motion JPEG 2000 |
| Файл MPEG-4 (системы с Windows® 7 или позже, или macOS 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 | Описание |
---|---|
|
Файл 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
Палитра
Информация о цвете для видеофайлаP
-by-3 числовая матрицаИнформация о цвете для видеофайла, заданного как числовая матрица с тремя столбцами и максимумом 256 строк. Каждая строка в матрице задает один цвет с помощью триплета RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
.
Можно установить палитру явным образом перед вызовом open
, или при помощи поля colormap
структуры кадра фильма во время записи первого кадра.
Свойство 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
Длительность
Длительность выходного файлаЭто свойство доступно только для чтения.
Длительность выходного файла в секундах, заданных как скалярное значение.
Типы данных: 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
только доступно для объектов, используемых для того, чтобы записать файлы Motion JPEG 2000.
Если LosslessCompression
является true
, то:
Функция writeVideo
записывает данные так, чтобы распакованные данные были идентичны входным данным.
VideoWriter
игнорирует любое заданное значение для CompressionRatio
.
После того, как вы вызовете open
, вы не можете изменить значение LosslessCompression
.
По умолчанию LosslessCompression
является false
для профиля 'Motion JPEG 2000'
и true
для профиля 'Archival'
.
Типы данных: логический
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
доступен только для объектов, сопоставленных с профилем 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 бит на пиксель.
Для файлов Motion JPEG 2000 количество бит на пиксель зависит от значения MJ2BitDepth
и количества полос данных изображения. Например, если входные данные к writeVideo
являются 3D массивом 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
на одно из следующих.
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
Ширина каждого кадра видеоЭто свойство доступно только для чтения.
Ширина каждого кадра видео в пикселях, заданных в виде числа. Функция 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 путем генерации последовательности кадров, создания видео объекта для файла, чтобы записать в, и затем записи кадров в видеофайл.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.