Создайте объект записать видеофайлы
Используйте VideoWriter
объект создать видеофайл из массива или MATLAB® фильм. Объект содержит информацию о видео и свойствах, которые управляют выходным видео. Можно создать VideoWriter
объект с помощью VideoWriter
функционируйте, задайте его свойства, и затем запишите видео, используя функции объекта.
создает 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
profile
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
Colormap
— Информация о цвете для видеофайлаP
- 3 числовых матрицыИнформация о цвете для видеофайла в виде числовой матрицы с тремя столбцами и максимумом 256 строк. Каждая строка в матрице задает один цвет с помощью триплета RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
.
Можно установить палитру явным образом перед вызовом open
, или при помощи colormap
поле структуры кадра фильма во время записи первой системы координат.
Colormap
свойство только применяется к объектам, используемым для записи индексируемых файлов AVI.
Пример: colormap(summer(256))
Типы данных: double |
uint8
CompressionRatio
— Целевой коэффициент сжатия
(значение по умолчанию) | целое число, больше, чем 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
NumberOfFrames Это свойство доступно только для чтения.
Количество кадров, записанное в видеофайл в виде целого числа.
Типы данных: double
FrameRate
— Уровень воспроизведения видео
(значение по умолчанию) | положительное числоУровень воспроизведения видео в кадрах в секунду в виде положительного числа.
После того, как вы вызываете open
, вы не можете изменить FrameRate
значение.
Пример: 10
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Height
— Высота каждого видеокадраЭто свойство доступно только для чтения.
Высота каждого видеокадра в пикселях в виде скаляра. 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
— Качество видео
(значение по умолчанию) | целое число в области значений [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 с видео истинного цвета, 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);
backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.