什么是比较快速可靠的图像比较方法?

时间:2012-11-11 16:32:37

标签: image matlab image-processing opencv real-time

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

跟踪对象的大小可能会随着时间的推移而变化,分配给 N 的值可能很高(100或几百),然后要解决的问题如下。< / p>

  1. 找到一种比较图像两个部分的快速方法,因为每次迭代都会执行N次。
  2. 比较方法也应该是可靠的(也就是说,在 N 可能的子图像中,它应该选择最类似于包含前一帧中跟踪对象的子图像的子图像。 / LI>
  3. 最后,比较操作必须遵守实时约束:执行比较所需的时间必须是常量,或者必须具有已知的上限。
  4. 我认为满足第三个约束的唯一方法是选择要比较的子图像的最大尺寸:这意味着必须调整任何更大的子图像的大小。你怎么看待这个?

    我可以使用哪种比较方法?

1 个答案:

答案 0 :(得分: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