Arduino計算機視覺編程
內容描述
<內容簡介>
這本書將通過一種通用的、明確的、可應用的方法來結合Arduino和計算機視覺的能力。書中的實踐和方法可用於任何相關的問題和平臺。本書想實現的終目標是讓你可以通過一種通用方法使用各種組件來解決現實生活中任意類型的視覺問題。
<章節目錄>
譯者序
作者簡介
前言
第1章計算機視覺系統綜述1
1.1計算機視覺系統介紹1
1.2解決計算機視覺問題2
1.2.1數據採集3
1.2.2預處理4
1.2.3圖像處理的特徵提取5
1.2.4後處理和後置濾波7
1.2.5識別或檢測7
1.2.6在現實世界中行動8
1.2.7連接子模塊8
1.3總結10
第2章OpenCV的基礎與安裝11
2.1 OpenCV的基礎11
2.2 OpenCV的安裝12
2.2.1在Linux上安裝OpenCV12
2.2.2在MacOS上安裝OpenCV17
2.2.3在Windows上安裝OpenCV18
2.2.4在iOS上安裝OpenCV20
2.2.5在Android上安裝OpenCV21
2.3總結24
第3章用OpenCV和Arduino進行數據採集25
3.1圖像和視頻採集25
3.1.1相機選擇25
3.1.2圖像採集29
3.2傳感器數據採集41
3.2.1設置Arduino環境41
3.2.2傳感器基礎42
3.2.3從溫度傳感器中讀取數據44
3.3總結47
第4章用OpenCV進行數據過濾48
4.1開始過濾48
4.2空間域濾波49
4.2.1平滑50
4.2.2銳化51
4.3顏色空間轉換51
4.3.1灰度化52
4.3.2二值化53
4.4形態學濾波器55
4.4.1腐蝕和膨脹55
4.4.2開運算和閉運算56
4.5梯度和邊緣檢測58
4.5.1 Canny邊緣檢測器58
4.5.2 LoG濾波器59
4.5.3 Sobel61
4.6自定義濾波器63
4.7直方圖均衡化65
4.8本章的實踐項目66
4.9總結72
第5章用OpenCV進行視覺數據處理73
5.1提取特徵73
5.1.1使用基本的統計信息74
5.1.2使用顏色特徵78
5.1.3使用模板進行特徵匹配78
5.1.4使用輪廓特徵79
5.1.5使用凸包80
5.1.6使用矩81
5.1.7使用Hough變換82
5.1.8使用角點83
5.1.9使用尺度不變特徵變換84
5.1.10使用加速魯棒特徵85
5.1.11使用ORB86
5.1.12使用blob分析86
5.2總結87
第6章用OpenCV進行識別88
6.1構建一個可以思考的應用程序88
6.1.1模板匹配89
6.1.2特徵匹配91
6.1.3基於快速近似最近鄰搜索庫的匹配94
6.1.4使用級聯分類器95
6.1.5使用支持向量機97
6.2總結98
第7章用OpenCV與Arduino進行通信100
7.1與Arduino進行通信100
7.1.1有線通信102
7.1.2無線通信111
7.2用Java進行通信115
7.3用C++進行通信120
7.4總結121
第8章將Arduino用於真實世界122
8.1與電動機的連接122
8.1.1驅動直流電動機123
8.1.2驅動步進電動機125
8.1.3驅動伺服電動機128
8.2使用顯示器130
8.2.1使用液晶顯示器131
8.2.2使用薄膜晶體管顯示器133
8.3總結137
第9章建造一個點擊行走機器人138
9.1系統總覽138
9.2建造一個機器人141
9.2.1構建力學部分142
9.2.2構建電子電路部分143
9.2.3構建機器人控制器和通信系統146
9.3構建視覺應用程序154
9.4總結163