movie
녹화된 동영상 프레임 재생
설명
movie(
는 figure 또는 axes 객체 h
,...)h
로 식별되는 Figure나 좌표축의 중심에서 동영상을 재생합니다. Figure나 좌표축을 지정하면 MATLAB®이 동영상을 사용 가능한 크기에 맞춥니다.
예제
프레임을 기록하고 동영상을 한 번 재생하기
루프에서 getframe
함수를 사용하여 peaks
예제 함수의 프레임을 기록한 다음 동영상 프레임을 한 번 재생합니다.
figure
객체 h
를 만듭니다. peaks
함수 Z
의 곡면 플롯을 초기화합니다. Figure 좌표축을 사용자 지정합니다.
h = figure; Z = peaks; surf(Z) axis tight manual ax = gca; ax.NextPlot = 'replaceChildren';
동영상 프레임을 저장하기 위해 요소를 40개 가진 배열 M
을 사전할당합니다.
loops = 40; M(loops) = struct('cdata',[],'colormap',[]);
j
의 각 반복에서 함수 X
의 각 플롯을 개별 프레임으로 캡처합니다. M
에 프레임을 저장합니다.
Figure 객체의 'Visible'
속성을 'off'
로 설정하여 X
를 계산하는 동안 곡면 플롯이 안 보이게 합니다.
h.Visible = 'off'; for j = 1:loops X = sin(j*pi/10)*Z; surf(X,Z) drawnow M(j) = getframe; end
Figure의 'Visible'
속성을 'on'
으로 설정하고 M
에 있는 동영상을 한 번 재생합니다.
h.Visible = 'on';
movie(M);
프레임이 계산되는 동안 Figure 플롯 보기
Figure 플롯이 계산되는 동안 Figure 플롯을 봅니다. 동영상 배열을 한 번 재생합니다.
figure
객체 h
를 만들고 곡면 플롯을 초기화합니다. Figure 좌표축을 사용자 지정합니다.
h = figure; Z = peaks; surf(Z) axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';
동영상 프레임을 저장하기 위해 요소를 40개 가진 배열 M
을 사전할당합니다.
loops = 40; M(loops) = struct('cdata',[],'colormap',[]);
함수 X
의 각 플롯을 개별 프레임으로 캡처하여 M
에 저장합니다.
for j = 1:loops X = sin(j*pi/10)*Z; surf(X,Z) drawnow M(j) = getframe; end
M
에 있는 동영상을 한 번 재생합니다.
movie(M);
동영상의 4개 프레임을 두 번 재생하기
동영상 배열의 4개 프레임을 두 번 재생합니다.
figure
객체 h
를 만들고 곡면 플롯을 초기화합니다. Figure 좌표축을 사용자 지정합니다.
h = figure; Z = peaks; surf(Z) axis tight manual ax = gca; ax.NextPlot = 'replaceChildren';
동영상 프레임을 저장하기 위해 요소를 40개 가진 배열 M
을 사전할당합니다.
loops = 40; M(loops) = struct('cdata',[],'colormap',[]);
함수 X
의 각 플롯을 개별 프레임으로 캡처하여 M
에 저장합니다.
figure 객체의 'Visible'
속성을 'off'
로 설정합니다.
h.Visible = 'off'; for j = 1:loops X = sin(j*pi/10)*Z; surf(X,Z) drawnow M(j) = getframe; end
Figure 객체의 'Visible'
속성을 'on'
으로 설정합니다. 동영상의 1번째, 15번째, 23번째, 36번째 프레임을 연속된 순서로 두 번 재생합니다. 동영상이 초당 12프레임을 재생하도록 설정합니다.
h.Visible = 'on';
movie(M,[2 1 15 23 36],12);
초당 프레임 지정하기
동영상을 재생할 초당 프레임 수를 지정합니다.
figure
객체 h
를 만들고 곡면 플롯을 초기화합니다. Figure 좌표축을 사용자 지정합니다.
h = figure; Z = peaks; surf(Z) axis tight manual ax = gca; ax.NextPlot = 'replaceChildren';
동영상 프레임을 저장하기 위해 요소를 40개 가진 배열 M
을 사전할당합니다.
loops = 40; M(loops) = struct('cdata',[],'colormap',[]);
함수 X
의 각 플롯을 개별 프레임으로 캡처하여 M
에 저장합니다.
figure 객체의 'Visible'
속성을 'off'
로 설정합니다.
h.Visible = 'off'; for j = 1:loops X = sin(j*pi/10)*Z; surf(X,Z) drawnow M(j) = getframe; end
Figure 객체의 'Visible'
속성을 'on'
으로 설정합니다. 초당 6프레임으로 동영상을 한 번 재생합니다.
h.Visible = 'on';
movie(M,1,6);
Figure의 왼쪽 아래 코너에서 동영상 프레임 재생하기
Figure의 왼쪽 아래 코너에서 동영상 프레임을 재생합니다.
figure
객체 h
를 만들고 곡면 플롯을 초기화합니다. Figure 좌표축을 사용자 지정합니다.
h = figure; Z = peaks; surf(Z) axis tight manual ax = gca; ax.NextPlot = 'replaceChildren';
동영상 프레임을 저장하기 위해 요소를 40개 가진 배열 M
을 사전할당합니다.
loops = 40; M(loops) = struct('cdata',[],'colormap',[]);
figure 객체의 'Visible'
속성을 'off'
로 설정합니다. 핸들 h
의 각 Figure를 개별 프레임으로 캡처하여 M
에 저장합니다.
h.Visible = 'off'; for j = 1:loops X = sin(j*pi/10)*Z; surf(X,Z) drawnow M(j) = getframe(h); end
Figure 객체의 'Visible'
속성을 'on'
으로 설정합니다. M
에 있는 동영상을 초당 12프레임으로 한 번 재생하되, x, y 방향으로 30픽셀의 오프셋을 지정합니다. h
를 지정하여 현재 Figure에서 동영상을 재생합니다.
h.Visible = 'on';
movie(h,M,1,12,[30 30 0 0]);
입력 인수
n
— 동영상을 재생할 횟수
1 (디폴트 값) | 숫자형 스칼라 | 숫자형 배열
Figure의 동영상을 재생할 횟수로, 숫자형 배열로 지정됩니다. n
을 지정하지 않으면 movie
는 동영상을 한 번만 재생합니다. n
이 음수이면 매번 재생될 때마다 정방향으로 재생된 다음 역방향으로 재생됩니다.
n
을 벡터로 지정하면 첫 번째 요소는 동영상 재생 횟수이고 나머지 요소는 동영상에서 재생할 프레임의 목록입니다.
예를 들어, M
에 프레임이 4개 있고 n
이 요소 n = [10 4 4 2 1]
을 가진 배열이라면 movie
는 M
에 있는 동영상을 10번 재생합니다. 이때 동영상은 네 번째 프레임, 다시 네 번째 프레임, 두 번째 프레임 , 마지막으로 첫 번째 프레임의 순서로 구성됩니다.
fps
— 초당 프레임
12 (디폴트 값) | 숫자형 스칼라
초당 프레임으로, 숫자형 스칼라로 지정됩니다. fps
를 지정하지 않으면 movie
는 초당 12프레임으로 재생합니다. fps
로 지정된 속도로 재생할 수 없는 컴퓨터는 가능한 최대한의 속도로 동영상을 재생합니다.
loc
— 위치 벡터
숫자형 벡터
위치 벡터로, 요소를 4개 가진 숫자형 배열 [x y 0 0]
으로 지정됩니다. 여기서 동영상 프레임의 왼쪽 아래 코너는 배열의 처음 두 요소로 지정된 좌표에 고정됩니다. loc
에 지정된 좌표는 핸들 h로 지정된 Figure 또는 좌표축의 왼쪽 아래 코너에 상대적인 위치이며, 단위는 픽셀입니다. movie
함수는 loc
의 마지막 두 개 요소를 무시합니다.
팁
movie
함수는 기본 Figure 크기인 560×420을 사용하며 크기가 더 크거나 작은 프레임의 동영상에 맞게 Figure의 크기를 조정하지 않습니다. 다른 프레임 크기를 수용하려면 동영상에 맞게 Figure의 크기를 조정하면 됩니다.동영상을 버퍼링하면 모든 프레임이 메모리에 저장됩니다. 따라서 Microsoft® Windows®와 아마도 다른 플랫폼에서는 시스템 리소스에 따라 긴 동영상(약 수백 개의 프레임)이 메모리를 모두 소진해 버릴 수 있습니다. 이러한 경우 오류 메시지가 발생합니다.
??? Error using ==> movie Could not create movie frame
동영상을 중단하려면 Ctrl+C를 누르면 됩니다.
버전 내역
R2006a 이전에 개발됨
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)