Halcon機(jī)器視覺算法原理與編程實(shí)戰(zhàn)
機(jī)器視覺是一種使用相機(jī)代替人眼對目標(biāo)和場景進(jìn)行識別檢測的技術(shù),這種技術(shù)目前已經(jīng)在傳統(tǒng)工業(yè)等領(lǐng)域逐漸的應(yīng)用起來,大量的需求應(yīng)運(yùn)而生。Halcon是一種高效的開發(fā)機(jī)器視覺項(xiàng)目的工具。本書將針對機(jī)器視覺的原理和算法以及如何應(yīng)用的問題進(jìn)行詳細(xì)的解釋和說明,并利用Halcon對各種機(jī)器視覺算法進(jìn)行舉例。內(nèi)容包括:第1章 機(jī)器視覺概述;第2章 如何做機(jī)器視覺項(xiàng)目;第3章 硬件環(huán)境搭建;第4章 軟件圖像采集;第5章 圖像預(yù)處理;第6章 圖像分割;第7章 顏色與紋理;第8章 圖像的形態(tài)學(xué)處理;第9章 特征提。坏10章 邊緣檢測;第11章 模板匹配;第12章 圖像分類;第13章 相機(jī)標(biāo)定與三維重建;第14章 機(jī)器視覺中的深度學(xué)習(xí);第15章 實(shí)例分析:印刷完整性檢測;第16章 實(shí)例分析:布料表面缺陷檢測;第17章 實(shí)例分析:儀表數(shù)值智能識別;第18章 實(shí)例分析:雙目立體視覺與定位。
本書適合需要全面學(xué)習(xí)機(jī)器視覺算法的初學(xué)者,希望掌握Halcon進(jìn)行機(jī)器視覺項(xiàng)目開發(fā)的程序員,需要了解機(jī)器視覺項(xiàng)目開發(fā)方法的工業(yè)客戶,專業(yè)培訓(xùn)機(jī)構(gòu)學(xué)員,對機(jī)器視覺算法興趣濃厚的人員閱讀。
楊青,北京大學(xué)軟件工程碩士,現(xiàn)任某科研單位圖像算法主管。2010年以來一直從事圖像視覺算法與軟件研發(fā)工作,2015年起開始主導(dǎo)機(jī)器視覺項(xiàng)目,曾負(fù)責(zé)雙目立體視覺探測,基于機(jī)器視覺的自動化產(chǎn)品檢測,缺陷檢測,智能識別等多個(gè)視覺項(xiàng)目。為醫(yī)療,航天,工業(yè),科研等多個(gè)領(lǐng)域的客戶提供了智能場景的機(jī)器視覺系統(tǒng)的軟硬件方案。
第 1章 機(jī)器視覺概述 002
1.1什么是機(jī)器視覺 003
1.2機(jī)器視覺與計(jì)算機(jī)視覺的區(qū)別 003
1.3機(jī)器視覺的工作原理 005
1.4機(jī)器視覺的應(yīng)用領(lǐng)域 006
第 2章 如何做機(jī)器視覺項(xiàng)目 008
2.1項(xiàng)目的前期準(zhǔn)備 009
2.1.1從 5個(gè)方面初步分析客戶需求 009
2.1.2方案評估與驗(yàn)證 009
2.1.3簽訂合同 010
2.2項(xiàng)目規(guī)劃 011
2.2.1定義客戶的詳細(xì)需求 011
2.2.2制訂項(xiàng)目管理計(jì)劃 011
2.2.3方案評審 012
2.3詳細(xì)設(shè)計(jì) 012
2.3.1硬件設(shè)備的選擇與環(huán)境搭建 012
2.3.2軟件開發(fā)平臺與開發(fā)工具的選擇 013
2.3.3機(jī)器視覺系統(tǒng)的整體框架與開發(fā)流程 013
2.3.4交互界面設(shè)計(jì) 014
2.3.5 Halcon與開發(fā)工具 014
2.4項(xiàng)目交付 015
2.4.1軟件功能測試 015
2.4.2現(xiàn)場調(diào)試 015
2.4.3系統(tǒng)維護(hù) 016
第 3章 硬件環(huán)境搭建 017
3.1相機(jī) 018
3.1.1相機(jī)的主要參數(shù) 018
3.1.2相機(jī)的種類 019
3.1.3相機(jī)的接口 020
3.1.4相機(jī)的選型 020
3.2圖像采集卡 022
3.2.1圖像采集卡的種類 022
3.2.2圖像采集卡的選型 023
3.3鏡頭 023
3.4光源 024
3.5實(shí)例:硬件選型 025
第 4章 軟件圖像采集 026
4.1獲取非實(shí)時(shí)圖像 027
4.1.1讀取圖像文件 027
4.1.2讀取視頻文件 028
4.2獲取實(shí)時(shí)圖像 030
4.2.1 Halcon的圖像采集步驟 030
4.2.2 使用 Halcon接口連接相機(jī) 030
4.2.3 使用相機(jī)的 SDK采集圖像 033
4.2.4外部觸發(fā)采集圖像 033
4.3 多相機(jī)采集圖像 034
4.4 Halcon圖像的基本結(jié)構(gòu) 035
4.5 實(shí)例:采集 Halcon圖像并進(jìn)行簡單處理036
第 5章 圖像預(yù)處理 040
5.1圖像的變換與校正 041
5.1.1二維圖像的平移、旋轉(zhuǎn)和縮放 041
5.1.2圖像的仿射變換 042
5.1.3投影變換 042
5.1.4實(shí)例:透視形變圖像校正 043
5.2 感興趣區(qū)域(ROI)045
5.2.1 ROI的意義 045
5.2.2創(chuàng)建 ROI045
5.3 圖像增強(qiáng)046
5.3.1直方圖均衡 046
5.3.2增強(qiáng)對比度 ·048
5.3.3處理失焦圖像 049
5.4 圖像平滑與去噪 049
5.4.1均值濾波 049
5.4.2中值濾波 050
5.4.3高斯濾波 051
5.5 光照不均勻 052
第 6章 圖像分割 054
6.1閾值處理 055
6.1.1全局閾值 055
6.1.2基于直方圖的自動閾值分割方法 056
6.1.3自動全局閾值分割方法 057
6.1.4局部閾值分割方法 058
6.1.5其他閾值分割方法 060
6.2 區(qū)域生長法062
6.2.1 regiongrowing算子062
6.2.2 regiongrowing_mean算子064
6.3 分水嶺算法065
第 7章 顏色與紋理067
7.1圖像的顏色068
7.1.1圖像的色彩空間068
7.1.2 Bayer圖像069
7.1.3顏色空間的轉(zhuǎn)換070
7.2 顏色通道的處理 070
7.2.1圖像的通道 071
7.2.2訪問通道 071
7.2.3通道分離與合并 071
7.2.4處理 RGB信息 073
7.3實(shí)例:利用顏色信息提取背景相似的字符區(qū)域 074
7.4 紋理分析 075
7.4.1紋理濾波器 075
7.4.2實(shí)例:織物折痕檢測 076
第 8章 圖像的形態(tài)學(xué)處理 077
8.1腐蝕與膨脹 078
8.1.1結(jié)構(gòu)元素 078
8.1.2腐蝕 078
8.1.3膨脹 080
8.2開運(yùn)算與閉運(yùn)算 082
8.2.1開運(yùn)算 082
8.2.2閉運(yùn)算 084
8.3頂帽運(yùn)算與底帽運(yùn)算 085
8.3.1頂帽運(yùn)算 086
8.3.2底帽運(yùn)算 086
8.3.3頂帽運(yùn)算與底帽運(yùn)算的應(yīng)用 087
8.4灰度圖像的形態(tài)學(xué)運(yùn)算 089
8.4.1灰度圖像與區(qū)域的區(qū)別 089
8.4.2灰度圖像的形態(tài)學(xué)運(yùn)算效果及常用算子 089
8.5實(shí)例:粘連木材圖像的目標(biāo)分割與計(jì)數(shù) 091
第 9章 特征提取 095
9.1區(qū)域形狀特征 096
9.1.1區(qū)域的面積和中心點(diǎn) 096
9.1.2封閉區(qū)域(孔洞)的面積 097
9.1.3根據(jù)特征值選擇區(qū)域 098
9.1.4根據(jù)特征值創(chuàng)建區(qū)域 100
9.2基于灰度值的特征 103
9.2.1區(qū)域的灰度特征值 103
9.2.2區(qū)域的最大、最小灰度值 105
9.2.3灰度的平均值和偏差 106
9.2.4灰度區(qū)域的面積和中心 107
9.2.5根據(jù)灰度特征值選擇區(qū)域 107
9.3基于圖像紋理的特征 109
9.3.1灰度共生矩陣 109
9.3.2創(chuàng)建灰度共生矩陣 110
9.3.3用共生矩陣計(jì)算灰度值特征 111
9.3.4計(jì)算共生矩陣并導(dǎo)出其灰度值特征 111
9.3.5實(shí)例:提取圖像的紋理特征 112
第10 章 邊緣檢測 115
10.1像素級邊緣提取 116
10.1.1經(jīng)典的邊緣檢測算子 116
10.1.2邊緣檢測的一般流程 117
10.1.3 sobel_amp算子 117
10.1.4 edges_image算子 120
10.1.5其他濾波器 122
10.2亞像素級邊緣提取 124
10.2.1 edges_sub_pix算子 125
10.2.2 edges_color_sub_pix算子 126
10.2.3 lines_gauss算子 127
10.3輪廓處理 129
10.3.1輪廓的生成 130
10.3.2輪廓的處理 130
第11 章 模板匹配134
11.1模板匹配的種類 135
11.1.1基于灰度值的模板匹配 135
11.1.2基于相關(guān)性的模板匹配 136
11.1.3基于形狀的模板匹配 136
11.1.4基于組件的模板匹配 137
11.1.5基于形變的模板匹配 138
11.1.6基于描述符的模板匹配 138
11.1.7基于點(diǎn)的模板匹配 139
11.1.8模板匹配方法總結(jié) 139
11.2圖像金字塔 140
11.3模板圖像 142
11.3.1從參考圖像的特定區(qū)域中創(chuàng)建模板 ·142
11.3.2使用 XLD輪廓創(chuàng)建模板 143
11.4模板匹配的步驟 143
11.4.1基于灰度值的模板匹配 143
11.4.2基于相關(guān)性的模板匹配 145
11.4.3基于形狀的模板匹配 147
11.4.4基于組件的模板匹配 149
11.4.5基于局部形變的模板匹配 150
11.4.6基于透視形變的模板匹配 152
11.4.7基于描述符的模板匹配 153
11.4.8優(yōu)化匹配速度 155
11.4.9使用 Halcon匹配助手進(jìn)行匹配 156
11.5實(shí)例:指定區(qū)域的形狀匹配 159
第12 章 圖像分類 163
12.1分類器 164
12.1.1分類的基礎(chǔ)知識 164
12.1.2 MLP分類器 166
12.1.3 SVM分類器 166
12.1.4 GMM分類器 166
12.1.5 k-NN分類器 167
12.1.6選擇合適的分類器 167
12.1.7選擇合適的特征 168
12.1.8選擇合適的訓(xùn)練樣本 168
12.2特征的分類 169
12.2.1一般步驟 169
12.2.2 MLP分類器 170
12.2.3 SVM分類器 176
12.2.4 GMM分類器 176
12.2.5 k-NN分類器 177
12.3光學(xué)字符識別 178
12.3.1一般步驟 179
12.3.2 OCR實(shí)例 179