Algorithm 基于Matlab的视频镜头变化检测

Algorithm 基于Matlab的视频镜头变化检测,algorithm,matlab,video-processing,matlab-cvst,Algorithm,Matlab,Video Processing,Matlab Cvst,所以我基本上是在计算一个视频中镜头的变化数量。目前我对淡入淡出算法不感兴趣,只对总场景数的变化感兴趣 我提出了以下算法,但仍然坚持从相似性矩阵中获取标量值: videoPlayer = vision.VideoPlayer; Frame1 = step(videoFReader); for i=1:n - 1 step(videoPlayer, Frame1); Frame2 = step(videoFReader); hist1 = imhist(Frame1);

所以我基本上是在计算一个视频中镜头的变化数量。目前我对淡入淡出算法不感兴趣,只对总场景数的变化感兴趣

我提出了以下算法,但仍然坚持从相似性矩阵中获取标量值:

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

我认为在这里使用
pdist2
没有意义
pdist2
提供两组向量之间的所有成对距离。这里只有两个向量,它们是直方图。您可以简单地计算两个直方图之间的欧几里德距离:

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

相关:,可能有帮助:谢谢你的回答,下面的等式给了我一个向量,我如何利用它来达到阈值的目的?最后,我需要将它与一个整数进行比较。谢谢!