微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA+DSP技术的Bayer格式图像预处理

基于FPGA+DSP技术的Bayer格式图像预处理

时间:11-20 来源:21IC电子网 作者:滕 伟 安博文 点击:

元素补零)。过程如下:第1行图像读入第1个FIF0后,第2行图像开始读入左边第1个FD的时候,开始计算第1行RGB数据,这时候第2个FIFO没有数据,相当于在第1行的数据前面补零。第1 944行图像读入第1个FIFO后,第1 943行图像读入第2个FIFO的时候,开始计算最后1行(第1 944行),这时候第1个FD已经没有数据读入,相当于在第1 944行的数据后面补零。由于FD具有延时效应,所以在读写时,前1个FIFO开始读写时,再经过延时2个时钟周期,才到达后1个FIFO,所以相邻的FIFO读写使能信号要间隔2个时钟周期。

对列的操作也是如此,每一行的第1个元素读出到B、E、H位置时开始计算,这样每一列的第1个元素前相当于是零元素。每一行的最后一个元素读出到B,E,H位置时开始计算,这样每一列的最后一个元素后相当于是零元素。

3 图像预处理系统的硬件工作过程

图像预处理系统硬件框图如图3所示,整个系统在通电后,先由TMS320DM642通过I2C向500万像素的CMOS摄像头发出控制命令,调整摄像头输出的图像分辨率、焦距等,之后由摄像头将采集到的图像数据发送至FPGA。由于摄像头输出的图像格式为12位的Bayer图像,而DSP的vp-ort口支持为8位或者16位的RAW采集方式,本项目中采用了更适合于DSP处理的8位数据,所以需要FPGA对采集的图像数据取高8位以方便DSP获取图像数据。FPGA在Frame_Valid和Line_Valid同时为高电平的时,在Pixclk的上升沿采样图像数据,并将原来的12位图像数据取其高8位转换成8位Bayer图像数据,然后利用FPGA内部的FD-FIFO模型结构取图像的3x3矩阵并利用双线性插值算法将Bayer图像转换成24位的RGB图像格式。除此之外,FPGA还将Bayer图像数据转换成了Y亮度信号以达到DSP对运算数据的要求,使得DSP只工作在核心算法上。

转换好的亮度图像数据由FPGA通过TMS320DM642的VPort1口发送至DSP进行核心算法处理。为了更好地达到整个DSP算法处理的实时性,DSP采用了BIOS实时操作系统。经算法处理好的图像数据由TMS320DM642通过其VPortO口发送至FPGA。图像预处理过程是在Spartan-3系列的XC3S1500x中进行的。FPGA使用的设计方法是HDL设计输入法,常用的HDL语言有VHDL和VerilogDHL语言,在本系统中使用VHDL语言进行硬件设计。

系统采用的是通过FPGA固件支持高传输率USB2.0的CY7C68013芯片,采用Slave_FIFO模式接收FPGA输出的图像数据,再通过USB口输送给上位机。如图4所示,图4(a)为RAW图像,即每个像素点只含有单一颜色分量的Bayer格式图像,图4(b)为系统处理后的RGB格式的亮度信号图像。

4 结论

可见,本文所提出的基于FPGA+DSP的图像处理系统,能在FPGA硬件设备中高速、高质量地对CMOS传感器采集的Bayer图像进行预处理,为DSP数字信号处理器进行核心算法减少运算量,提高整个图像处理的实时性,缩短了开发周期,并且这种FPGA+DSP的组合模式也可以推广到处理各种数字视频信号。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top