【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
做图像的同学很多,大部分都是用matlab、c、python。做fpga的也不少,不过大部分都是做运动控制、数据通讯、或者ic验证等工作的。实际开发中,用fpga做图像加速的有,但是不多。正是基于对图像和fpga的好奇,编写了这一系列的blog,希望对有志于这个方向学习的同学提供一点帮助。
整个系列分成四个部分,第一部分主要讲解基本的fpga操作;第二部分主要是利用python+opencv实现常用的图像处理算法;第三部分则是verilog仿真,也就是将部分算法翻译成verilog语言;第四部分是fpga移植,verilog实现的代码需要再次优化之后才能运行在fpga上面。
1、fpga实操训练
1)基础
2)按键输入
3)按键消抖
4)锁相环pll
5)数码管
6)uart串口
7)小功能到模块开发
8)利用fpga实现pwm
9)仿真和状态机
10)signal tap调试
11)vga测试
12)ip rom
13)ip ram和ip fifo
14)硬件乘法器
15)从模块到系统开发
16)lcd测试
17)lcd字符显示
18)一个典型的fpga系统
19)系统开发和硬件接口
20)fpga和cpu之间的配合
2、python图像处理
21)opencv入门
22)灰度化
23)图像镜像
24)旋转
25)图像平移
26)图像缩放
27)直方图增强
28)均值滤波
29)中值滤波
30)高斯滤波
31)prewitt算子
32)sobel算子
33)laplacian算子
34)二值化
35)腐蚀和膨胀
36)开运算和闭运算
37)轮廓提取
3、verilog图像算法实现与仿真
38)流程与实现
39)并行处理方法
40)代码与实践
4、fpga图像处理
41)基于camera的图像读取和显示
42)基于sd卡图像读取和显示
43)灰度化
44)二值化
45)sobel算子
46)图像取反
47)对比度增强
48)均值滤波
49)laplacian算子
50)腐蚀和膨胀