• 大小: 326KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Matlab
  • 标签: HBMA  EBMA  

资源简介

用分层块搜索方法HBMA得到运动矢量,比穷尽块搜索EMBA算法时间复杂度低,matlab代码

资源截图

代码片段和文件信息

function [mv_x mv_yMB_searchPredict_Imgerror] = EBMA(Target_ImgAnchor_ImgBlockSizeBlockLocationRangeStartRangeEndaccuracy)

%EBMA 为穷尽块匹配算法,用来对于估计锚定帧和目标帧之间某个块的运动矢量
%此函数被 HBMA()调用.
%
%输入:  Target_ImgAnchor_Img:
%               目标帧和锚定帧的图像矩阵
%        BlockSize:
%               当前块的大小,BlockSize(1) * BlockSize(2)
%        BlcokLocation:
%               锚定帧中块的位置
%        RangeStartRangeEnd:
%               搜索区域,从 (RangeStart(1)RangeStart(2)) 到 (RangeEnd(1)RangeEnd(2))
%        accuracy:
%               计算的准确度: 1 为整数像素; 2 为半像素
%输出: mv_xmv_y:
%               运动方向矢量 (mv_xmv_y)
%        MB_search:
%               搜索次数
%        Predict_Img:
%               对于给定块的最好预测块
%        error:
%               给定块的最小绝对误差和(SAD)

%设置默认的计算准确率
if nargin < 7
   accuracy = 1;
end

%初始化,赋值
MB_search = 0;
ly = BlockLocation(1);
lx = BlockLocation(2);
Ny = BlockSize(1);
Nx = BlockSize(2);

%取锚定帧中的块
AnchorBlock = Anchor_Img(ly:ly+Ny-1lx:lx+Nx-1);

%初始化位移矢量 mv_x 和 mv_y
mv_x=0;
mv_y=0;

%初始化误差(随意,足够大)
error = 255*Nx*Ny*100;

%在(RangeStart(1)RangeStart(2))到(RangeEnd(1)RangeEnd(2))范围内搜索最优估计
  for y = RangeStart(1):RangeEnd(1)-accuracy*Ny+1
    for x = RangeStart(2):RangeEnd(2)-accuracy*Nx+1
      TargetBlock = Target_Img(y:accuracy:y+accuracy*Ny-1x:accuracy:x+accuracy*Nx-1);
      %计算AnchorBlock和TargetBlock之间的误差
      temp_error = sum(sum(abs(AnchorBlock-TargetBlock)));
      MB_search = MB_search+1;
      if temp_error < error
           error = temp_error;
           mv_x = x/accuracy-lx;
           mv_y = y/accuracy-ly;
           Predict_Img = TargetBlock;
      end
    end
  end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     304182  2009-05-13 20:26  HBMA\00.bmp

     文件     304182  2009-05-13 20:26  HBMA\01.bmp

     文件       1841  2009-05-25 20:12  HBMA\EBMA.m

     文件       8073  2009-05-26 17:06  HBMA\HBMA.m

     文件       3479  2009-05-15 14:12  HBMA\MEBMA.m

     文件       6417  2009-05-15 14:12  HBMA\Motion_Estimation_2D.m

     文件       1684  2009-05-15 14:13  HBMA\run_MEBMA.m

     文件        302  2009-05-26 17:05  HBMA\run_results.m

     目录          0  2009-06-17 22:42  HBMA

----------- ---------  ---------- -----  ----

               630160                    9


评论

共有 条评论