本書主要介紹機器視覺系統(tǒng)的概念、原理、視覺系統(tǒng)組成、數(shù)字圖像處理算法及視覺應(yīng)用,共分為三部分:第一部分快速入門,介紹了機器視覺系統(tǒng)的組成、圖像采集系統(tǒng);第二部分圖像處理算法,介紹了視覺圖像處理相關(guān)算法及應(yīng)用;第三部分機器視覺應(yīng)用,介紹了機器視覺的典型應(yīng)用案例。
全書理論聯(lián)系實際,從圖像采集部分開始到數(shù)字圖像處理部分,除了介紹相關(guān)的理論知識外,結(jié)合具體的實際案例以及HALCON 編程,提供了明確的使用方法。對每一種數(shù)字圖像處理算法在機器視覺系統(tǒng)中的應(yīng)用,都通過實例說明了具體的應(yīng)用方法和注意事項,并通過具體案例的學(xué)習(xí)加深對內(nèi)容的理解。
本書可作為圖像處理、機器視覺或計算機視覺相關(guān)科研人員和工程技術(shù)人員的參考用書,也可作為高等教育學(xué)校相關(guān)專業(yè)的教材使用,也適用于對圖像處理、機器視覺或計算機視覺感興趣的所有讀者。
第一部分 快速入門
第1章 緒論 3
1.1 機器視覺的概念 3
1.2 機器視覺系統(tǒng)的組成 4
1.3 機器視覺系統(tǒng)的特點 4
1.4 機器視覺系統(tǒng)應(yīng)用領(lǐng)域 5
1.4.1 在工業(yè)中的應(yīng)用 6
1.4.2 在農(nóng)業(yè)中的應(yīng)用 6
1.4.3 在醫(yī)學(xué)中的應(yīng)用 7
1.4.4 在軍工及制導(dǎo)方面的應(yīng)用 8
1.4.5 在其他方面的應(yīng)用 8
1.5 機器視覺相關(guān)圖像處理庫 8
1.5.1 OpenCV 9
1.5.2 VisionPro 9
1.5.3 HALCON 10
1.5.4 其他圖像處理庫 10
第2章 視覺圖像采集設(shè)備 11
2.1 光源 11
2.1.1 電磁輻射 11
2.1.2 光譜特性及與被測物關(guān)系 12
2.1.3 光源類型 13
2.1.4 光源形狀及照明方式 13
2.2 鏡頭 17
2.2.1 高斯光學(xué) 18
2.2.2 遠(yuǎn)心鏡頭 19
2.2.3 鏡頭的主要參數(shù) 19
2.3 攝像機 21
2.3.1 攝像機傳感器類型 22
2.3.2 攝像機主要參數(shù) 22
2.3.3 攝像機與計算機的接口 24
2.3.4 攝像機與鏡頭的接口 26
第3章 數(shù)字圖像基礎(chǔ) 27
3.1 數(shù)字圖像的產(chǎn)生 27
3.1.1 圖像數(shù)字化 27
3.1.2 數(shù)字圖像的表示 27
3.1.3 圖像文件格式 28
3.2 數(shù)字圖像分類 29
3.2.1 彩色圖像 29
3.2.2 二值圖像 30
3.2.3 灰度圖像 30
3.2.4 索引圖像 32
3.3 像素間的基本關(guān)系 32
3.3.1 相鄰像素和圖像鄰域 32
3.3.2 連通域 33
3.3.3 圖像中的距離度量方法 33
3.4 數(shù)字圖像基本性質(zhì) 34
3.5 圖像的基本特征 35
3.5.1 直方圖 35
3.5.2 圖像的熵 36
3.5.3 其他統(tǒng)計特征 37
3.6 圖像處理方法 37
第4章 HALCON 入門 39
4.1 認(rèn)識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 圖像相關(guān)變量 43
4.2.2 控制變量 46
4.2.3 程序控制語句 50
4.3 瀏覽HALCON 例程及第一個HALCON 程序 51
第二部分 圖像處理算法
第5章 圖像常用數(shù)學(xué)運算 57
5.1 代數(shù)運算 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 應(yīng)用實例 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 應(yīng)用實例 64
5.3 圖像插值方法 66
5.4 幾何變換 67
5.4.1 仿射變換原理 67
5.4.2 仿射變換相關(guān)算子 68
5.4.3 投影變換原理 69
5.4.4 投影變換算子:projective_trans_image 70
5.4.5 極坐標(biāo)變換:polar_trans_image_ext 70
5.4.6 應(yīng)用實例 71
第6章 圖像預(yù)處理方法 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 對數(shù)變換: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 圖像增強應(yīng)用實例 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 導(dǎo)向濾波: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 邊緣提取應(yīng)用實例 100
6.4 圖像的數(shù)學(xué)形態(tài)學(xué)分析 103
6.4.1 形態(tài)學(xué)運算基礎(chǔ) 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 其它形態(tài)學(xué)算子 108
6.4.8 形態(tài)學(xué)應(yīng)用實例 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 動態(tài)閾值分割:dyn_threshold 121
6.5.8 可變閾值分割:var_threshold 121
6.5.9 區(qū)域生長分割:regiongrowing 122
6.5.10 分水嶺分割:watersheds 123
6.5.11 最大穩(wěn)定極值區(qū)域: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 相關(guān)匹配:find_ncc_model 134
7.3 模板匹配中的問題 135
7.3.1 匹配效率問題 135
7.3.2 縮放與旋轉(zhuǎn)問題 136
7.4 穩(wěn)定的匹配方法 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章 機器學(xué)習(xí) 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 卷積神經(jīng)網(wǎng)絡(luò) 184
9.4.1 卷積神經(jīng)網(wǎng)絡(luò)原理 184
9.4.2 HALCON 卷積神經(jīng)網(wǎng)絡(luò)實例解讀 186
第10章 攝像機標(biāo)定和手眼標(biāo)定 188
10.1 攝像機標(biāo)定原理 188
10.1.1 坐標(biāo)系轉(zhuǎn)換關(guān)系 188
10.1.2 鏡頭畸變 191
10.2 標(biāo)定過程 192
10.3 手眼標(biāo)定 194
10.3.1 眼在手上 195
10.3.2 眼在手外 195
10.4 利用攝像機標(biāo)定進行長度測量實例 196
第三部分 機器視覺應(yīng)用
第11章 缺陷檢測 201
11.1 缺陷類別 201
11.2 藥片缺陷檢測 202
11.3 劃痕缺陷檢測 205
11.4 織物瑕疵缺陷檢測 207
第12章 模式識別 211
12.1 字符識別 211
12.1.1 產(chǎn)品上的序列號識別 211
12.1.2 點陣字符識別 213
12.2 條形碼及二維碼識別 217
12.2.1 條形碼識別 217
12.2.2 二維碼識別 219
12.3 產(chǎn)品分類 220
12.3.1 利用多層感知機對金屬零件分類 220
12.3.2 利用支持向量機對藥品分類 223
第13章 視覺測量 228
13.1 芯片引腳距離測量 228
13.2 圓弧測量 231
第14章 機器視覺系統(tǒng)搭建 234
14.1 HALCON 與C#混合編程開發(fā)離線字符識別系統(tǒng) 234
14.1.1 算法設(shè)計 234
14.1.2 系統(tǒng)設(shè)計與算法集成 238
14.2 搭建一個在線檢測視覺圖像采集系統(tǒng) 246
14.2.1 在線圖像采集方法 246
14.2.2 利用攝像機SDK 實現(xiàn)在線視覺系統(tǒng)圖像采集 249
參考文獻 259