2013-03-15 2 views
0

비디오의 모든 비디오 프레임을 볼륨으로 고려할 때, 시간적으로 두 번째 슬라이스 집합으로 분해해야합니다. 즉, I(x,t) (x 및 t에 따른 슬라이스 볼륨)과 I(y,t) (슬라이스 볼륨 y와 t를 따라). MATLAB에서 어떻게 이것을 할 수 있습니까? 나는이 조각을하는 방법을 알아낼 수 없다?
시간 내에 비디오 프레임을 잘라 내기

편집 : 코드는 지금까지

vid='Orca vs Great White Shark.avi'; 
vidobj=mmreader(vid); 
numofframes=get(vidobj,'numberOfFrames'); 
disp(numofframes); 
for i=1:25:numofframes 
    vidframe=read(vidobj,i); 
end 
for k=1:numofframes 
    mov(k).cdata = read(vidobj,k); 
end 

지금까지 내가 비디오를 읽고 vidframes에 프레임을 저장했습니다. 어떻게해야합니까?

답변

1

다음은 예입니다 :

A = rand(3,3,3) 

터미널 :

A(:,:,1) = 

    0.8147 0.9134 0.2785 
    0.9058 0.6324 0.5469 
    0.1270 0.0975 0.9575 


A(:,:,2) = 

    0.9649 0.9572 0.1419 
    0.1576 0.4854 0.4218 
    0.9706 0.8003 0.9157 


A(:,:,3) = 

    0.7922 0.0357 0.6787 
    0.9595 0.8491 0.7577 
    0.6557 0.9340 0.7431 

가 지금은 3 차원이 시간을 가정합니다. 시간에 첫 번째 열을 줄 것이다, 1, :)) :

squeeze(A(1,:,:))' 

터미널 :

ans = 

    0.8147 0.9134 0.2785 
    0.9649 0.9572 0.1419 
    0.7922 0.0357 0.6787 

스퀴즈 (A (조각을 얻으려면 스퀴즈 기능을 사용해야합니다.

+0

안녕하세요. answer.sorry에게 감사드립니다.하지만 저는 이것에 대해 아주 새롭습니다. 제 비디오의 x, y, t를 어떻게 그러한 행렬 표현으로 표현할 수 있습니까? – MaxSteel

+1

다음을 확인하십시오 : http://www.mathworks.in/help/imaq/bringing-image-data-into-the-matlab-workspace.html – sridutt

+0

@SriduttNayak'frames = read '를 사용하여 모든 비디오 프레임을 읽었습니다. (videoobject)', 위의 행렬처럼 어떻게 읽습니까? – MaxSteel