Python圖像處理實戰

Python圖像處理實戰

《Python圖像處理實戰》是2020年人民郵電出版社出版的圖書,作者是[印]桑迪潘·戴伊。

基本介紹

  • 中文名:Python圖像處理實戰
  • 作者:[印]桑迪潘·戴伊
  • 類別:程式設計
  • 出版社:人民郵電出版社
  • 出版時間:2020年
  • 開本:128 開
  • 裝幀:平裝
  • ISBN:9787115527684
內容簡介,作者簡介,圖書目錄,

內容簡介

本書介紹如何用流行的Python 圖像處理庫、機器學習庫和深度學習庫解決圖像處理問題。先介紹經典的圖像處理技術,然後探索圖像處理算法的演變歷程,始終緊扣圖像處理以及計算機視覺與深度學習方面的*進展。全書共12 章,涵蓋圖像處理入門基礎知識、套用導數方法實現圖像增強、形態學圖像處理、圖像特徵提取與描述符、圖像分割,以及圖像處理中的經典機器學習方法等內容。
本書適合Python 工程師和相關研究人員閱讀,也適合對計算機視覺、圖像處理、機器學習和深度學習感興趣的軟體工程師參考

作者簡介

桑迪潘·戴伊(Sandipan Dey)是一位興趣廣泛的數據科學家,主要研究機器學習、深度學習、圖像處理和計算機視覺,曾在推薦系統、行業動態預測模型、感測器定位模型、情感分析和設備預測等眾多數據科學領域工作過。桑迪潘·戴伊擁有美國馬里蘭大學計算機科學碩士學位,在IEEE 數據挖掘會議和期刊上發表了數篇學術論文,並在數據科學、機器學習、深度學習、圖像處理及相關課程/專業等方面獲得了100 多個慕課(mooc)學習認證。他經常在部落格空(sandipanweb)撰寫部落格,是機器學習教育愛好者。

圖書目錄

第1 章 圖像處理入門 1
1.1 什麼是圖像處理及圖像處理的套用 2
1.1.1 什麼是圖像以及圖像是如何存儲的 2
1.1.2 什麼是圖像處理 4
1.1.3 圖像處理的套用 4
1.2 圖像處理流程 4
1.3 在Python 中安裝不同的圖像處理庫 6
1.3.1 安裝pip 6
1.3.2 在Python 中安裝圖像處理庫 6
1.3.3 安裝Anaconda 發行版 7
1.3.4 安裝Jupyter 筆記本 7
1.4 使用Python 進行圖像輸入/輸出和顯示 8
1.4.1 使用PIL 讀取、保存和顯示圖像 8
1.4.2 使用matplotlib 讀取、保存和顯示圖像 10
1.4.3 使用scikit-image 讀取、保存和顯示圖像 12
1.4.4 使用SciPy 的misc 模組讀取、保存和顯示圖像 14
1.5 處理不同的檔案格式和圖像類型,並執行基本的圖像操作 15
1.5.1 處理不同的檔案格式和圖像類型 16
1.5.2 執行基本的圖像操作 20
小結 38
習題 39
拓展閱讀 40
第2 章 採樣、傅立葉變換與卷積 41
2.1 圖像形成—採樣和量化 42
2.1.1 採樣 42
2.1.2 量化 48
2.2 離散傅立葉變換 51
2.2.1 為什麼需要DFT 51
2.2.2 用快速傅立葉變換算法計算DFT 51
2.3 理解卷積 56
2.3.1 為什麼需要卷積圖像 57
2.3.2 使用SciPy 信號模組的convolve2d 函式進行卷積 57
2.3.3 使用SciPy 中的ndimage.convolve 函式進行卷積 61
2.3.4 相關與卷積 62
小結. 66
習題. 66
第3 章 卷積和頻域濾波 67
3.1 卷積定理和頻域高斯模糊 67
3.2 頻域濾波 75
3.2.1 什麼是濾波器 75
3.2.2 高通濾波器 76
3.2.3 低通濾波器 81
3.2.4 DoG 帶通濾波器 87
3.2.5 帶阻(陷波)濾波器 88
3.2.6 圖像復原 90
小結 98
習題 98
第4 章 圖像增強 99
4.1 逐點強度變換—像素變換 100
4.1.1 對數變換 101
4.1.2 冪律變換 103
4.1.3 對比度拉伸 104
4.1.4 二值化 108
4.2 直方圖處理—直方圖均衡化和直方圖匹配 112
4.2.1 基於scikit-image 的對比度拉伸和直方圖均衡化 113
4.2.2 直方圖匹配 117
4.3 線性噪聲平滑 120
4.3.1 PIL 平滑 120
4.3.2 基於SciPy ndimage 進行盒核與高斯核平滑比較 124
4.4 非線性噪聲平滑 124
4.4.1 PIL 平滑 125
4.4.2 scikit-image 平滑(去噪) 127
4.4.3 SciPy ndimage 平滑 131
小結 132
習題 133
第5 章 套用導數方法實現圖像增強 134
5.1 圖像導數—梯度和拉普拉斯運算元 134
5.1.1 導數與梯度 135
5.1.2 拉普拉斯運算元 138
5.1.3 噪聲對梯度計算的影響 140
5.2 銳化和反銳化掩模 141
5.2.1 使用拉普拉斯濾波器銳化圖像 141
5.2.2 反銳化掩模 142
5.3 使用導數和濾波器進行邊緣檢測..144
5.3.1 用偏導數計算梯度大小 145
5.3.2 scikit-image 的Sobel 邊緣檢測器 146
5.3.3 scikit-image 的不同邊緣檢測器—Prewitt、Roberts、Sobel、Scharr 和
Laplace 148
5.3.4 scikit-image 的Canny 邊緣檢測器 151
5.3.5 LoG 濾波器和DoG 濾波器 152
5.3.6 基於LoG 濾波器的邊緣檢測 157
5.3.7 基於PIL 發現和增強邊緣 159
5.4 圖像金字塔—融合圖像 160
5.4.1 scikit-image transform pyramid 模組的高斯金字塔 160
5.4.2 scikit-image transform pyramid 模組的拉普拉斯金字塔 162
5.4.3 構造高斯金字塔 164
5.4.4 僅通過拉普拉斯金字塔重建圖像 168
5.4.5 基於金字塔的圖像融合 170
小結 172
習題 173
第6 章 形態學圖像處理 174
6.1 基於scikit-image 形態學模組的形態學圖像處理 174
6.1.1 對二值圖像的操作 175
6.1.2 利用開、閉運算實現指紋清洗 183
6.1.3 灰度級操作 184
6.2 基於scikit-image filter.rank 模組的形態學圖像處理 185
6.2.1 形態學對比度增強 186
6.2.2 使用中值濾波器去噪 187
6.2.3 計算局部熵 188
6.3 基於SciPy ndimage.morphology 模組的形態學圖像處理 189
6.3.1 填充二值對象中的孔洞 189
6.3.2 採用開、閉運算去噪 190
6.3.3 計算形態學Beucher 梯度191
6.3.4 計算形態學拉普拉斯 193
小結 194
習題 194
第7 章 圖像特徵提取與描述符 196
7.1 特徵檢測器與描述符 196
7.2 哈里斯角點檢測器 198
7.2.1 scikit-image 包 198
7.2.2 哈里斯角點特徵在圖像匹配中的套用 200
7.3 基於LoG、DoG 和DoH 的斑點檢測器 204
7.3.1 高斯拉普拉斯 204
7.3.2 高斯差分 205
7.3.3 黑塞矩陣 205
7.4 基於方向梯度直方圖的特徵提取 206
7.4.1 計算HOG 描述符的算法206
7.4.2 基於scikit-image 計算HOG 描述符 207
7.5 尺度不變特徵變換 208
7.5.1 計算SIFT 描述符的算法.208
7.5.2 opencv 和opencv-contrib 的SIFT 函式 209
7.5.3 基於BRIEF、SIFT 和ORB 匹配圖像的套用 210
7.6 類Haar 特徵及其在人臉檢測中的套用 217
7.6.1 基於scikit-image 的類Haar 特徵描述符 218
7.6.2 基於類Haar 特徵的人臉檢測的套用 219
小結 222
習題 222
第8 章 圖像分割 223
8.1 圖像分割的概念 223
8.2 霍夫變換—檢測圖像中的圓和線 224
8.3 二值化和Otsu 分割 227
8.4 基於邊緣/區域的圖像分割 229
8.4.1 基於邊緣的圖像分割 229
8.4.2 基於區域的圖像分割 231
8.5 基於菲爾森茨瓦布高效圖的分割算法、SLIC 算法、快速移點陣圖像分割算法、
緊湊型分水嶺算法及使用SimpleITK 的區域生長算法 234
8.5.1 基於菲爾森茨瓦布高效圖的分割算法 235
8.5.2 SLIC 算法 238
8.5.3 快速移點陣圖像分割算法 240
8.5.4 緊湊型分水嶺算法 241
8.5.5 使用SimpleITK 的區域生長算法 243
8.6 活動輪廓算法、形態學蛇算法和基於OpenCV 的GrabCut 圖像分割算法 245
8.6.1 活動輪廓算法 245
8.6.2 形態學蛇算法 247
8.6.3 基於OpenCV 的GrabCut 圖像分割算法 250
小結 253
習題 253
第9 章 圖像處理中的經典機器學習方法 255
9.1 監督學習與無監督學習 255
9.2 無監督機器學習—聚類、PCA 和特徵臉 256
9.2.1 基於圖像分割與顏色量化的k 均值聚類算法 256
9.2.2 用於圖像分割的譜聚類算法 260
9.2.3 PCA 與特徵臉 261
9.3 監督機器學習—基於手寫數字數據集的圖像分類 268
9.3.1 下載MNIST(手寫數字)數據集 270
9.3.2 可視化數據集 270
9.3.3 通過訓練KNN、高斯貝葉斯和SVM 模型對MNIST 數據集分類 272
9.4 監督機器學習—目標檢測 278
9.4.1 使用類Haar 特徵的人臉檢測和使用AdaBoost 的級聯分類器—Viola-Jones 算法 279
9.4.2 使用基於HOG 特徵的SVM 檢測目標 283
小結 287
習題 287
第10 章 圖像處理中的深度學習—圖像分類 289
10.1 圖像處理中的深度學習 289
10.1.1 什麼是深度學習 290
10.1.2 經典學習與深度學習 290
10.1.3 為何需要深度學習 292
10.2 卷積神經網路 292
10.3 使用TensorFlow 或Keras 進行圖像分類 295
10.3.1 使用TensorFlow 進行圖像分類 295
10.3.2 使用Keras 對密集全連線層進行分類 302
10.3.3 使用基於Keras 的卷積神經網路進行分類 306
10.4 套用於圖像分類的主流深度卷積神經網路 311
小結 322
習題 322
第11 章 圖像處理中的深度學習—目標檢測等 323
11.1 YOLO v2 323
11.1.1 對圖像進行分類與定位以及目標檢測 324
11.1.2 使用卷積神經網路檢測目標 325
11.1.3 使用YOLO v2 326
11.2 利用DeepLab v3 的深度語義分割 333
11.2.1 語義分割 334
11.2.2 DeepLab v3  334
11.3 遷移學習—什麼是遷移學習以及什麼時候使用遷移學習 337
11.4 使用預訓練的Torch 模型和cv2 實現神經風格遷移 342
11.4.1 了解NST 算法 342
11.4.2 使用遷移學習實現NST 342
11.4.3 計算總損失##344
11.5 使用Python 和OpenCV 實現神經風格遷移 344
小結 347
習題 347
第12 章 圖像處理中的其他問題 348
12.1 接縫雕刻 348
12.1.1 使用接縫雕刻進行內容感知的圖像大小調整 349
12.1.2 使用接縫雕刻移除目標.352
12.2 無縫克隆和泊松圖像編輯 354
12.3 圖像修復 356
12.4 變分圖像處理 358
12.4.1 全變分去噪 359
12.4.2 使用全變分去噪創建平面紋理卡通圖像 361
12.5 圖像絎縫 362
12.5.1 紋理合成 362
12.5.2 紋理遷移 362
12.6 人臉變形 363
小結 364
習題 364

相關詞條

熱門詞條

聯絡我們