本書主要內(nèi)容包括FPGA程序設(shè)計(jì)和圖像與視頻處理的基礎(chǔ)知識(shí),通過實(shí)例代碼詳細(xì)講解了如何利用FPGA來實(shí)現(xiàn)直方圖操作中直方圖統(tǒng)計(jì)/均衡化/線性拉伸/規(guī)定化、線性濾波器操作中的均值濾波器、Sobel算子(濾波、求模、求角度)、非線性濾波器操作中的排序類算法/形態(tài)學(xué)濾波、圖像分割算法中的局部自適應(yīng)分割/Canny算子等。本書在仿真測試章節(jié)提出了一種通用的完善的測試系統(tǒng),并利用此測試系統(tǒng)在每一章的仿真測試環(huán)節(jié)對(duì)所設(shè)計(jì)算法進(jìn)行嚴(yán)格的測試和驗(yàn)證。本書在最后一章介紹了在視頻處理領(lǐng)域常見的輸入輸出接口。本書還提供大量關(guān)于如何利用FPGA實(shí)現(xiàn)圖像處理算法的實(shí)例及源代碼。
第1章 圖像處理基礎(chǔ) 1
1.1 數(shù)字圖像處理簡介 1
1.1.1 圖像采樣 1
1.1.2 圖像量化 2
1.1.3 數(shù)字圖像處理 3
1.2 數(shù)字圖像處理系統(tǒng) 4
1.2.1 圖像處理系統(tǒng)構(gòu)成 4
1.2.2 原始圖像獲取 6
1.2.3 圖像傳感器接口 16
1.2.4 圖像處理流水線 17
1.2.5 圖像與視頻壓縮 19
1.2.6 視頻顯示處理 26
第2章 FPGA與圖像處理 32
2.1 使用FPGA的原因 32
2.2 FPGA技術(shù)優(yōu)勢 33
2.3 FPGA的發(fā)展歷程 34
2.4 FPGA生產(chǎn)廠家及其產(chǎn)品 35
2.4.1 Altera 35
2.4.2 Xilinx 37
2.4.3 Lattice 37
2.4.4 Atmel 38
2.4.5 Actel 38
2.5 FPGA開發(fā)流程 38
2.5.1 FPGA設(shè)計(jì)方法 38
2.5.2 典型的FPGA開發(fā)流程 39
2.6 FPGA常用開發(fā)工具 44
2.6.1 代碼輸入工具 45
2.6.2 綜合工具 46
2.6.3 仿真工具 47
2.6.4 實(shí)現(xiàn)與優(yōu)化工具 47
2.6.5 EDA工具 48
2.7 FPGA圖像處理的開發(fā)流程 49
2.7.1 需求分析及問題描述 49
2.7.2 軟件算法設(shè)計(jì)及驗(yàn)證 50
2.7.3 硬件平臺(tái)設(shè)計(jì) 51
2.7.4 FPGA映射 52
2.7.5 仿真及驗(yàn)證 54
第3章 FPGA編程語言 55
3.1 HDL語言簡介 55
3.2 模塊化設(shè)計(jì) 56
3.3 可移植性 57
3.4 不可移植性 61
3.5 測試邏輯 62
3.6 冗余邏輯 63
3.7 常用語法 63
3.7.1 參數(shù)化 63
3.7.2 條件編譯 68
3.7.3 位寬匹配 69
3.7.4 二維數(shù)組 69
3.8 應(yīng)用實(shí)例 70
3.8.1 信號(hào)邊沿檢測 70
3.8.2 多拍處理 72
3.8.3 圖像行列計(jì)數(shù) 73
第4章 映射技術(shù) 77
4.1 系統(tǒng)結(jié)構(gòu) 77
4.1.1 流水線設(shè)計(jì) 77
4.1.2 并行陣列 81
4.2 計(jì)算技術(shù) 82
4.2.1 算法轉(zhuǎn)換 82
4.2.2 近似計(jì)算 83
4.2.3 增量更新 85
4.2.4 查找表 85
4.2.5 浮點(diǎn)計(jì)算 89
4.2.6 Cordic技術(shù) 96
4.3 存儲(chǔ)器映射 103
4.3.1 幀緩存 104
4.3.2 行緩存 105
4.3.3 異步緩存 113
4.3.4 增加存儲(chǔ)器帶寬 114
4.3.5 存儲(chǔ)器建模與仿真 115
4.4 其他設(shè)計(jì)技巧 116
4.4.1 合理處理參數(shù) 116
4.4.2 資源及模塊復(fù)用 117
4.4.3 防止亞穩(wěn)態(tài) 118
第5章 系統(tǒng)仿真 121
5.1 Modelsim使用基礎(chǔ) 121
5.1.1 Modelsim簡介 121
5.1.2 Modelsim圖形界面及
仿真示例 122
5.1.3 使用腳本命令來加速
仿真 133
5.1.4 其他加速仿真的方法 136
5.2 視頻圖像處理仿真測試系統(tǒng) 136
5.2.1 仿真測試系統(tǒng)框架 136
5.2.2 視頻時(shí)序模擬 137
5.2.3 視頻捕獲模擬 145
5.2.4 MFC程序設(shè)計(jì) 157
5.2.5 通用testbench 161
第6章 直方圖操作 167
6.1 灰度直方圖 167
6.2 直方圖均衡化 169
6.3 直方圖規(guī)定化 172
6.4 直方圖拉伸 175
6.5 基于FPGA的直方圖操作 179
6.5.1 FPGA直方圖統(tǒng)計(jì) 179
6.5.2 FPGA直方圖均衡化 192
6.5.3 FPGA直方圖線性拉伸 203
第7章 線性濾波器 214
7.1 線性濾波 214
7.1.1 均值濾波 214
7.1.2 高斯濾波 216
7.1.3 Sobel算子 219
7.1.4 離散傅里葉變換 222
7.2 基于FPGA的均值濾波 227
7.2.1 整體設(shè)計(jì)與模塊劃分 227
7.2.2 子模塊設(shè)計(jì) 228
7.2.3 Verilog代碼設(shè)計(jì) 232
7.2.4 仿真與調(diào)試結(jié)果 243
7.3 基于FPGA的Sobel算子 247
7.3.1 整體設(shè)計(jì)與模塊劃分 247
7.3.2 Sobel模板計(jì)算電路 249
7.3.3 基于Cordic的坐標(biāo)系轉(zhuǎn)換
電路 251
7.3.4 Verilog代碼設(shè)計(jì) 257
7.3.5 仿真與調(diào)試結(jié)果 274
第8章 非線性濾波器 280
8.1 統(tǒng)計(jì)排序?yàn)V波 280
8.2 基于FPGA的統(tǒng)計(jì)排序?yàn)V波器 282
8.2.1 并行全比較排序法原理 282
8.2.2 整體設(shè)計(jì)與模塊劃分 285
8.2.3 子模塊設(shè)計(jì) 286
8.2.4 Verilog代碼設(shè)計(jì) 288
8.2.5 仿真與調(diào)試結(jié)果 298
第9章 形態(tài)學(xué)濾波 303
9.1 形態(tài)學(xué)濾波簡介 303
9.2 形態(tài)學(xué)濾波的基本應(yīng)用 304
9.3 基于FPGA的Tophat濾波設(shè)計(jì) 311
9.3.1 頂層框架設(shè)計(jì) 311
9.3.2 子模塊設(shè)計(jì) 312
9.3.3 Verilog代碼設(shè)計(jì) 317
9.3.4 仿真及調(diào)試結(jié)果 337
第10章 圖像分割 341
10.1 圖像分割簡介 341
10.2 基于閾值的分割 341
10.2.1 全局閾值分割 341
10.2.2 局部自適應(yīng)閾值分割 344
10.3 基于邊緣的分割 347
10.3.1 Canny算子 347
10.3.2 Canny算子的計(jì)算步驟 347
10.4 基于FPGA的局部自適應(yīng)分割 356
10.4.1 算法轉(zhuǎn)換 357
10.4.2 FPGA結(jié)構(gòu)設(shè)計(jì) 358
10.4.3 子模塊設(shè)計(jì) 359
10.4.4 Verilog代碼設(shè)計(jì) 363
10.4.5 仿真與調(diào)試 371
10.5 基于FPGA的Canny算子設(shè)計(jì) 378
10.5.1 非最大值抑制電路設(shè)計(jì) 378
10.5.2 滯后閾值分割電路設(shè)計(jì) 381
10.5.3 Verilog代碼設(shè)計(jì) 382
10.5.4 仿真調(diào)試結(jié)果 390
第11章 視頻接口 391
11.1 視頻輸入接口 391
11.1.1 模擬視頻輸入 391
11.1.2 CameraLink接口 394
11.1.3 USB接口 399
11.1.4 FireWire接口 401
11.1.5 GigE Vision?接口 407
11.1.6 直接接口 410
11.2 視頻輸出接口 411
11.2.1 CVT標(biāo)準(zhǔn) 411
11.2.2 VGA 416
11.2.3 PAL 425
11.2.4 DVI/HDMI 433
參考文獻(xiàn) 441