基于FPGA的图像直方图实时显示_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于fpga的图像直方图实时显示上电初始,fpga需要通过iic接口对 sensor举行寄存器初始化配置。这些初始化的基本参数,即初始化地址对应的初始化数据都存储在一个预先配置好的fpga片内rom中。在初始化配置完成后,cmos sensor就能够持续输出标准rgb的视频数据流,fpga通过对其同步信号,如时钟、行频和场频举行检测,从而从数据上实时的采集图像数据。mt9v034摄像头默认初始化数据就能输出正常的视频流,因此fpga中事实上未作任何iic初始化配置。在fpga内部,采集到的视频数据先通过一个fifo,将原本25mhz频率下同步的数据流转换到50mhz的频率下。接着将这个数据再送

2、入写ddr3缓存的异步fifo中,这个fifo中的数据一旦达到一定数量,就会通过axi hp0总线写入ddr3中。与此同时,axi hp0总线也会读取ddr3中缓存的图像数据,缓存到fifo中,并终于送往驱动模块举行显示。lcd驱动模块不断的发出读图像数据的哀求,并驱动液晶显示视频图像。本实例除了前面提到对原始图像做ddr3缓存和显示,还会在原始图像缓存到ddr3之前,会对当前图像做直方图统计(以帧为单位做统计),统计后的直方图结果做归一化处理,便于后续液晶屏显示的直方图绘制,归一化的直方图结果取值范围是0448,用256个10bit数据表示,存入双口ram中。按照lcd显示模块的哀求,从双口

3、ram读取实时图像的归一化直方图统计结果举行显示。终于在vga液晶显示器上,可以看到左侧图像是原始的图像,右侧图像是经过归一化处理的直方图图像。 2直方图统计与归一化处理 工程文件夹at7_img_ex09at7.srcssources_1new下的histogram_calculation.v模块实现了图像的直方图统计与归一化处理。该模块有一个包含6个状态的状态机,以这个状态机为主轴的设计思路如下:1上电初始状态state_idle,复位结束后即进入下一状态state_hist。2state_hist状态下,举行实时图像的256级直方图统计,统计结果存放在寄存器histogram_cnt25

4、5:019:0中;图像接收信号i_image_ddr3_frame_end拉高时,切换到下一个状态state_fmax。3state_fmax状态下,遍历一遍直方图统计结果寄存器histogram_cnt255:019:0,找出最大值存放在寄存器max_histogramcnt19:0中;找到最大值后,切换到下一状态state_cntc。4state_cntc状态下,挺直转换到下一个状态state_outp;该状态主要为了清零计数器dlycnt。5state_outp状态下,依次将256个直方图统计结果乘以448(=256+128+64),作为被除数,实际乘以448是通过3个移位结果举行累加实

5、现。而max_histogramcnt19:0则作为除数,依次输出256个举行除法归一化后的直方图统计结果(o_image_hc_wren拉高时o_image_hc_wrdb9:0有效)。完成后进入下一状态state_wait。6state_wait状态下,挺直切换到state_idle。在第5步举行的归一化处理,其基本思想是找到256个直方图统计结果的最大值,作为归一化的1(其他值都小于1);而其他结果都会以此为标准猎取对应的归一化值;例如最大值若为40000,那么归一化后为1,某个统计结果是1000,那么归一化后是0.025;而实际我们需要将这个归一化后的直方图结果显示到液晶屏上,液晶屏上

6、我们可以希翼最高的直方图可以取448pix来显示,那么我们用448乘以归一化后的结果即可。实际液晶屏是720p的驱动辨别率,最大可以给到720pix的高度,但是由于左侧的原始采集图像显示是640*480,为了显示美观,我们最好给出一个不超过480pix的最高直方图高度显示,而取448其实是考虑到它等于256+128+64,可以不消耗fpga的乘法器资源,用移位累加来实现。 3 fpga与matlab协同验证3.1 直方图统计与归一化结果仿真在at7_img_ex09at7.srcssources_1newtestbench文件夹下,测试脚本sim_histogram_calculation.v

7、用于对模块histogram_calculation.v举行仿真。vivado打开at7_img_ex09工程,在sources面板中,绽开simulation sources à sim_1,将sim_histogram_calculation.v文件设置为top module。在flow navigator面板中,绽开simulation,点击run simulation,弹出菜单中点击run behavioral simulation举行仿真。测试脚本中,读取at7_img_ex09at7.sim文件夹下的640*480图像数据image_in_hex.txt(该文件由at7_img_ex09文件夹下的image_txt_generation.m产生,原始图像为test.bmp)。一组完整的图像数据经过histogram_calculation.v模块处理后,产生256个归一化直方图结果,写入到histogram_result.txt文本中(仿真测试结果位于projectat7_img_ex09at7.simsim_1behav文件夹下)。用法at7_img_ex09matlab文件夹下的draw_histogram_fro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论