基于FPGA的彩色图像Bayer变换实现

基于FPGA的彩色图像Bayer变换实现

转载地址http://www.dzsc.com/data/html/2010-7-9/84027.html

引言

  图像工程在国防、教育、金融、医疗、印刷、智能交通、工业自动化、消费类电子等许多领域获得了广泛应用,发展十分迅速。众所周知,图像传感器作为图像系统的重要部件,基本分为两类:CCD sensorCMOSsensor。两者都是利用感光二极管(photodiode)进行光电转换,将图像转换为数字数据,而其主要差异是数据传送的方式不同。

  sensor3彩色数字相机需要3个单色sensor获得彩色图像的RGB分量,成本较高。CCD获得彩色图像的方法是在CCD表面覆盖1个只含红、绿、蓝3色的马赛克滤镜,对其输出信号通过一定的处理算法实现。这个设计理念最初由拜尔提出,所以这种滤镜也被称作拜尔模板(bayer pattern)

  LatticeECP FPGA将高效的FPGA结构和高速的专用功能集于一身。LatticeECP-DSP(EConomy plusDSP)是其中的第1个产品系列,它在芯片上集成了专用的高性能DSP块。LatticeECP-DSP器件最适合用在具有成本优势的DSP功能应用系统中,比如由软件定义的无线电、无线通信、军事、图像和视频处理系统等。

  1 Bayer插值方法

  Bayer Pattern的排列格式如图1所示。

 

 

  尽管通过带有Bayer滤镜的单sensor相机采集的原始图像带有RGB三基色分量,但是不能不加任何算法处理,仅简单地将3种分量分离。这样不仅图像分辨率很差,而且各像素点的三基色分量比例与被摄目标相比,失真也很严重。在图2中,图2(a)为原始彩色图像;图2(b)为仅取红色分量,以灰度模式显示的图像;图2(c)为仅取绿色分量,以灰度模式显示的图像;图2(d)为仅取蓝色分量,以灰度模式显示的图像。将图2(b)(d)图像简单叠加后,即可得到原始图像图2(a)可是CCDCMOS sensor采集的原始Bayer图像是不符合这种分离原则的,必须经过一定的图像算法实现。

  在图像处理领域广泛应用的Bayer插值方法有多种,MCPoilpreJPEG图像的处理;HSMalvar,等的线性插值法;Remi Jean的像素双插值法以及TGuseo的低分辨率图像处理。具有代表性的有3种:双线性插值法、Ron Kimmel方法和OptimalRecovery方法。这三种方法各有优劣。

  1.1  双线性插值法

  如图3所示,每个像素位置原本仅有一种彩色分量,缺少的2种彩色分量由3×3邻域内具有相同颜色分量的像素平均值获得。图3B7G3处像素的RGB分量由下式计算:

 

  双线性插值法具有运算简单,易于实现的优点。其本质是一低通滤波器,缺点是忽略了不同彩色分量之间的相关信息以及图像的边缘。这样,错误数据在复原的图像边缘会造成模糊甚至出现颜色混叠。

  1.2 Ron Kimmel方法

  Ron Kimmel方法对于绿色像素,计算该点在各个方向的梯度,然后对梯度值加权进行平均;对红色和蓝色像素分量,取则红色和蓝色分量对绿色的比值进行加权平均。这种方法可以显著改善图像中物体边缘的颜色混叠。

  1.3  Optimal Recovery方法

  Optimal Recovery方法计算复杂度较高,但也是目前公开发表的图像质量最佳的算法。一般的嵌入式系统很难实时完成。本文图像处理系统采用LatticeFPGA芯片LFECPIIM50,充分利用FPGA的天然并行结构,实时(1 208×1 024图像,12帧/s)实现Bayer转换算法,收到了很好的效果。Optimal Recovery算法如下:

  (1)如图4所示,完成图中所示P5处绿色像素插值尽可能利用精细尺度模式。

  (2)计算蓝色分量需要2步:

  找回在红色空间丢失的蓝色分量:


 

  式中:MSE是原图像与处理图像之间均方误差(meansquare error)I表示原图像第n个像素值;P表示处理后的图像第n个像素值;Framesize表示图像大小,如1 280×1 024PSNR值越大,就代表失真越少。

  结果分析

  经过实时图像采集系统获取的图像如图5所示,其中图5(a1)(b1)(c1)为经过插值变换的图像,色彩明亮,主观感觉良好。图5(a2)(b2)(c2)为采集的原始Bayer图像,局部放大后可看到原始的马赛克效应,如图5(a3)(b3)(c3)所示。峰值信噪比计算结果见表1,其中PSNR1为双线性插值法,PSNR2OptimalRecovery方法。

 

   

  目前FPGA技术发展很快,内部资源越来越丰富,性价比不断提高。充分发掘FPGA资源的潜力,尽可能将图像预处理算法在系统的前端完成,这必将大大提高系统的实时特性,拓展嵌入式系统的应用领域。尽管着眼点是彩色图像的Bayer插值变换,但对于其他使用FPGA器件的嵌入式系统设计方法也有积极的借鉴意义。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值