2

我正在实现粒子滤波算法以跟踪视频序列中的移动对象(每一帧都是彩色图像)。该算法对视频的帧进行迭代,在每次迭代时,将被跟踪对象(即前一帧中包含被跟踪对象的子图像)与当前帧的N个不同部分(即子图像)进行比较。可能包含对象的图像)。

被跟踪物体的大小可能会随时间变化,分配给N的值可能很高(100,或者几百),那么需要解决的问题如下。

  1. 找到一种快速的方法来比较图像的两个部分,因为每次迭代都会执行 N 次。
  2. 比较方法也应该是可靠的(即在N个可能的子图像中,应该选择与前一帧中包含被跟踪对象的子图像最相似的子图像)。
  3. 最后,比较操作必须遵守实时约束:执行比较所需的时间必须是恒定的,或者它必须具有已知的上限。

我相信满足第三个约束的唯一方法是选择要比较的子图像的最大尺寸:这意味着必须调整任何较大的子图像的大小。你怎么看?

我可以使用什么比较方法?

4

1 回答 1

4

我想您可以尝试使用均方误差方法比较图像,它通常用于估计两个图像的相似程度。

function [ mse ] = MSE( X, Y )
%MSE

  [x,y] = size(X);
  mse = 0;

  for i=1:x
    for j=1:y
      mse = double(mse) + double(power((X(i,j)-Y(i,j)),2));
    end
  end

  mse = mse / (x*y);
end
于 2012-11-16T19:00:11.780 回答