通过对你的MATLAB的程序的仿真,得到了如下的效果:

二、FPGA部分的设计实现注意点

在进行FPGA设计的时候,我们需要主要以下几个方面:

第一:关于图片大小的统一

这里,我们主要对你的直方图均衡算法进行FPGA的硬件的实现,这里,我们将图像的大小统一为100*100,这样的话,方便后期的同一处理,因为在FPGA内部进行处理的时候,由于硬件的实现不像MATLAB那么的灵活,所以需要对各个参数进行固定写死。这里设置100*100比较合适。

运行:中的main函数,可以将四个图片同一为100*100大小的图片,然后保存为串行的数据,保存到存储器中。

第二:关于图像的存储,由于我这边只有V5的开发板,然后看了下手册,发现两个的SDRAM还是有很大差别的,所以为了你拿到程序之后能立刻的运行,这里使用FPGA内部存储器进行保存,其操作方法和外部的SDRAM是完全相同的,也是通过地址的读写进行操作的。所以这里不影响你写论文。这就是相当于使用FPGA内部的SDRAM,其地址读写等一些基本的存储器的操作过程是完全相同的。

第三:看了下你的板子,接口只有网口,USB,串口。这里,这个部分的代码,主要考虑如下的因素:

网口,结构较为复杂,你的板子型号比较低,所以这里我不建议采取这个方式;

串口,速率较慢,显然不适合图像的发送

USB,这里我们可以借助Chipscope进行USB的数据发送,利用ChipScope进行数据的实时采集。这个部分的代码,我已经写了,但是没有进行测试,这里只有当你需要使用这个方式来采集的时候,在后期修改中,我帮你完善。

三、FPGA的仿真与验证分析

首先,根据FPGA的硬件结构,将MATLAB改写为串行处理的流程图。

>

仿真结果如下所示,下面按这个文件下的程序进行FPGA的设计与实现。

这里,对该程序进行FPGA设计实现。

这里,由于没有相同型号的板子,这里我们设计了一个比较晚上的仿真流程,从而验证整个过程的正确性。

首先,整个过程如下上图所示。

我们使用MATLAB将图像数据变为串行数据,并保持为仿真测试文件,用来进行仿真。

这个部分,你需要运行如下的代码:

 > 中的

运行完之后,会产生图像的测试代码级,即编写MATLAB自动产生verilog测试代码:

然后在FPGA中,会有如下的代码:

这个就是调用测试文件的完整的测试代码集。

我们将这个testdata.v复制到FPGA的工程文件夹下。

这个就是模拟实际的SDRAM的操作过程。

进行仿真,我们可以看到如下的仿真图。

将仿真图放大,可以看到如下的仿真结果:

上面,我们完整的仿真了其中的两帧图像。

并得到了仿真结果。

最后,我们将仿真结果保存到数据,导入到MATLAB进行成像。

Modelsim仿真完成之后,你会看到有如下的txt文件。将这个文件复制到

运行,得到如下的仿真结果:

对FPGA处理后的数据,仿真其中的直方图,得到如下的结果:

最后的注意事项:

第一、这里,你所提供的两种直方图的均衡方法,基本结构相同,所以,我这里只对第一种算法进行了FPGA的编写,如果有需要,那么我稍微一修改,就给你第二种的代码。

第二、你看完代码之后,觉得没什么问题了,并同意我的数据发送方法,那么我再完善一下数据采集部分的代码:

这个代码,写了,还没测试,因为还不知道你需要不要这种方法。

这里,由于没有下载板子,我设计了这种比较全面的仿真方法,你可以使用上面的方法,换别的图片,进行测试。

基于FPGA的图像均衡处理相关推荐

  1. 基于FPGA的图像浮雕效果实现

    基于FPGA的图像浮雕效果实现 项目简述 算法原理及MATLAB实现 浮雕效果的FPGA实现 FPGA工程代码 下板效果 参考文献 总结 项目简述 为什么要做这个小项目,因为最近正在在学习FPGA开源 ...

  2. 基于FPGA的图像中值滤波原理与实现

    图像中值滤波的FPGA实现 项目简述 中值滤波器原理 中值滤波器的实现 测试模块的代码 仿真结果 下板结果 总结 项目简述 中值滤波器在去除尖端噪声中非常重要,是信号处理中最长用到的滤波器.图像中的一 ...

  3. verilog 算法加速模块设计流程_基于FPGA的图像加速器的设计

    基于 FPGA 的图像加速器的设计 摘 要 介绍了一种基于 FPGA 的图像加速器的设计.本文硬件加速器的实质是通过流水线 设计来减少多余的操作达到加速的目的的, 内存是由 DMA 控制器访问, 之后 ...

  4. 基于FPGA的幅频均衡带通滤波器的设计

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 数字通信系统中,由于多径传输.信道衰落等影响,在接收端会产生严重的码间干扰,增大误码率.为了克服码间 ...

  5. 基于FPGA 的图像缩放算法设计

    介绍双线性插值算法来实现图像缩放,FPGA 硬件实现方法,包括图像数据缓冲单元.插值系数生成单元以及插值计算单元等. 图像是人类感知世界的视觉基础,是人类获取信息.表达信息的重要手段.现在研究较多的是 ...

  6. halcon旋转后坐标_基于FPGA的图像旋转设计

    该项目是参加2019届全国大学生FPGA大赛的作品,系统主要实现视频任意角度旋转.利用国产的紫光同创公司的FPGA芯片作为开发平台,视频图像从摄像头实时采集,经过算法旋转后,通过hdmi接口显示.该项 ...

  7. 基于FPGA的图像边缘检测系统设计

    边缘检测算法的实现 Sobel和Prewitt算子都是基于3*3模板的,所以我们再进行边缘检测的时候,也需要产生一个3*3的模板.本次毕业设计产生3*3的模板的办法是,用RAM来存储图像的前两行数据, ...

  8. 【FPGA教程案例44】图像案例4——基于FPGA的图像中值滤波verilog实现,通过MATLAB进行辅助验证

    FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...

  9. 基于FPGA的图像卷积设计与实现毕业论文

    青 岛 科 技 大 学 本 科 毕 业 设 计 (论 文) 题 目 __________________________________ 指导教师__________________________ ...

最新文章

  1. pytorch nlp 语音识别任务如何进行数据加载
  2. 【ABAP】Smartforms无法打印特殊字符问题处理方案
  3. c语言实现英文文本编辑器_用flutter实现富文本编辑器(二)
  4. linux 系统 网卡 ethX没有显示IP的处理方式
  5. (HDU)1157 -- Who's in the Middle(哪个居中)
  6. 离线版-端点检测代码重写
  7. MySQL数据库选型
  8. OpenCore引导配置说明第十二版-基于OpenCore-0.6.5正式版
  9. 如何使用微小区一键生成可打印的物业缴费通知单
  10. 纳米软件案例之陶瓷样品测试系统,原位观察力学测试纳米压痕仪-扫描电子显微镜SEM联用...
  11. 运算放大器的关键指标详解三
  12. 【进制转换】如何使用C++将2进制转换为16进制?
  13. 服务器安装系统要如何载入驱动程序,Dell 服务器安装Windows 2008 R2时手动加载阵列卡驱动...
  14. 全新版大学英语综合教程第一册学习笔记(原文及全文翻译)——7 - Kids On The Track(生死时刻)
  15. 区块链钱包开发(Android篇)
  16. Qt扫盲-QSS概述
  17. android下开启AP热点
  18. JESD79-4 第2章 DDR4 SDRAM 的引脚封装与寻址
  19. WebForm(二)——控件和数据库连接方式
  20. Blackberry8820进攻心得

热门文章

  1. 自动控制原理期末复习(Part2数学模型)
  2. 字节跳动抖音研发---测试开发三面---面经(附答案)【接口/自动化/web】测试面试题
  3. 基于 Swarm 的 Docker 集群管理
  4. android+多处理器+ios,Fotor - 全能图片处理器 #iOS #Android
  5. 3D Game Engine Design, Second Edition --- Go to Get it !
  6. 如何获取百度网盘的下载链接?
  7. 程序员的简历要点概括
  8. freebsd启动squid时候的visible_hostname错误
  9. Janus http处理流程
  10. UE4实时抠图,直播,绿幕