新闻中心

EEPW首页>消费电子>设计应用> 一种优化的快速模板的匹配算法及应用介绍

一种优化的快速模板的匹配算法及应用介绍

作者: 时间:2010-09-02 来源:网络 收藏

  3 数学模型优化方法

  数学模型结合选择的模板和搜索区域大小,可以知道模板最佳匹配点计算公式如下:


  由公式(7)可以看出,程序需要进行大量的循环计算,整体运算量仍然不小,需要进一步优化,减少处理时间。运用如下优化算法进一步减少实际运算量。

  3.1 粗精匹配结合

  观察实际模板匹配运算结果可以发现,匹配点附近的匹配误差迅速下降,有显区别于其它位置。针对这一特点,采用粗精匹配结合的算法迅速锁定匹配点大致区域,可大大降低整体匹配次数。

  具体实现方法:先跳动着隔几个点进行一次粗匹配,大致框定匹配区域,然后在附近区域逐一检索获得最佳匹配点。运算量可减少到三分之一以下,且目标提取效果相当好。

  3.2 限制最大匹配误差

  因为只需找到最小匹配误差的位置,不必完整计算每一位置的绝对匹配误差,而以已经计算最小匹配误差作为最大允许误差。若计算误差大于该最大允许误差,就肯定不是最佳匹配点,可以提前结束计算,进入下一匹配位置的计算;如果匹配完成后仍小于最大允许误差,就用当前误差替换最大允许误差,并把该点作为潜在的匹配位置记录下来。

  匹配点和非匹配点的误差常常相差2~3个数量级。经过这种处理后,匹配点后剩余的计算量可以大大降低。

  3.3 乱序匹配

  目标出现在匹配区域中的位置不确定。不固定顺序算法可以更快地检索到匹配区域,迅速降低最大匹配误差,减少剩余非匹配点的计算一,降低整体运算量。

  针对光电探测设备的实际工作情况,在跟踪状态下,目标位移角速度和角加速度有限,导致目标常处于匹配区域中心附近。选择由中心向周围辐射匹配的方式效果最理想。

  4 程序样本

  以下程序样本综合使用了上面的优化算法,成功应用于红外热成像跟踪技术的原理样机,达到了预期效果。

  该函数用于图像模板匹配运算,适用于256灰度值的黑白图像数据。

  Deal_With:TemplateMatch(unsigned char* lpSource,LONGlWIDTh,LONG lHeight,unsigned char* lpTemplate,LONG lTemplateWidth,LONG lTemplateHeight,)

  {

  unsigned char* Source; //指向待处理图像的指针

  unsigned char*Template; //指向模板图像的指针

  int i,j,m,n; //循环变量

  unsigned char lMaxWidth,lMaxHeigth,//匹配位置

  unsigned long D; //相似误差

  unsigned long MaxD; //最大允许相似误差

  //粗相关

  MaxD=0x10000000; //约定最大匹配误差

  for(j=0;j

  for(i=0;i

  D=0;

  Source=(unsigned char *)lpSource+lWidth*j+i;

  Template=(unsigned char *)lpTemplate;

  for(n=0;n

  for(m=0;m

  D+=(*Source++-*Template++)*(*Source++-*Template++);

  Source+=lWidth-lTemplateWidth;

  }

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


关键词:视频嵌入式

评论


相关推荐

技术专区

关闭