Image processing based on FPGA
基于FPGA的图像处理可以利用FPGA并行计算的特性极大地提高图像处理的速度,可以说是嵌入式图像处理的高速解决方案。
libing64
知乎主页 https://www.zhihu.com/people/qing-feng-77-90/
github主页 https://github.com/libing64
展开
-
基于FPGA的图像处理(七)--Verilog实现均值滤波
之前一直用Xilinx公司的SysGen搭建图像处理的算法,然后进行仿真,也可以直接编译下载到FPGA开发板上直接运行。但是算法实现之后却很难和其他模块一块使用。经过一段时间的反思,决定用Verilog直接写算法。Verilog进行图像处理的难点:1、图片获取 C语言或者Matlab进行图像处理,图片的文件读取获取或者摄像头读取都能一个函数搞定,但是FPG原创 2013-05-01 20:36:05 · 32694 阅读 · 37 评论 -
基于FPGA的图像处理(六)--Shared Memory
在FPGA的设计中,当不同速率的模块之间进行高速的数据传输时,共享存储器是一个很好的解决方案,在一个模块中将数据写入Shared Memory,在另一个模块中将其读出,Shared Memory使用name作为标识,同名的Shared Memory使用的是相同的内存区域。上面的模块将数据写入,下面的模块将数据读出。两个Shared Memory模块分别是名字相同,使用时相同的存储原创 2012-11-30 09:31:16 · 3566 阅读 · 0 评论 -
基于FPGA的图像处理(五)--状态机
使用FPGA实现各种算法时,状态机是很常用的方法,在SysGen中有两种非常简便的方法构建状态机,一是使用Mcode,以switch-case语句轻松实现,二是使用SysGen自带状态机模块。 状态机假设我们要从01序列中检测出1011序列,则状态机模型如下Next State Matrix:[0 1; 2 1; 0 3; 2 1]Output Matrix : [0原创 2012-11-29 22:14:52 · 4557 阅读 · 1 评论 -
基于FPGA的图像处理(四)--Matlab Language supported by Mcode
在进行FPGA图像处理时,如果使用System Generator构建模型,有时有些算法不能实现时可以考虑Mcode来实现,但是其实在SysGen中Mcode是很弱的,因此需要了解它的能力有多大,才能更好的操作。The MCode block supports the following MATLAB language constructs:• Assignment stateme原创 2012-11-28 21:49:40 · 3412 阅读 · 1 评论 -
基于FPGA的图像处理(三)--图像融合
System Generator安装之后可以在Simulink中调用相应的模块进行视觉算法的搭建,我两台电脑上分别是ISE12.3+matlab2010a, ISE10.1+Matlab2010a。需要注意的是ISE和Matlab之间是有型号匹配的。 首先要打开FPGA,打开Simulink,新建一个Model。 在Xilinx Blockset中拖取需原创 2012-11-03 19:22:14 · 19044 阅读 · 16 评论 -
基于FPGA的图像处理(二)--System Generator入门
System generator 安装之后会在Simulin模块库中添加一些Xilinx FPGA专用的模块库,包括Basic Element,Communication,Control Logic,DataTypes,DSP,Math,Memory,Shared Momory,Tool等模块库,只有使用这里的模块才能进行FPGA算法的仿真以及进行综合等等。 使用这些模块就可以原创 2012-11-03 17:49:11 · 11085 阅读 · 2 评论 -
基于FPGA的图像处理(一)--System Generator介绍
计算机视觉系统通常需要进行大量的信息处理才能够得到所需要的信息。目前主要有CPU、GPU、ASIC、DSP、FPGA等计算平台。常用的计算机视觉系统通过通用计算机进行视觉信息处理,但是,由于CPU的计算能力有限,对于一些计算复杂度很高的视觉算法,其处理速度常常难以满足系统的实时性需要。GPU具有高度的并行计算能力,可以较好地解决计算速度的问题,然而,基于GPU的计算机视觉系统存在着功耗较高原创 2012-11-03 17:21:44 · 13370 阅读 · 8 评论