首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的实时红外图像放大模块

基于FPGA的实时红外图像放大模块

红外成像技术是目前非常有用的新型高科技,具有极强抗干扰能力,属于被动式观测装备,隐蔽性很强。长波红外可不受烟雾等的影响,分辨率高。另外,红外成像不受地面和海面的多径效应影响,具有多目标全景观察、追踪及识别能力,具有很广阔的应用前景和价值。  本文采用的红外系统为凯迈广微160×120系列,由于原始图像大小为160×120,在某些应用场合其分辨率很难满足需要,必须对图像进行放大。
  图像放大是一种常用的数字图像处理技术,在日常社会生活的许多领域有着广泛的应用,因此数字图像的放大是图像处理的基本操作之一。数字图像放大多用软件来实现。但随着现场可编程门阵列技术的突飞猛进,FPGA也逐渐进入数字信号处理领域,尤其在实时图像处理方面FPGA无可比拟的并行处理能力,所以国内外愈来愈多的实时处理应用都转向了FPGA平台。本文正是介绍了一种基于FPGA的固定倍率红外图像放大模块。
  1 图像放大算法
  目前图像放大处理通常都采用软件方法来实现,虽然其算法种类多样,且图像放大后的质量也比较高,但是,由于其运算时间往往较长,因此在某些实时性要求较高的数字图像处理场合不宜采用软件方法而适合采用硬件方法。硬件方法实现图像放大,其处理速度可大大提高,不过,采用硬件实现时,由于资源非常有限,许多处理算法因过于复杂而无法通过硬件实现。目前在进行硬件图像处理过程中,通常采用插值算法,利用图像的像素点间存在着的相关性进行插值而实现图像的放大。常用的差值算法包括最近邻域插值法(Nearest Neighbor Interpolation),双线性插值法(Linear Interpolation),双三次插值法(Bieubie interpolation)。
  1.1 最近邻域插值法
  从计算量的角度来说,最近邻插值是最简单的插值。在这种算法下,每个插值输出像素的值就是在输入图像中与其最临近采样点的值。算法的数字表示为:
  f(x)-f(xk),1/2(xk-1+xk)<X   1.2 双线性插值法
  双线性插值法的输出像素时它在图像中2×2邻域采样点的平均值,它根据某个像素周围4个像素(m,n),(m+l,n),(m,n+1),(m+1,n+1)的灰度值在水平和垂直2个方向对其插值。
  设m<I<M+1,N<J<N+L,A=I-M,B=J-N,I’和J’是要插值的点的坐标,则双线性插值的公式为:   

  把按照上式计算出来的值赋予图像的几何变换对应于处的像素,即可实现双线性插值。
  1.3 双三次插值法
  双三次插值的插值核为三次函数,其插值邻域的大小为4×4。它的插值效果比较好但相应计算量也大。
  1.4 本文采用的算法
  上述3种图像插值算法中最近邻插值放大实现最为简单,处理速度快,但它只是把原始像素简单的复制到其邻域内,放大图像就会出现明显的方块或锯齿,不能很好地保留原始图像的边缘信息。双三次插值算法的视觉效果最好,但计算复杂开发周期长,占用的硬件资源较大,不符合本系统的资源要求。使用双线性插值能够较好地消除锯齿,保留原始图像的边缘信息,放大后的图像较平滑,且有较好的视觉效果。本文选取改进型的线性插值(2×1邻域和1×2邻域)作为最终实现方案。如图1所示,实心表示原始像素,空心表示放大后的图像。本文采用的算法数学表达式为:
  

阅读原文请访问电子发烧友,原文地址:http://www.elecfans.com/emb/fpga/20111122253210.html
返回列表