基于MATLAB与FPGA的图像处理教程
韩彬 林海全 姜宇奇
前 言
业内有很多介绍MATLAB图像处理的书,如《数字图像处理(MATLAB版)》(作者冈萨雷斯),也有不少介绍FPGA图像处理的书,如《FPGA数字图像采集与处理》(作者吴厚航),但尚未出现一本结合MATLAB仿真与FPGA实现的图像处理教程。单纯地学习MATLAB图像处理的读者,很难在FPGA上对其算法用硬件实现;单纯地学习FPGA图像处理的读者,又很难从底层了解算法的原理与实现。因此,本书的出现将填补业内这一空缺,会给对该领域感兴趣的读者,带来不一样的福音。
本书将从图像格式转换、降噪、增强、二值化、锐化、缩放等传统基础图像算法入手,从原理到MATLAB设计、FPGA硬件加速实现进行由浅入深、循序渐进的介绍。以深度学习算法LeNet5为例,介绍如何用FPGA实现较简单的硬件加速卷积神经网络。最后,作为画龙点睛之笔,介绍传统ISP和新兴AISP的理论概念及区别,并阐述未来图像硬件加速的发展走向。
为了让读者能够更好地了解本书的架构,笔者整理了章节规划的图谱,如下所示。读者可以按顺序阅读,也可以根据自己的兴趣挑重点查阅,章节规划没有严格的先后顺序。
图片
图像算法的实现属于方法论,优秀的图像算法可以让我们事半功倍;同样,如何用更低的PPA(Power Performance Area,即功耗、性能、面积,是芯片最主要的三个评价指标)在FPGA/IC上实现图像算法的硬件加速,也是一门学问,需要充分理解图像算法的实现过程,还需要掌握FPGA的设计思维,并且熟练运用FPGA常用的加速思维。笔者曾在《FPGA设计技巧与案例开发详解(第3版)》一书中讲述了很多的FPGA设计技巧,本书将重点针对图像处理,为读者讲解具体的算法实现。
截至本书出版前,笔者在IC公司已经工作7年有余,深刻地感受到研发人员的能力对自主研发代码质量(设计功能不考虑时序、门控时钟满天飞等)的影响,目前虽然功…