基于FPGA的彩色图像Bayer变换实现
时间:11-09
来源:互联网
点击:
图像工程在国防、教育、金融、医疗、印刷、智能交通、工业自动化、消费类电子等许多领域获得了广泛应用,发展十分迅速。众所周知,图像传感器作为图像系统的重要部件,基本分为两类:CCD sensor或CMOSsensor。两者都是利用感光二极管(photodiode)进行光电转换,将图像转换为数字数据,而其主要差异是数据传送的方式不同。
sensor3彩色数字相机需要3个单色sensor获得彩色图像的R,G,B分量,成本较高。单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相机采集的原始图像带有R,G,B三基色分量,但是不能不加任何算法处理,仅简单地将3种分量分离。这样不仅图像分辨率很差,而且各像素点的三基色分量比例与被摄目标相比,失真也很严重。在图2中,图2(a)为原始彩色图像;图2(b)为仅取红色分量,以灰度模式显示的图像;图2(c)为仅取绿色分量,以灰度模式显示的图像;图2(d)为仅取蓝色分量,以灰度模式显示的图像。将图2(b)~(d)图像简单叠加后,即可得到原始图像图2(a)。可是CCD或CMOS sensor采集的原始Bayer图像是不符合这种分离原则的,必须经过一定的图像算法实现。
在图像处理领域广泛应用的Bayer插值方法有多种,M.C.Poilpre对JPEG图像的处理;H.S.Malvar,等的线性插值法;Remi Jean的像素双插值法以及T.Guseo的低分辨率图像处理。具有代表性的有3种:双线性插值法、Ron Kimmel方法和OptimalRecovery方法。这三种方法各有优劣。
1.1 双线性插值法
如图3所示,每个像素位置原本仅有一种彩色分量,缺少的2种彩色分量由3×3邻域内具有相同颜色分量的像素平均值获得。图3中B7和G3处像素的R,G,B分量由下式计算:
双线性插值法具有运算简单,易于实现的优点。其本质是一低通滤波器,缺点是忽略了不同彩色分量之间的相关信息以及图像的边缘。这样,错误数据在复原的图像边缘会造成模糊甚至出现颜色混叠。
1.2 Ron Kimmel方法
Ron Kimmel方法对于绿色像素,计算该点在各个方向的梯度,然后对梯度值加权进行平均;对红色和蓝色像素分量,取则红色和蓝色分量对绿色的比值进行加权平均。这种方法可以显著改善图像中物体边缘的颜色混叠。
1.3 Optimal Recovery方法
Optimal Recovery方法计算复杂度较高,但也是目前公开发表的图像质量最佳的算法。一般的嵌入式系统很难实时完成。本文图像处理系统采用Lattice的FPGA芯片LFECPIIM50,充分利用FPGA的天然并行结构,实时(1 208×1 024图像,12帧/s)实现Bayer转换算法,收到了很好的效果。Optimal Recovery算法如下:
(1)如图4所示,完成图中所示P5处绿色像素插值尽可能利用精细尺度模式。
(2)计算蓝色分量需要2步:
①找回在红色空间丢失的蓝色分量:
②找回在绿色空间丢失的蓝色分量:
(3)处理红色分量与计算蓝色分量方法相同。
(4)下述校正步骤重复3次:
①校正绿色分量以取得合适的G/B比:
②校正绿色分量以取得合适的G/R比:
③平均蓝色和红色的插值结果:
④校正蓝色和红色分量值:
⑤算法结束,其中R5,G5,B5既是像素P5处的三色分量值。
1.4 峰值信噪比PSNR
峰值信噪比PSNR和归一化色彩差NCD的计算公式分别为:
式中:MSE是原图像与处理图像之间均方误差(meansquare error);I表示原图像第n个像素值;P表示处理后的图像第n个像素值;Framesize表示图像大小,如1 280×1 024;PSNR值越大,就代表失真越少。
2 结果分析
经过实时图像采集系统获取的图像如图5所示,其中图5(a1),(b1),(c1)为经过插值变换的图像,色彩明亮,主观感觉良好。图5(a2),(b2),(c2)为采集的原始Bayer图像,局部放大后可看到原始的马赛克效应,如图5中(a3),(b3),(c3)所示。峰值信噪比计算结果见表1,其中PSNR1为双线性插值法,PSNR2为OptimalRecovery方法。
3 结 语
目前FPGA技术发展很快,内部资源越来越丰富,性价比不断提高。充分发掘FPGA资源的潜力,尽可能将图像预处理算法在系统的前端完成,这必将大大提高系统的实时特性,拓展嵌入式系统的应用领域。尽管着眼点是彩色图像的Bayer插值变换,但对于其他使用FPGA器件的嵌入式系统设计方法也有积极的借鉴意义。
sensor3彩色数字相机需要3个单色sensor获得彩色图像的R,G,B分量,成本较高。单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相机采集的原始图像带有R,G,B三基色分量,但是不能不加任何算法处理,仅简单地将3种分量分离。这样不仅图像分辨率很差,而且各像素点的三基色分量比例与被摄目标相比,失真也很严重。在图2中,图2(a)为原始彩色图像;图2(b)为仅取红色分量,以灰度模式显示的图像;图2(c)为仅取绿色分量,以灰度模式显示的图像;图2(d)为仅取蓝色分量,以灰度模式显示的图像。将图2(b)~(d)图像简单叠加后,即可得到原始图像图2(a)。可是CCD或CMOS sensor采集的原始Bayer图像是不符合这种分离原则的,必须经过一定的图像算法实现。
在图像处理领域广泛应用的Bayer插值方法有多种,M.C.Poilpre对JPEG图像的处理;H.S.Malvar,等的线性插值法;Remi Jean的像素双插值法以及T.Guseo的低分辨率图像处理。具有代表性的有3种:双线性插值法、Ron Kimmel方法和OptimalRecovery方法。这三种方法各有优劣。
1.1 双线性插值法
如图3所示,每个像素位置原本仅有一种彩色分量,缺少的2种彩色分量由3×3邻域内具有相同颜色分量的像素平均值获得。图3中B7和G3处像素的R,G,B分量由下式计算:
双线性插值法具有运算简单,易于实现的优点。其本质是一低通滤波器,缺点是忽略了不同彩色分量之间的相关信息以及图像的边缘。这样,错误数据在复原的图像边缘会造成模糊甚至出现颜色混叠。
1.2 Ron Kimmel方法
Ron Kimmel方法对于绿色像素,计算该点在各个方向的梯度,然后对梯度值加权进行平均;对红色和蓝色像素分量,取则红色和蓝色分量对绿色的比值进行加权平均。这种方法可以显著改善图像中物体边缘的颜色混叠。
1.3 Optimal Recovery方法
Optimal Recovery方法计算复杂度较高,但也是目前公开发表的图像质量最佳的算法。一般的嵌入式系统很难实时完成。本文图像处理系统采用Lattice的FPGA芯片LFECPIIM50,充分利用FPGA的天然并行结构,实时(1 208×1 024图像,12帧/s)实现Bayer转换算法,收到了很好的效果。Optimal Recovery算法如下:
(1)如图4所示,完成图中所示P5处绿色像素插值尽可能利用精细尺度模式。
(2)计算蓝色分量需要2步:
①找回在红色空间丢失的蓝色分量:
②找回在绿色空间丢失的蓝色分量:
(3)处理红色分量与计算蓝色分量方法相同。
(4)下述校正步骤重复3次:
①校正绿色分量以取得合适的G/B比:
②校正绿色分量以取得合适的G/R比:
③平均蓝色和红色的插值结果:
④校正蓝色和红色分量值:
⑤算法结束,其中R5,G5,B5既是像素P5处的三色分量值。
1.4 峰值信噪比PSNR
峰值信噪比PSNR和归一化色彩差NCD的计算公式分别为:
式中:MSE是原图像与处理图像之间均方误差(meansquare error);I表示原图像第n个像素值;P表示处理后的图像第n个像素值;Framesize表示图像大小,如1 280×1 024;PSNR值越大,就代表失真越少。
2 结果分析
经过实时图像采集系统获取的图像如图5所示,其中图5(a1),(b1),(c1)为经过插值变换的图像,色彩明亮,主观感觉良好。图5(a2),(b2),(c2)为采集的原始Bayer图像,局部放大后可看到原始的马赛克效应,如图5中(a3),(b3),(c3)所示。峰值信噪比计算结果见表1,其中PSNR1为双线性插值法,PSNR2为OptimalRecovery方法。
3 结 语
目前FPGA技术发展很快,内部资源越来越丰富,性价比不断提高。充分发掘FPGA资源的潜力,尽可能将图像预处理算法在系统的前端完成,这必将大大提高系统的实时特性,拓展嵌入式系统的应用领域。尽管着眼点是彩色图像的Bayer插值变换,但对于其他使用FPGA器件的嵌入式系统设计方法也有积极的借鉴意义。
自动化 电子 传感器 CMOS 二极管 FPGA DSP 无线电 滤波器 嵌入式 相关文章:
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- FPGA 重复配置和测试的实现(08-14)
- FPGA 设计工具视点(10-15)
- 让“您”居于FPGA的用户专用设计环境中(12-14)
- FPGA中嵌入式存储器模块的设计(03-28)