基於 MATLAB 與 FPGA 的圖像處理教程

韓彬

  • 出版商: 電子工業
  • 出版日期: 2023-01-01
  • 售價: $588
  • 貴賓價: 9.5$559
  • 語言: 簡體中文
  • 頁數: 288
  • 裝訂: 平裝
  • ISBN: 7121447592
  • ISBN-13: 9787121447594
  • 相關分類: FPGAMatlab
  • 立即出貨

買這商品的人也買了...

相關主題

商品描述

本書不是一本純粹的基於軟件算法的教程,亦不是一本單一講述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