writeVideo
비디오 데이터를 파일에 쓰기
설명
예제
이미지를 Motion JPEG 2000 파일에 쓰기
RGB 이미지를 무손실 압축을 사용한 Motion JPEG 2000 파일에 씁니다.
견본 스틸 이미지 peppers.png
의 데이터가 포함된 배열을 만듭니다.
A = imread("peppers.png");
새 비디오 파일을 위한 VideoWriter
객체를 만듭니다. "Archival"
프로파일을 사용하여 무손실 압축을 사용한 Motion JPEG 2000 파일을 지정합니다.
v = VideoWriter("myFile","Archival");
새 파일의 비디오 압축 유형을 확인합니다.
v.VideoCompressionMethod
ans = 'Motion JPEG 2000'
쓰려는 VideoWriter
객체를 열고 A
의 이미지 데이터를 파일에 씁니다.
open(v) writeVideo(v,A)
VideoWriter
객체를 닫습니다.
close(v)
인덱스 이미지를 AVI 파일에 쓰기
샘플 인덱스 이미지 파일 corn.tif
에서 이미지와 컬러맵 데이터를 읽습니다.
[X,map] = imread("corn.tif");
새 인덱스 AVI 파일을 위한 VideoWriter
객체를 만듭니다.
v = VideoWriter("myIndexed.avi","Indexed AVI");
v
의 Colormap
속성에 컬러맵 데이터를 할당합니다.
v.Colormap = map;
쓰려는 VideoWriter
객체를 엽니다. v
를 연 후에는 속성을 변경할 수 없습니다.
open(v)
X
의 이미지 데이터를 비디오 파일에 씁니다.
writeVideo(v,X)
VideoWriter
객체를 닫습니다.
close(v)
MPEG-4 파일을 AVI 파일로 변환하기
샘플 비디오를 읽고 쓰는 객체를 만들고, 쓰려는 AVI 파일을 엽니다.
reader = VideoReader("xylophone_video.mp4"); writer = VideoWriter("transcoded_xylophone.avi","Uncompressed AVI"); writer.FrameRate = reader.FrameRate; open(writer);
각 프레임을 읽고 씁니다.
while hasFrame(reader) img = readFrame(reader); writeVideo(writer,img) end
VideoReader
객체를 지우고 VideoWriter
객체를 닫습니다.
clear reader
close(writer)
애니메이션에서 AVI 파일 만들기
좌표축과 Figure 속성을 설정하여 비디오에 대한 프레임을 생성합니다.
Z = peaks; surf(Z); axis tight manual
set(gca,"NextPlot","replacechildren")
출력 비디오 파일에 대한 VideoWriter
객체를 만들고, 쓰려는 객체를 엽니다.
v = VideoWriter("peaks.avi");
open(v)
일련의 프레임을 생성하고, Figure에서 각 프레임을 가져온 다음, 각 프레임을 파일에 씁니다.
for k = 1:20 surf(sin(2*pi*k/20)*Z,Z) frame = getframe(gcf); writeVideo(v,frame) end
VideoWriter
객체를 닫습니다.
close(v)
입력 인수
v
— 입력 VideoWriter
객체
VideoWriter
객체
입력 VideoWriter
객체입니다. VideoWriter
를 사용하여 객체를 만듭니다.
img
— 회색조 또는 RGB 색 이미지를 나타내는 값
2차원 배열 | 3차원 배열 | 4차원 배열
회색조 또는 RGB 색 이미지를 나타내는 값으로, 2차원 배열, 3차원 배열 또는 4차원 배열로 지정됩니다.
단일 회색조, 단색 또는 인덱스 이미지의 경우,
img
는 2차원(높이×너비)이어야 합니다.단일 트루컬러(RGB) 이미지의 경우,
img
는 3차원(높이×너비×3)입니다.회색조 이미지 시퀀스의 경우,
img
는 4차원(높이×너비×1×프레임)입니다. 파일 내 모든 프레임의 높이와 너비는 일관되어야 합니다.RGB 이미지 시퀀스의 경우,
img
는 4차원(높이×너비×3×프레임)입니다. 파일 내 모든 프레임의 높이와 너비는 일관되어야 합니다.
AVI 또는 MPEG-4 파일을 만들 경우:
img
는 하나 이상의 회색조나 RGB 색 이미지를 나타내는single
형,double
형 또는uint8
값들로 구성된 배열이며,writeVideo
는 이를 하나 이상의 RGB 비디오 프레임으로 씁니다.single
형 또는double
형의 데이터는 인덱스 AVI 파일을 쓸 경우를 제외하고는[0,1]
범위에 있어야 합니다.
Motion JPEG 2000 파일을 만들 경우:
img
는 하나 이상의 단색이나 RGB 색 이미지에 나타내는uint8
,int8
,uint16
또는int16
값들로 구성된 배열입니다.
데이터형: single
| double
| int8
| int16
| uint8
| uint16
frame
— 프레임 데이터
1×1 구조체 배열 | 구조체의 1×F
배열
프레임 데이터로, 단일 프레임을 나타내는 1×1 구조체 배열이나 다중 프레임을 나타내는 구조체의 1×F
배열로 지정됩니다. 각 프레임에는 cdata
필드와 colormap
필드가 포함됩니다. 일반적으로 frame
배열은 getframe
함수에서 반환됩니다.
colormap
이 비어 있지 않은 경우, cdata
의 각 요소는 2D(높이×너비) 배열이어야 합니다. 파일 내 모든 프레임의 높이와 너비는 일관되어야 합니다.
colormap
에는 최대 256개 항목이 포함될 수 있습니다. colormap
의 각 요소는 [0,1]
범위에 있어야 합니다.
VideoWriter
객체를 만들 때 profile
입력값과 cdata
크기에 따라 writeVideo
가 frame
을 사용하는 방식이 결정됩니다.
VideoWriter 객체의 profile | cdata 의 각 요소의 크기 | writeVideo 의 동작 |
---|---|---|
| 2차원(높이×너비) | 프레임을 제공된 대로 사용합니다. |
'Grayscale AVI' | 2차원(높이×너비) | 프레임을 제공된 대로 사용합니다. colormap 이 비워져 있어야 합니다. |
기타 모든 프로파일 | 2차원(높이×너비) | colormap 필드를 사용하여 RGB 이미지 프레임을 생성합니다. |
3차원(높이×너비×3) | colormap 필드를 무시합니다. cdata 필드를 사용하여 RGB 이미지 프레임을 생성합니다. |
데이터형: struct
버전 내역
R2010b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)