基于FPGA的嵌入式图像处理系统设计.pdf

基于FPGA的嵌入式图像处理系统设计.pdf
 

书籍描述

编辑推荐
《基于FPGA的嵌入式图像处理系统设计》对FPGA技术的初学者以及已经具有比较丰富的设计经验的读者来说都有很好的参考价值,也为从事基于FPGA的嵌入式系统开发和应用的软、硬件工程师和科研人员提供一种比较系统、全面的学习材料。

作者简介
作者:罗纳德•贝利(Donald G.Bailey) 译者:原魁 何文浩 肖晗

目录
1图像处理
1.1基本定义
1.2图像形成
1.3图像处理操作
1.4应用实例
1.5实时图像处理
1.6嵌入式图像处理
1.7串行处理
1.8并行性
1.9硬件图像处理系统
2现场可编程门阵列
2.1可编程逻辑器件
2.1.1FPGA与ASIC
2.2FPGA和图像处理
2.3FPGA的内部
2.3.1逻辑器件
2.3.2互连
2.3.3输入和输出
2.3.4时钟
2.3.5配置
2.3.6功耗
2.4FPGA产品系列及其特点
2.4.1Xilinx
2.4.2Altera
2.4.3Lattice半导体公司
2.4.4Achronix
2.4.5SiliconBlue
2.4.6Tabula
2.4.7Actel
2.4.8Atmel
2.4.9QuickLogic
2.4.10MathStar
2.4.11Cypress
2.5选择FPGA或开发板
3编程语言
3.1硬件描述语言
3.2基于软件的语言
3.2.1结构化方法
3.2.2扩展语言
3.2.3本地编译技术
3.3Visual语言
3.3.1行为式描述
3.3.2数据流
3.3.3混合型
3.4小结
4设计流程
4.1问题描述
4.2算法开发
4.2.1算法开发过程
4.2.2算法结构
4.2.3FPGA开发问题
4.3结构选择
4.3.1系统级结构
4.3.2计算结构
4.3.3硬件和软件的划分
4.4系统实现
4.4.1映射到FPGA资源
4.4.2算法映射问题
4.4.3设计流程
4.5为调整和调试进行设计
4.5.1算法调整
4.5.2系统调试
5映射技术
5.1时序约束
5.1.1低级流水线
5.1.2处理同步
5.1.3多时钟域
5.2存储器带宽约束
5.2.1存储器架构
5.2.2高速缓存
5.2.3行缓冲
5.2.4其他存储器结构
5.3资源约束
5.3.1资源复用
5.3.2资源控制器
5.3.3重配置性
5.4计算技术
5.4.1数字系统
5.4.2查找表
5.4.3CORDIC
5.4.4近似
5.4.5其他方法
5.5小结
6点操作
6.1单幅图像上的点操作
6.1.1对比度和亮度调节
6.1.2全局阈值化和等高线阈值化
6.1.3查找表实现
6.2多幅图像上的点操作
6.2.1图像均值
6.2.2图像相减
6.2.3图像比对
6.2.4亮度缩放
6.2.5图像掩模
6.3彩色图像处理
6.3.1伪彩色
6.3.2色彩空间转换
6.3.3颜色阈值化
6.3.4颜色校正
6.3.5颜色增强
6.4小结
7直方图操作
7.1灰度级直方图
7.1.1数据汇集
7.1.2直方图均衡化
7.1.3自动曝光
7.1.4阈值选择
7.1.5直方图相似性
7.2多维直方图
7.2.1三角阵列
7.2.2多维统计信息
7.2.3颜色分割
7.2.4颜色索引
7.2.5纹理分析
8局部滤波器
8.1缓存
8.2线性滤波器
8.2.1噪声平滑
8.2.2边缘检测
8.2.3边缘增强
8.2.4线性滤波器技术
8.3非线性滤波器
8.3.1边缘方向
8.3.2非极大值抑制
8.3.3零交点检测
8.4排序滤波器
8.4.1排序滤波器的排序网络
8.4.2自适应直方图均衡化
8.5颜色滤波器
8.6形态学滤波器
8.6.1二值图像的形态学滤波
8.6.2灰度图像形态学
8.6.3颜色形态学滤波
8.7自适应阈值分割
8.7.1误差扩散
8.8小结
9几何变换
9.1前向映射
9.1.1可分离映射
9.2逆向映射
9.3插值
9.3.1双线性插值
9.3.2双三次插值
9.3.3样条插值
9.3.4通过插值压缩数据
9.4映射的优化
9.5图像配准
9.5.1基于特征的方法
9.5.2基于区域的方法
9.5.3应用
10线性变换
10.1傅里叶变换
10.1.1快速傅里叶变换
10.1.2滤波
10.1.3逆滤波
10.1.4插值
10.1.5配准
10.1.6特征提取
10.1.7哥兹柔算法
10.2离散余弦变换
10.3小波变换
10.3.1滤波实现
10.3.2小波变换的应用
10.4图像和视频编码
11目标检测和标记
11.1包围盒
11.2游程编码
11.3链码
11.3.1串行实现算法
11.3.2单次扫描算法
11.3.3特征提取
11.4连通域标注
11.4.1随机读取算法
11.4.2多次扫描算法
11.4.3两次扫描算法
11.4.4单次扫描算法
11.4.5多输入标号
11.4.6进一步优化
11.5距离变换
11.5.1形态学方法
11.5.2倒角距离
11.5.3可分离变换
11.5.4应用
11.5.5测地线距离变换
11.6分水岭变换
11.6.1流水算法
11.6.2浸入算法
11.6.3应用
11.7哈夫变换
11.7.1直线哈夫变换
11.7.2圆哈夫变换
11.7.3广义哈夫变换
11.8小结
12接口
12.1摄像机输入
12.1.1摄像机接口标准
12.1.2消除隔行扫描
12.1.3全局和卷帘快门的校正
12.1.4Bayer模板处理
12.2显示输出
12.2.1显示器驱动
12.2.2显示内容
12.3串行通信
12.3.1PS2接口
12.3.2I2C总线
12.3.3SPI总线
12.3.4RS-232接口
12.3.5USB接口
12.3.6以太网
12.3.7PCIExpress
12.4存储器
12.4.1静态随机存储器(SRAM)
12.4.2动态随机存储器
12.4.3闪存
12.5小结
13测试、调整和调试
13.1设计
13.1.1随机噪声源
13.2实现
13.2.1常见的实现错误
13.3调试
13.4时序收敛
14应用实例
14.1彩色区域跟踪
14.2镜头畸变校正
14.2.1畸变描述
14.2.2畸变校正
14.3中央窝传感器
14.3.1中央窝映射
14.3.2使用传感器
14.4深度成像
14.4.1扩展精确测量范围
14.5实时生产线分级
14.5.1软件算法
14.5.2硬件实现
14.6小结
参考文献

文摘
版权页:

基于FPGA的嵌入式图像处理系统设计

插图:

基于FPGA的嵌入式图像处理系统设计

HIDE4K(Benkrid,2000;Benkridetal,2002b)是后来出现的一种该语言的变形。它将这种基于规则的方法扩展到基于硬件骨架结构,有效地建立了一组高层库结构,以便于构建更加复杂的操作。图像处理问题被描述为进行基本图像处理操作的一种有向非循环图,然后将其匹配到框架上以得到实现的基本架构。此后,根据特定图像处理操作的需要,利用一个经过优化并包括各种基本构建模块(线缓冲,加法器,乘法器,绝对值单元等)的库,对骨架内的组件进行具体实现。使用开发商提供的工具,可以利用HIDE语言产生独立于VHDL的平台。但后期人们发现,使用面向特定FPGA的库可以实现更高的时钟频率和更好的装配密度(Benkridetal,2006)。使用面向特定平台的专用库可以产生一个初步布局,并产生一个映射到FPGA上的EDIF网表。
骨架库的使用使用户能够为操作过程指定一种高层描述方式,并在内部转换为一种结构化的描述方式,从而使用户不必关心细节实现的复杂程度(Benkrid和Benkrid,2008)。虽然该方法比完全基于库的方法更加灵活,但这仍然要求能够将设计映射到一个合适的框架中。
3.2.2扩展语言
第二种方法是修改高级语言的语法并将其有效地转化为一种硬件描述语言(Todmanetal,2005)。为此专门进行的扩展包括,指定并行机制以及相关的通信机制的能力,指定硬件结构的能力,例如指定RAM、ROM,以及各种各样的数据位的宽度的能力,等等。在这种方法中,仍然主要是由设计者负责将算法写入到硬件中。为了最大限度地利用并行机制,通常需要对算法做出较大改变才能满足硬件的约束条件,而这当然需要设计者熟悉硬件设计。但是,为了针对实时操作进行设计优化,可能要用到相当大范围的并行处理技术。使用高级语言而不是更传统的硬件描述语言的优势在于,许多底层的设计档案是被开发人员抽象出来的。但是,由于该方法仍然允许在较低层级进行一些控制,它实际产生了一个抽象和控制的中间级。虽然语言上的一些变化看起来并不重要,但是并行结构的引入使得语言和其编程方式都产生了相当大的改变。这需要程序员改变他们的思维方式——从硬件的角度思考仍然非常重要。

内容简介
《基于FPGA的嵌入式图像处理系统设计》详细介绍FPGA(Field Programmable Gate Array,现场可编程门阵列)这种新型可编程电子器件的特点,对FPGA的各种编程语言的发展历程进行回顾,并针对嵌入式图像处理系统的特点和应用背景,详细介绍如何利用FPGA的硬件并行性特点研制开发高性能嵌入式图像处理系统。作者还结合自己的经验,介绍了研制开发基于FPGA的嵌入式图像处理系统所需要的正确思路以及许多实用性技巧,并给出了许多图像处理算法在FPGA上的具体实现方法以及多个基于FPGA实现嵌入式图像处理系统的应用实例。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多