當前位置: 妍妍網 > 碼農

推薦 | 一本學習OpenCV的好書

2024-03-22碼農

點選上方 藍字 關註我們

微信公眾號: OpenCV學堂

關註獲取更多電腦視覺與深度學習知識

寫作初心

OpenCV作為開源的電腦視覺框架已經有超過20年的發展歷程,OpenCV4是OpenCV目前為止最重要的裏程碑版本。OpenCV4不僅包含了傳統影像處理、影像分析、特征提取等模組的各種主流演算法算子,還包含了深度學習模型部署與加速支持模組,相容支持多種硬體與作業系統。

OpenCV開發的套用場景與領域也十分廣泛,包括機器視覺領域的缺陷檢測、生物醫學領域的影像處理、無人機領域的目標辨識、巡檢與搜飛、安防監控領域的預警監測、交通運輸領域的各種辨識與道路缺陷檢查等等。

學習OpenCV系統化掌握OpenCV工程化技術,能落地實際計畫是很多開發者迫切需要的,然而當前OpenCV相關的書籍雖多,但是真正做到有的放矢、聚焦工程化開發落地所需的核心技能系統化輸出知識點的OpenCV書籍依然難覓蹤跡。

筆者作為在工程一線從事OpenCV開發與視覺技術研究超過十年的資深開發者,深深感到有責任把自己過去十多年的OpenCV開發與工程落地經驗系統化的分享給大家。本書聚焦與提煉了筆者在機器視覺、生物醫藥等行業使用OpenCV開發必須掌握的核心知識點與相關主要模組,合理化安排章節內容,幫助大家系統化掌握OpenCV套用開發從而實作計畫套用工程化落地。

本書內容與特色

本書包括三大部份,對應著三個層次的OpenCV開發進階:

(1)基礎篇學習OpenCV基礎知識,知道如何簡單使用API函式;

(2)進階篇學習OpenCV核心API、達到熟練掌握可以解決常見的電腦視覺問題;

(3)高級實戰篇:綜合運用OpenCV開發知識,解決實際問題。

第一部份針對初級讀者 ,介紹什麽是OpenCV、如何開始寫第一行OpenCV程式碼,影像如何被OpenCV載入與顯示、OpenCV基礎API操作、Mat物件與像素操作。

第二部份針對中級讀者 ,從影像摺積開始,認真學習OpenCV影像處理、特征提取、機器學習等核心模組相關知識點、穿插大量工程案例與程式碼實踐、從影像摺積濾波到二值影像分析、影像特征提取、自訂物件檢測、完整系統化的學習OpenCV傳統影像處理的經典知識點與案例。真正做到紮實基礎、構建中級水準,可以解決常見電腦視覺問題。

第三部份針對高級讀者 ,這是本書的重點與難點,主要涉及傳統OpenCV傳統影像處理與分析實作缺陷檢測的各種方法與案例詳解、OpenCV深度神經網路模型推理與加速、YOLOv5定義物件檢測、深度神經網路模型壓縮與最佳化、模型轉換與加速推理、OpenVINO、CUDA加速等模組與OpenCV結合使用等相關知識點。

透過對本書的學習,讀者對OpenCV整個框架理解、相關模組的運用能力都達到一個新的高度、有能力基於OpenCV演算法算子設計復雜的演算法處理流程、透過OpenCV解決實際問題、結合深度學習模型部署加速技術,為公司落地計畫,體現自身商業價值、幫助公司拓展OpenCV與電腦視覺在各個行業的套用市場

書中全部原始碼已經基於 OpenCV4.8 + VS2017 偵錯透過。購買本書請掃碼( 此連結已經優惠打折!

本書目錄

第一部份 基礎篇

第1章 OpenCV介紹與安裝

1.1 OpenCV介紹

1.1.1 OpenCV歷史

1.1.2 OpenCV模組與功能

1.1.3 OpenCV4裏程碑

1.1. OpenCV套用現狀和發展趨勢

1.2 OpenCV源碼計畫

1.3 OpenCV4開發環境搭建

1.4 第一個OpenCV開發程式

1.5 影像載入與保存

1.5.1 載入影像

1.5.2 保存影像

1.6 載入視訊

1.7 小結

第2章 Mat與像素操作

2.1 Mat物件

2.1.1什麽是Mat物件

2.1.2 一切數據皆Mat

2.1.3 Mat型別與深度

2.1.4 Mat物件建立

2.2 像素存取

2.2.1遍歷Mat中的像質數據

2.2.2像素算術運算

2.2.3位運算

2.2.4調整影像亮度與對比度

2.3 影像型別與通道

2.3.1影像型別

2.2.2影像通道

2.2.3通道操作

第3章 色彩空間

3.1 RGB色彩空間

3.2 HSV色彩空間

3.3 Lab色彩空間

3.4 色彩空間轉換與套用

3.5 小結

第4章 影像直方圖

4.1像素統計資訊

4.2 直方圖與繪制

4.3 直方圖均衡化

4.4 直方圖比較

4.5 直方圖反向投影

4.6 小結

第二部份 進階篇

第5章 摺積操作

5.1 摺積概念

5.2 摺積模糊

5.3 自訂濾波

5.4 梯度提取

5.5 邊緣發現

5.6 雜訊與去雜訊

5.7 邊緣保留濾波

5.8 銳化增強

5.9 小結

第6章 二值影像

6.1 影像閾值化操作

6.2 全域閾值分割

6.3 自適應閾值分割

6.4 去噪與二值化

6.5 小結

第7章 二值分析

7.1 二值影像分析概述

7.2 連通元件掃描

7.3 輪廓發現

7.4 輪廓測量

7.5 擬合與逼近

7.6 輪廓分析

7.7 直線檢測

7.8 圓檢測

7.9 最大內接圓與最小外接圓

7.10 輪廓匹配

7.11 最大輪廓與關鍵點編碼

7.12 凸包檢測

7.13 小結

第8章 形態學分析

8.1 影像形態學概述

8.2 腐蝕與膨脹

8.3 開閉操作

8.4 形態學梯度

8.5 頂帽與黑帽

8.6 擊中擊不中

8.7 結構元素

8.8 距離變換

8.9 分水嶺變換

8.10 小結

第9章 特征提取

9.1 影像金字塔

9.1.1 高斯金字塔

9.1.2拉普拉斯金字塔

9.1.3 金字塔融合

9.2 Harris角點檢測

9.3 shi-tomas角點檢測

9.4 亞像素級別角點檢測

9.5 HOG特征與使用

9.5.1. HOG特征描述

9.5.2 基於HOG特征的行人檢測

9.6 ORB特征描述子

9.6.1. 關鍵點與描述子提取

9.6.2 描述子匹配

9.7 基於特征的物件檢測

9.7.1. 單應性變換

9.7.2 物件檢測

9.8 小結

第10章 視訊分析

10.1 基於顏色的物件跟蹤

10.2 視訊背景分析

10.3 幀差法背景析

10.4 稀疏光流分析

10.5 稠密光流分析

10.6 均值遷移分析

10.7 小結

第11章 機器學習

11.1 KMeans

11.1.1 KMeans影像分割

11.1.2 KMeans 提取影像色卡

11.2 KNN分類

11.3 SVM分類

11.4 HOG+SVM自訂物件檢測

11.5 小結

第三部份 高級與實戰

第12章 深度神經網路

12.1 DNN概述

12.2 影像分類

12.3 物件檢測

12.3.1 SSD物件檢測

12.3.2 Faster-RCNN物件檢測

12.3.3 YOLO物件檢測

12.4 ENet影像分割

12.5 風格遷移

12.6 場景文字檢測

12.7 人臉檢測

12.8 小結

第13章YOLOv5自訂物件檢測

13.1 YOLOv5下載與安裝

13.2 預訓練YOLOv5模型物件檢測

13.3 自訂物件檢測

13.3.1 OID數據集下載與制作

13.3.2 配置檔修改與訓練

13.3.3 部署自訂物件檢測模型

13.4小結

第14章 缺陷檢測

14.1 簡單背景下的缺陷檢測

14.1.1 問題描述

14.1.2 二值分析

14.1.3 缺陷分析

14.2 復雜背景下的缺陷檢測

14.2.1 頻率域增強的缺陷檢測

14.2.2 空間域增強的缺陷檢測

14.2.3 小結

14.3 案例-刀片缺陷檢測

14.4 基於深度學習的缺陷檢測

14.4.1 基於分類的缺陷檢測

14.4.2 基於UNet的缺陷檢測

14.5 小結

第15章 OpenVINO加速支持

15.1 OpenVINO框架安裝與環境配置

15.1.1 OpenVINO安裝

15.1.2 配置C++開發支持

15.2 OpenVINO2022.x版SDK推理演示

15.2.1 推理SDK介紹

15.2.2 推理SDK演示

15.3 OpenVINO支持UNet部署

15.4 OpenVINO支持YOLOv5部署

15.5 小結

第16章CUDA加速支持

16.1 OpenCV CUDA版本編譯

16.2 CUDA加速傳統影像處理

16.2.1 Mat與UMat的相互轉換

16.2.2 CUDA加速版本的視訊背景分析

16.3 CUDA加速OpenCV DNN

16.4 小結

部份案例演示

以下是本書部份案例執行結果

書中全部原始碼已經基於 OpenCV4.8 + VS2017 偵錯透過。購買本書請掃碼( 此連結已經優惠打折!

答疑與服務

全書共計16個章節,重點聚焦OpenCV開發常用模組詳解與工程化開發實踐,提升OpenCV套用開發能力,助力讀者成為OpenCV開發者,同時包含深度學習模型訓練與部署加速等知識,幫助OpenCV開發者進一步拓展技能地圖,滿足工業計畫落地所需技能提升。購買請點連結:

https://item.jd.com/10092255924058.html

學習課程有專屬答疑群

負責貼身答疑解惑

讀者專屬QQ群 :657875553

進群暗號:OpenCV4讀者