Создайте объект записать видеофайлы
Используйте 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);
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.