基于MATLAB与FPGA的图像处理教程
- ISBN:9787121447594
- 装帧:暂无
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:288
- 出版时间:2023-01-01
- 条形码:9787121447594 ; 978-7-121-44759-4
内容简介
本书不是一本纯粹的基于软件算法的教程,亦不是一本单一讲述FPGA硬件实现的书,而是一本从图像处理算法理论基础出发,结合MATLAB软件实现,*终采用FPGA进行并行硬件加速的指南。书中选用了一些常用的图像处理算法,相关章节大都遵循"算法理论→MATLAB软件验证→FPGA硬件实现”的流程,将这些算法由浅入深、循序渐进地从算法理论讲解到FPGA硬件实现。 本书适合对FPGA图像处理感兴趣的读者,需读者熟悉MATLAB软件与Verilog语言,并且具备一定的FPGA基础。如果是FPGA初学者,可以先阅读笔者的另外两本书:《FPGA设计技巧与案例开发详解(第3版)》《Verilog数字系统设计教程(第4版)》。 本书的所有例程均已经过了验证,并且已经在实际项目中得到了多次应用,配套的代码及参考资料可联系笔者获取(邮箱crazyfpga@qq.com)。
目录
第1章 什么是硬件加速引擎 1
1.1 CPU是怎么加速的? 1
1.1.1 CPU体系结构加速 1
1.1.2 CPU流水线加速 3
1.2 什么是硬件加速引擎 5
1.2.1 苹果M1芯片架构 6
1.2.2 海思Hi3516A芯片架构 8
1.2.3 本书图像加速内容 9
1.3 FPGA软件仿真环境介绍 10
1.3.1 FPGA目录规划约定 10
1.3.2 仿真验证平台介绍 10
1.3.3 相关软件环境介绍 13
1.4 FPGA硬件验证平台介绍 14
第2章 RGB转YCbCr算法介绍及MATLAB与FPGA实现 17
2.1 RGB与YCbCr色域介绍 17
2.1.1 RGB模型 18
2.1.2 YCbCr色域介绍 20
2.2 RGB转YCbCr加速运算 22
2.2.1 让你的软件飞起来 22
2.2.2 FPGA硬件加速思维 24
2.2.3 FPGA硬件实现推导 27
2.3 RGB转YCbCr的MATLAB实现 27
2.3.1 MATLAB代码的设计 27
2.3.2 仿真数据的准备 31
2.4 RGB转YCbCr的FPGA实现 32
2.4.1 FPGA代码的实现 33
2.4.2 仿真流程的详解 36
第3章 常用图像增强算法介绍及MATLAB与FPGA实现 39
3.1 直方图均衡算法的实现 39
3.1.1 直方图均衡的原理 39
3.1.2 直方图均衡的MATLAB实现 42
3.1.3 直方图均衡的FPGA实现 47
3.1.4 直方图均衡的ModelSim仿真 51
3.2 对比度算法的实现 53
3.2.1 对比度增强的原理 53
3.2.2 指数对比度增强的MATLAB实现 56
3.2.3 指数对比度增强的FPGA实现 58
3.2.4 指数对比度增强的ModelSim仿真 60
3.3 Gamma映射算法的实现 62
3.3.1 Gamma映射的原理 62
3.3.2 Gamma映射的MATLAB实现 66
3.3.3 Gamma映射的FPGA实现 69
3.3.4 Gamma映射的ModelSim仿真 71
第4章 常用图像降噪算法介绍及MATLAB与FPGA实现 73
4.1 降噪原理介绍 73
4.1.1 为什么要降噪 73
4.1.2 什么是噪声 73
4.1.3 图像降噪简介 74
4.2 均值滤波算法的实现 75
4.2.1 均值滤波算法的理论 75
4.2.2 均值滤波的MATLAB实现 75
4.2.3 均值滤波的FPGA实现 78
4.2.4 均值滤波的ModelSim仿真 82
4.3 中值滤波算法的实现 84
4.3.1 中值滤波算法的理论 84
4.3.2 中值滤波的MATLAB实现 87
4.3.3 中值滤波的FPGA实现 90
4.3.4 中值滤波的ModelSim仿真 90
4.4 高斯滤波算法的实现 93
4.4.1 高斯滤波算法的理论 95
4.4.2 高斯滤波的MATLAB实现 97
4.4.3 高斯滤波的FPGA实现 99
4.4.4 高斯滤波的ModelSim仿真 104
4.5 双边滤波算法的实现 107
4.5.1 双边滤波算法的理论 107
4.5.2 双边滤波的MATLAB实现 109
4.5.3 双边滤波的FPGA实现 118
4.5.4 双边滤波的ModelSim仿真 123
第5章 常用图像二值化算法介绍及MATLAB与FPGA实现 126
5.1 图像二值化的目的 126
5.2 全局阈值二值化算法 127
5.2.1 全局阈值二值化算法的理论与MATLAB实现 128
5.2.2 全局阈值二值化的MATLAB实现 131
5.2.3 全局阈值二值化的FPGA实现 131
5.3 局部阈值二值化算法 131
5.3.1 局部阈值二值化算法的理论 131
5.3.2 局部阈值二值化的MATLAB实现 132
5.3.3 局部阈值二值化的FPGA实现 134
5.3.4 局部阈值二值化的ModelSim仿真 136
5.4 Sobel边缘检测算法 140
5.4.1 Sobel边缘检测算法的理论 141
5.4.2 Sobel边缘检测的MATLAB实现 142
5.4.3 Sobel边缘检测的FPGA实现 144
5.4.4 Sobel边缘检测的ModelSim仿真 145
5.5 二值化腐蚀、膨胀算法 147
5.5.1 二值化腐蚀、膨胀算法的理论 147
5.5.2 二值化腐蚀、膨胀的MATLAB实现 148
5.5.3 二值化腐蚀、膨胀的FPGA实现 152
5.5.4 二值化腐蚀、膨胀的ModelSim仿真 153
5.6 帧间差算法及运动检测算法 155
5.6.1 帧间差算法及运动检测算法的理论 155
5.6.2 帧间差及运动检测的MATLAB实现 157
5.6.3 帧间差及运动检测的FPGA实现 164
第6章 常用图像锐化算法介绍及MATLAB与FPGA实现 165
6.1 图像锐化的原理 165
6.1.1 一阶微分的边缘检测 166
6.1.2 二阶微分的边缘检测 167
6.1.3 一阶微分与二阶微分的边缘检测对比 168
6.2 Robert锐化算法的实现 170
6.2.1 Robert锐化算法的理论 170
6.2.2 Robert锐化的MATLAB实现 170
6.2.3 Robert锐化的FPGA实现 172
6.2.4 Robert锐化的ModelSim仿真 173
6.3 Sobel锐化算法的实现 176
6.3.1 Sobel锐化算法的理论 176
6.3.2 Sobel锐化的MATLAB实现 177
6.3.3 Sobel锐化的FPGA实现 179
6.3.4 Sobel锐化的ModelSim仿真 180
6.4 Laplacian锐化算法的实现 182
6.4.1 Laplacian锐化算法的理论 182
6.4.2 Laplacian锐化的MATLAB实现 183
6.4.3 Laplacian锐化的FPGA实现 185
6.4.4 Laplacian锐化的ModelSim仿真 186
第7章 常用图像缩放算法介绍及MATLAB与FPGA实现 190
7.1 *近邻插值算法的实现 191
7.1.1 *近邻插值算法的理论 191
7.1.2 *近邻插值的MATLAB实现 192
7.1.3 *近邻插值的FPGA实现 194
7.1.4 *近邻插值的ModelSim仿真 197
7.2 双线性插值算法的实现 199
7.2.1 双线性插值算法的理论 199
7.2.2 双线性插值的MATLAB实现 201
7.2.3 双线性插值的FPGA实现 204
7.2.4 双线性插值的ModelSim仿真 209
7.3 双三次插值算法的实现 214
7.3.1 双三次插值算法的理论 214
7.3.2 双三次插值的MATLAB实现 216
7.3.3 双三次插值的FPGA实现 219
7.4 浅谈基于深度学习的缩放算法 219
7.4.1 DL-SR算法的理论 219
7.4.2 DL-SR算法的性能提升 222
7.4.3 DL-SR与High-level CV的区别 223
7.4.4 DL-SR的几点思考与未来 223
第8章 基于LeNet5的深度学习算法介绍及MATLAB与FPGA实现 225
8.1 神经网络的介绍 225
8.1.1 人工神经网络 225
8.1.2 卷积神经网络 226
8.2 基于LeNet5 卷积神经网络的MATLAB实现 229
8.2.1 LeNet5卷积神经网络的简介 229
8.2.2 LeNet5卷积神经网络的MATLAB实现 230
8.2.3 基于LeNet5卷积神经网络的FPGA实现 233
8.3 基于摄像头的字符识别FPGA Demo的搭建与实现 240
第9章 传统ISP及AISP的图像处理硬件加速引擎介绍 248
9.1 ISP介绍 248
9.1.1 ISP简介 248
9.1.2 ISP的应用 250
9.1.3 ISP基础算法及流水线 253
9.1.4 Bayer域的图像处理算法 254
9.1.5 RGB域的图像处理算法 256
9.1.6 YUV域的图像处理算法 258
9.2 基于AI的ISP图像加速引擎介绍 259
9.2.1 AI在图像领域的应用 259
9.2.2 AISP简介 260
9.2.3 AISP的产业化应用 265
9.2.4 本章小结 267
延伸阅读 268
缩略语 271
作者简介
韩彬,网名CrazyBingo(CB),分别在杭州电子科技大学、西安电子科技大学获得学士学位、硕士学位,曾在中兴微电子(深圳市中兴微电子技术有限公司)负责多年的多媒体SOC前端开发工作,以及FPGA加速验证等事宜,在视频图像前后处理算法加速领域,有丰富的经验与实战的积累。此外,这些年作者编写过大量FPGA教程,也编写过无数FPGA图像的处理方案与架构,并相继出版了《FPGA设计技巧与案例开发详解(第3版)》《Verilog数字系统教程(第4版)》等书,获得业界广泛好评。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0