HALCON 機器視覺演算法及應用

王強

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

相關主題

商品描述

本書主要介紹機器視覺系統的概念、原理、視覺系統組成、數位影像處理演算法及視覺應用,共分為三個部分:
第一部分快速入門,介紹了機器視覺系統的組成、影像擷取系統;
第二部分影像處理演算法,介紹了視覺影像處理相關演算法及應用;
第三部分機器視覺應用,介紹了機器視覺的典型應用案例。
全書理論連結實際,從影像擷取部分開始到數位影像處理部分,除了介紹相關的理論知識外,
結合具體的實際案例以及HALCON 編程,提供了明確的使用方法。
每一種數位影像處理演算法在機器視覺系統中的應用,都透過實例說明了具體的應用方法和注意事項,
並透過具體案例的學習加深對內容的理解。
本書可作為影像處理、機器視覺或電腦視覺相關研究人員及工程技術人員的參考用書,
也可作為高等教育學校相關專業的教材使用,也適用於所有對影像處理、機器視覺或電腦視覺感興趣的讀者。

目錄大綱

第一部 快速入門
第1章 緒論 3
1.1 機器視覺的概念 3
1.2 機器視覺系統的組成 4
1.3 機器視覺系統的特性 4
1.4 機器視覺系統應用領域 5
1.4.1 在工業上的應用 6
1.4.2 在農業的應用 6
1.4.3 在醫學上的應用 7
1.4.4 在軍工及導引的應用 8
1.4.5 在其他方面的應用 8
1.5 機器視覺相關影像處理庫 8
1.5.1 OpenCV 9
1.5.2 VisionPro 9
1.5.3 HALCON 10
1.5.4 其他影像處理庫 10

第2章 視覺影像擷取設備 11
2.1 光源 11
2.1.1 電磁輻射 11
2.1.2 光譜特性及與被測物關係 12
2.1.3 光源類型 13
2.1.4 光源形狀及照明方式 13
2.2 鏡頭 17
2.2.1 高斯光學 18
2.2.2 遠心鏡頭 19
2.2.3 鏡頭的主要參數 19
2.3 攝影機 21
2.3.1 攝影機感測器類型 22
2.3.2 攝影機主要參數 22
2.3.3 攝影機與電腦的介面 24
2.3.4 攝影機與鏡頭的介面 26

第3章 數位影像基礎 27
3.1 數位影像的產生 27
3.1.1 影像數位化 27
3.1.2 數位影像的表示 27
3.1.3 影像檔案格式 28
3.2 數位影像分類 29
3.2.1 彩色影像 29
3.2.2 二值影像 30
3.2.3 灰階影像 30
3.2.4 索引圖像 32
3.3 像素間的基本關係 32
3.3.1 相鄰像素和影像鄰域 32
3.3.2 連通域 33
3.3.3 影像中的距離度量方法 33
3.4 數位影像基本性質 34
3.5 影像的基本特徵 35
3.5.1 直方圖 35
3.5.2 影像的熵 36
3.5.3 其他統計特徵 37
3.6 影像處理方法 37

第4章 HALCON 入門 39
4.1 認識HALCON 39
4.1.1 HALCON 介面 39
4.1.2 選單列 40
4.1.3 工具列 40
4.1.4 子視窗 41
4.2 HALCON 程式設計入門 43
4.2.1 影像相關變數 43
4.2.2 控制變數 46
4.2.3 程式控制語句 50
4.3 瀏覽HALCON 例程及第一個HALCON 程序 51


第二部分 影像處理演算法
第5章 影像常用數學運算 57
5.1 代數運算 57
5.1.1 加法運算:add_image 57
5.1.2 減法運算:sub_image、abs_diff_image 58
5.1.3 乘法運算:mult_image 59
5.1.4 除法運算:div_image 59
5.1.5 應用實例 60
5.2 位元運算 62
5.2.1 「與」運算:bit_and 62
5.2.2 “或”運算:bit_or 62
5.2.3 「非」運算:bit_not 63
5.2.4 “異或”運算:bit_ xor 63
5.2.5 切片運算:bit_ slice 63
5.2.6 其它位運算 64
5.2.7 應用實例 64
5.3 影像插值方法 66
5.4 幾何變換 67
5.4.1 仿射變換原理 67
5.4.2 仿射變換相關算子 68
5.4.3 投影變換原理 69
5.4.4 投影變換算子:projective_trans_image 70
5.4.5 極座標變換:polar_trans_image_ext 70
5.4.6 應用實例 71

第6章 影像預處理方法 74
6.1 影像增強 74
6.1.1 線性變換:scale_image 74
6.1.2 最大值範圍線性變換:scale_image_max 75
6.1.3 分段線性變換:scale_image_range 75
6.1.4 對數轉換:log_image 76
6.1.5 影像開方:sqrt_image 77
6.1.6 冪次變換:pow_image 77
6.1.7 直方圖均衡化:equ_histo_image 78
6.1.8 邊緣增強:emphasize 79
6.1.9 改善光照增強:illuminate 80
6.1.10 影像增強應用實例 80
6.2 影像平滑濾波 82
6.2.1 均值濾波:mean_image 83
6.2.2 中值濾波:median_image 84
6.2.3 高斯濾波:gauss_filter 85
6.2.4 雙邊濾波:bilateral_filter 86
6.2.5 各向異性擴散濾波:anisotropic_diffusion 87
6.2.6 導向濾波:guided_filter 88
6.2.7 頻域變換及濾波:rft_generic 88
6.2.8 影像平滑濾波實例 89
6.3 邊緣擷取方法 93
6.3.1 影像梯度的概念 93
6.3.2 sobel 算子:sobel_dir 94
6.3.3 kirsch 算子:kirsch_dir 94
6.3.4 prewitt 算符:prewitt_dir. 95
6.3.5 frei 算符:frei_dir 95
6.3.6 roberts 算子:roberts 96
6.3.7 robinson 算子:robinson_dir 96
6.3.8 laplace 算子:laplace 97
6.3.9 高斯拉普拉斯算子:laplace_of_gauss 97
6.3.10 高斯差分:diff_of_gauss 98
6.3.11 canny 算符:edges_image 99
6.3.12 邊緣擷取應用實例 100
6.4 影像的數學形態學分析 103
6.4.1 形態學運算基礎 103
6.4.2 膨脹運算:dilation_circle 104
6.4.3 腐蝕運算:erosion_circle 105
6.4.4 開運算:opening_circle 105
6.4.5 閉運算:closing_circle 106
6.4.6 擊中擊不中:hit_or_miss 107
6.4.7 其它形態學算子 108
6.4.8 形態學應用實例 111
6.5 影像分割 116
6.5.1 全域手動閾值分割:threshold 116
6.5.2 Otsu 分割:binary_threshold 117
6.5.3 自動閾值分割:auto_threshold 118
6.5.4 直方圖閾值分割:histo_to_thresh 119
6.5.5 字元閾值分割:char_threshold 119
6.5.6 局部閾值分割:local_threshold 120
6.5.7 動態閾值分割:dyn_threshold 121
6.5.8 可變閾值分割:var_threshold 121
6.5.9 區域生長分割:regiongrowing 122
6.5.10 分水嶺分割:watersheds 123
6.5.11 最大穩定極值區域:segment_image_mser 124
6.5.12 影像分割實例 125

第7章 模板匹配 131
7.1 模板匹配相似度計算方法 131
7.2 HALCON 模板匹配方法 133
7.2.1 快速匹配:fast_match 133
7.2.2 最佳匹配:best_match 134
7.2.3 相關匹配:find_ncc_model 134
7.3 模板匹配中的問題 135
7.3.1 匹配效率問題 135
7.3.2 縮放與旋轉問題 136
7.4 穩定的配對方法 137
7.4.1 基於邊緣的匹配 137
7.4.2 形狀匹配:find_shape_model 138
7.5 其他配對方法介紹 140
7.5.1 利用hu 不變矩進行比對 140
7.5.2 Hausdorff 距離匹配 141
7.6 模板匹配實例 142

第8章 影像特徵 151
8.1 幾何特徵檢測 151
8.1.1 霍夫變換直線檢測:hough_lines 152
8.1.2 霍夫變換圓檢測:hough_circles 153
8.1.3 霍夫幾何特徵檢測實例 154
8.2 常用幾何特徵擬合 155
8.2.1 直線擬合:fit_line_contour_xld 156
8.2.2 圓擬合:fit_circle_contour_xld 157
8.2.3 橢圓擬合:fit_ellipse_contour_xld 158
8.2.4 幾何特徵擬合實例 158
8.3 特徵點檢測 160
8.3.1 Harris 角點偵測:points_harris 160
8.3.2 FAST 特徵點檢測 162
8.3.3 SIFT 特徵檢測 164
8.3.4 特徵點檢測實例 165
8.4 HOG 特徵 167
8.5 紋理特徵 168
8.5.1 灰階共生矩陣:gen_cooc_matrix 168
8.5.2 LBP 特徵 169
8.5.3 紋理特徵實例 171

第9章 機器學習 173
9.1 k-近鄰演算法 173
9.1.1 k-近鄰演算法原理 173
9.1.2 k-近鄰實例 174
9.2 多層感知機 176
9.2.1 多層感知機原理 176
9.2.2 多層感知機實例 178
9.3 支援向量機 180
9.3.1 支援向量機原理 180
9.3.2 支援向量機實例 182
9.4 卷積神經網路 184
9.4.1 卷積神經網路原理 184
9.4.2 HALCON 卷積神經網路實例解讀 186

第10章 攝影機標定及手眼標定 188
10.1 攝影機標定原理 188
10.1.1 座標系轉換關係 188
10.1.2 鏡頭畸變 191
10.2 標定過程 192
10.3 手眼標定 194
10.3.1 眼在手上 195
10.3.2 眼在手外 195
10.4 利用攝影機標定進行長度測量實例 196


第三部分 機器視覺應用
第11章 缺陷檢測 201
11.1 缺陷類別 201
11.2 藥片缺陷檢測 202
11.3 刮痕缺陷檢測 205
11.4 織物瑕疵缺陷檢測 207

第12章 模式識別 211
12.1 字元辨識 211
12.1.1 產品上的序號識別 211
12.1.2 點陣字元辨識 213
12.2 條碼及二維碼識別 217
12.2.1 條碼識別 217
12.2.2 二維碼辨識 219
12.3 產品分類 220
12.3.1 利用多層感知機對金屬零件分類 220
12.3.2 利用支持向量機對藥品分類 223

第13章 視覺測量 228
13.1 晶片引腳距離測量 228
13.2 圓弧測量 231

第14章 機器視覺系統搭建 234
14.1 HALCON 與C#混合程式開發離線字元辨識系統 234
14.1.1 演算法設計 234
14.1.2 系統設計與演算法整合 238
14.2 搭建一個線上檢測視覺影像擷取系統 246
14.2.1 線上影像擷取方法 246
14.2.2 利用攝影機SDK 實現線上視覺系統影像擷取 249
參考文獻 259