《OpenCV 4快速入門》2020出版,407頁 《OpenCV 4詳解:基於Python》2021出版,363頁
第 1章 初識OpenCV 2 | 第 1章 初識OpenCV 1 |
1.1 什麼是OpenCV 2 | 1.1 什麼是OpenCV 1 |
1.1.1 OpenCV與計算機視覺 2 | 1.1.1 OpenCV與計算機視覺 1 |
1.1.2 OpenCV的發展 3 | 1.1.2 OpenCV的發展 2 |
1.1.3 OpenCV 4帶來了什麼 4 | 1.1.3 OpenCV 4帶來了什麼 3 |
1.2 安裝OpenCV 4 4 | 1.2 安裝OpenCV-Python 4 |
1.2.1 在Windows系統中安裝OpenCV 4 4 | 1.2.1 在Windows系統中安裝OpenCV-Python 4 |
1.2.2 Image Watch插件的使用 12 | |
1.2.3 在Ubuntu系統中安裝OpenCV 4 12 | 1.2.2 在Ubuntu系統中安裝OpenCV-Python 9 |
1.2.4 opencv_contrib擴展模塊的安裝 15 | |
1.2.5 安裝過程中常見問題的解決方案 17 | |
1.3 瞭解OpenCV的模塊架構 18 | 1.3 OpenCV的模塊架構 12 |
1.4 源碼示例程序展示 19 | 1.4 示例程序 14 |
1.4.1 配置示例程序運行環境 19 | 1.4.1 配置運行環境 14 |
1.4.2 邊緣檢測edge 21 | 1.4.2 邊緣檢測 14 |
1.4.3 K聚類kmeans 22 | 1.4.3 K聚類算法 15 |
1.4.4 二維碼識別qrcode 23 | 1.4.4 基於特徵點的圖像匹配 16 |
1.4.5 相機使用video_capture_starter 24 | 1.4.5 行人檢測 17 |
1.4.6 視頻物體跟蹤camshiftdemo 25 | 1.4.6 手寫數字識別 18 |
1.5 本章小結 26 | 1.5 本章小結 19 |
第 2章 數據載入、顯示與保存 27 | 第 2章 載入、顯示與保存數據 20 |
2.1 圖像存儲容器 27 | 2.1 圖像的表示 20 |
2.1.1 Mat類介紹 27 | 2.1.1 圖像基礎 20 |
2.1.2 Mat類構造與賦值 29 | 2.1.2 NumPy相關介紹 22 |
2.1.3 Mat類支持的運算 33 | |
2.1.4 Mat類元素的讀取 35 | |
2.2 圖像的讀取與顯示 37 | 2.2 圖片的讀取與顯示 27 |
2.2.1 圖像讀取函數imread 38 | 2.2.1 圖片讀取函數 28 |
2.2.2 圖像窗口函數namedWindow 39 | 2.2.2 圖像窗口函數 29 |
2.2.3 圖像顯示函數imshow 40 | 2.2.3 圖片顯示函數 29 |
2.3 視頻加載與攝像頭調用 40 | 2.3 視頻加載與攝像頭調用 30 |
2.3.1 視頻數據的讀取 40 | 2.3.1 讀取視頻數據 30 |
2.3.2 攝像頭的直接調用 42 | 2.3.2 攝像頭的直接調用 33 |
2.4 數據保存 43 | 2.4 數據保存 33 |
2.4.1 圖像的保存 43 | 2.4.1 保存圖像 34 |
2.4.2 視頻的保存 45 | 2.4.2 保存視頻 36 |
2.4.3 保存和讀取XML和YMAL文件 47 | 2.4.3 保存和讀取XML和YMAL文件 38 |
2.5 本章小結 52 | 2.5 本章小結 41 |
第3章 圖像基本操作 54 | 第3章 圖像基本操作 42 |
3.1 圖像顏色空間 54 | 3.1 顏色空間 42 |
3.1.1 顏色模型與轉換 54 | 3.1.1 顏色空間與轉換 42 |
3.1.2 多通道分離與合併 59 | 3.1.2 多通道分離與合併 47 |
3.2 圖像像素操作處理 61 | 3.2 關於像素的操作 49 |
3.2.1 圖像像素統計 62 | 3.2.1 圖像像素統計 50 |
3.2.2 兩圖像間的像素操作 66 | 3.2.2 兩圖像間的像素操作 53 |
3.2.3 圖像二值化 71 | 3.2.3 圖像二值化 58 |
3.2.4 LUT 76 | 3.2.4 LUT 62 |
3.3 圖像變換 78 | 3.3 圖像連接和圖像變換 64 |
3.3.1 圖像連接 78 | 3.3.1 圖像連接 64 |
3.3.2 圖像尺寸變換 81 | 3.3.2 圖像尺寸變換 66 |
3.3.3 圖像翻轉變換 83 | 3.3.3 圖像翻轉變換 68 |
3.3.4 圖像仿射變換 84 | 3.3.4 圖像仿射變換 69 |
3.3.5 圖像透視變換 88 | 3.3.5 圖像透視變換 72 |
3.3.6 極座標變換 90 | 3.3.6 極座標變換 75 |
3.4 在圖像上繪製幾何圖形 92 | 3.4 在圖像上繪製幾何圖形和生成文字 77 |
3.4.1 繪製圓形 92 | 3.4.1 繪製圓形 77 |
3.4.2 繪製直線 93 | 3.4.2 繪製直線 78 |
3.4.3 繪製橢圓 93 | 3.4.3 繪製橢圓 78 |
3.4.4 繪製多邊形 94 | 3.4.4 繪製多邊形 79 |
3.4.5 文字生成 95 | 3.4.5 生成文字 80 |
3.5 感興趣區域 97 | 3.5 感興趣區域 83 |
3.6 圖像“金字塔” 100 | 3.6 圖像金字塔 85 |
3.6.1 高斯“金字塔” 100 | 3.6.1 高斯金字塔 85 |
3.6.2 拉普拉斯“金字塔” 101 | 3.6.2 拉普拉斯金字塔 86 |
3.7 窗口交互操作 104 | 3.7 窗口交互操作 88 |
3.7.1 圖像窗口滑動條 104 | 3.7.1 圖像窗口滑動條 88 |
3.7.2 鼠標響應 106 | 3.7.2 鼠標響應 90 |
3.8 本章小結 109 | 3.8 本章小結 92 |
第4章 圖像直方圖與模板匹配 111 | 第4章 圖像直方圖 94 |
4.1 圖像直方圖的繪製 111 | 4.1 圖像直方圖的計算與繪製 94 |
4.1.1 圖像直方圖的計算 94 | |
4.1.2 圖像直方圖的繪製 96 | |
4.2 直方圖操作 113 | 4.2 2D直方圖 100 |
4.3 直方圖應用 120 | 4.3 關於直方圖的操作 103 |
4.2.1 直方圖歸一化 113 | 4.3.1 直方圖歸一化 103 |
4.2.2 直方圖比較 116 | 4.3.2 直方圖比較 106 |
4.3.1 直方圖均衡化 120 | 4.3.3 直方圖均衡化 109 |
4.3.2 直方圖匹配 122 | 4.3.4 直方圖匹配 111 |
4.3.3 直方圖反向投影 125 | 4.3.5 直方圖反向投影 114 |
4.4 圖像的模板匹配 127 | 4.4 圖像模板匹配 115 |
4.5 本章小結 131 | 4.5 本章小結 119 |
第5章 圖像濾波 132 | 第5章 圖像濾波 120 |
5.1 圖像卷積 132 | 5.1 圖像卷積 120 |
5.2 噪聲的種類與生成 136 | 5.2 噪聲的種類與生成 124 |
5.2.1 椒鹽噪聲 136 | 5.2.1 椒鹽噪聲 124 |
5.2.2 高斯噪聲 139 | 5.2.2 高斯噪聲 126 |
5.3 線性濾波 142 | 5.3 線性濾波 129 |
5.3.1 均值濾波 142 | 5.3.1 均值濾波 129 |
5.3.2 方框濾波 145 | 5.3.2 方框濾波 132 |
5.3.3 高斯濾波 147 | 5.3.3 高斯濾波 134 |
5.3.4 可分離濾波 151 | 5.3.4 可分離濾波 137 |
5.4 非線性濾波 154 | 5.3.5 中值濾波 140 |
5.4.1 中值濾波 154 | 5.3.6 雙邊濾波 142 |
5.4.2 雙邊濾波 156 | |
後續均相同 |