FPGA视频采集处理板Word文档下载推荐.docx
《FPGA视频采集处理板Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《FPGA视频采集处理板Word文档下载推荐.docx(7页珍藏版)》请在冰豆网上搜索。
●4GBitsDDR2
●Xilinx读写DDR2时钟可以达到800MHZ
●两路UART串口,波特率可调
●2片16MBytesSPIflash
●两路路VGA输出
●2x50pin的高速GPIO口,用于功能扩展和调试,同时可以用于板子连接
●支持标准Camera-LinkBase模式接口
●4路UART接口,接口标准RS232/RS422
●+12V/5A,电源保护
●JTAG调试接口
●低功耗高可靠性设计12层PCB加工
1.2板卡应用
●单板应用
●并行运算
灵活的扩展性是该板的一大特色,在图像处理板上有一对高速外部数据连接器,通过此连接器可进行板与板之间的级联可以完成并行运算。
最大可4块级联。
如图所示,视频输入信号通过高速外部连接器同时可送给多块板进行图像数据的运算和处理,使整个系统运算速度大幅提高。
2硬件结构
2.1硬件结构图
2.2硬件概述
●采用FPGA作为主处理器,片上有15万的逻辑单元,4Mbits的存储单元
●两路camera-link输入接口
●spiflash用于存储配置数据
●4片DDR2用于缓存图像以及中间处理结果
●RS232用于和上位机通讯,接受并处理上位机的控制命令
●两路VGA输出,可以显示不同的算法处理结果,并用于观察算法的实时性能
●GPIO用于测试和板卡级联
3板卡功能
3.1视频采集
视频数据从相机进入板卡后,FPGA进行视频接收同时向Memory处理控制器器发出请求命令并根据不同的算法要求进行不同的处理。
在FPGA中利用各种算法对原始图像数据进行直方图拉伸、图像的平滑或锐化等实现图像增强,达到改善图像质量的目的,
在FPGA中完成的图像处理:
3.1.1图像裁剪
通过设置FPGA中相应的寄存器可对相机采集到的图像数据进行裁剪,得到用户需要的图像大小。
这些寄存器为VIM_HSBEGIN、VIM_HSEND、VIM_VSBEGIN、VIM_VSEND。
下图中绿色部分即为裁剪后的图像大小。
3.1.2直方图拉伸
图像增强空间域最常用的方法就是直方图拉伸法。
在FPGA的寄存器中通过设置直方图的高、低阈值,直方图坐标平移,变化直方图的斜率来实现直方图的拉伸。
在FPGA中可完成任意比特的三次曲线以下的直方图变换。
直方图拉伸过程如下所示:
3.1.3直方图的统计
借助FPGA片上的高性能BlockRAM可实现视频图像的实时直方图统计。
ForeFoot6416IPB可完成三个窗口的直方图统计。
3.1.4Sobel运算
在实时图像处理中,用Sobel算子进行物体的边缘增强是常用到的算法,常用于对原始的数字图像进行特征提取。
3.1.53×
3模板运算
模板运算的涵义是一种卷积(或互相关)运算,是一个非常耗时的运算。
对于一幅N×
N的图像需要完成9n2个乘法,8n2个加法和n2个除法,用硬件实现大大提高了速度。
在FPGA中选用3×
3模板。
3.1.6YUV格式转换RGB格式
YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。
与RGB视频信号传输相比,它的最大特点在于只需占用极少的带宽。
其中“Y”表示明亮度,也就是灰阶值;
而“U”和“V”表示的则是色度,作用是描述影象色彩及饱和度,用于指定像素的颜色。
由于RGB格式是计算机显示的基色,所以在FPGA中,利于YUV与RGB之间的关系,将YUV格式转换成RGB格式。
R=Y
+1.14V
G=Y-0.39U-0.58V
B=Y+2.03U
3.1.7各种滤波算法
图像的能量主要集中在其低频部分,而噪声所在的频段主要是高频段。
为了去除噪声有必要对图像进行平滑,可以采用低通滤波的方法去除高频干扰。
在图像平滑的空域法中,常用方法是均值滤波和中值滤波。
●3×
3均值滤波
使用均值滤波对图像进行平滑时,噪声滤除效果比较理想,尤其是对高斯噪声有很好的抑制作用。
3中值滤波
中值滤波是一种非线性图像增强技术,对干扰脉冲和点状噪声有良好的抑制作用。
中值滤波的目的是保护图像边缘的同时可以很好的去除二值噪声。
3.2图像输出
图像输出功能就是将FPGA处理后的产生的图像数据显示到显示器上。
在输出显示前在FGPA中对图像数据进行以下处理:
3.2.1调整输出分辨率
将低分辨率的图像通过插值的方法变成高分辨率的图像,而双线性插值是经典的内插方法之一。
双线性插值缩放后图像质量高,不会出现像素值不连续的情况。
在FPGA中利用双线性插值算法可调整输出分辨率的大小。
3.2.2视频输出接口
ForeFoot6416IPB支持VGA输出和标准CVBS输出。
VGA输出的显示的分辨率为1280×
1024@100Hz。
3.2.3图像数据叠加输出显示
FPGA中完成双层半透明图像数据混合,将a层数据与b层数据叠加后输出显示。
其中a层8个bit代表的是灰度信息;
在b层中8个bit中,其中bit7-5代表的是颜色,bit4代表的是key值,bit3-0代表的是透明度。
输出的图像数据用公式表示则为:
C=α·
b+(1-α)·
a
3.2.4RGB数据转换成YUV数据
ForeFoot6416IPB接TV显示输出时,需在FPGA中将RGB格
式预先转换成YUV格式。
Y=0.299R+0.587G+0.114B
U=-0.147R-0.289G+0.436B
V=0.615R-0.515G-0.100B