2015-02-04 3 views
1

기본적으로 단일 비디오 동안 샷 수를 계산하려고합니다. 현재 페이딩 인/아웃 알고리즘에 관심이 없지만 간단히 전체 장면 수가 변경됩니다. Matlab에서 비디오 샷 변경 감지

나는 다음과 같은 algoirthm 함께했다,하지만 좀 유사성 행렬에서 스칼라 값을 받고 붙어했습니다

videoPlayer = vision.VideoPlayer; 

Frame1 = step(videoFReader); 
for i=1:n - 1 
    step(videoPlayer, Frame1); 

    Frame2 = step(videoFReader); 

    hist1 = imhist(Frame1); 
    hist2 = imhist(Frame2); 

    D = pdist2(hist2, hist1,'euclidean'); % D is a matrix 
    histNorm = norm(D); % histNorm is a very small value which 
          % doesn't change its value drasticly during 
          % an actual scence change 
    Frame1 = Frame2; 

    %location = strcat('c:\1\', int2str(i), 'pic.jpg'); 
    %imwrite(d, location, 'Quality', 100); 

    audios=audio((i-1)*op + 1 : i*op , :); 
end 
+1

관련 : 당신은 단순히 두 개의 막대 그래프 사이의 유클리드 거리를 계산할 수 있습니다 http://stackoverflow.com/questions/3273196/python-scene-change-detection을 가능하게 도움 : https://github.com/johmathe/Shotdetect –

답변

0

나는 pdist2 여기에 말이 사용하여 생각하지 않습니다. pdist2은 두 벡터 세트 사이의 모든 쌍 방향 거리를 제공합니다. 여기에는 히스토그램 인 두 개의 벡터 만 있습니다.

d = sqrt(sum((hist1 - hist2).^2)); 
+0

답변을 주셔서 감사합니다, 다음 방정식은 내게 벡터를 제공합니다, 어떻게 임계 값 목적으로 활용합니까? 결국 나는 그것을 정수와 비교할 필요가있다. 감사! –