![OpenCV 3 編程入門](https://static.coderbridge.com/images/books/9787121253317.jpg)
OpenCV 3 編程入門
內容描述
<內容簡介>
電腦視覺領域扮演著重要的角色。作為一個基於開源發行的跨平臺電腦視覺庫,OpenCV 實現了圖像處理和電腦視覺方面的很多通用演算法。毛星雲、冷雪飛等編著的《OpenCV3編程入門》以當前最新版本的OpenCV最常用最核心的組件模塊為索引,深入淺出地介紹了OpenCV2和OpenCV3中的強大功能、性能,以及新特性。書本配套的OpenCV2和OpenCV3 雙版本的示例代碼包中,含有總計兩百多個詳細註釋的程序源代碼與思路說明。讀者可以按圖索驥,按技術方向進行快速上手和深入學習。 本書要求讀者具有基礎的C/C++知識,適合研究電腦視覺以及相關領域的在校學生和老師、初次接觸OpenCV但有一定C/C++編程基礎的研究人員,以及已有過OpenCV 1.0編程經驗,想快速瞭解並上手 OpenCV2、OpenCV3編程的電腦視覺領域的專業人員。本書也適合於圖像處理、電腦視覺領域的業餘愛好者、開源項目愛好者做為通向新版OpenCV的參考手冊之用。本書配套的【示例程序】、【.exe可執行文件】、【書內彩圖】的下載鏈接可通過掃描本書封底或後勒口的二維碼獲取。
目錄大綱
第一部分 快速上手OpenCV 1
第1章 邂逅OpenCV 3
1.1 OpenCV周邊概念認知 4
1.1.1 圖像處理、電腦視覺與OpenCV 4
1.1.2 OpenCV概述 4
1.1.3 起源及發展 5
1.1.4 應用概述 6
1.2 OpenCV基本架構分析 7
1.3 OpenCV3帶來了什麼 11
1.3.1 項目架構的改變 11
1.3.2 將OpenCV2代碼升級到OpenCV3報錯時的一些策略 12
1.4 OpenCV的下載、安裝與配置 14
1.4.1 預準備:下載和安裝集成開發環境 14
1.4.2 第一步:下載和安裝OpenCV SDK 15
1.4.3 第二步:配置環境變數 16
1.4.4 第三步:工程包含(include)目錄的配置 17
1.4.5 第四步:工程庫(lib)目錄的配置 21
1.4.6 第五步:程式庫的配置 22
1.4.7 第六步:在Windows文件夾下加入OpenCV動態連結程式庫 25
1.4.8 第七步:最終測試 26
1.4.9 可能遇到的問題和解決方案 27
1.5 快速上手OpenCV圖像處理 28
1.5.1 第一個程式:圖像顯示 29
1.5.2 第二個程式:圖像腐蝕 30
1.5.3 第三個程式:圖像模糊 31
1.5.4 第四個程式:canny邊緣檢測 32
1.6 OpenCV視頻操作基礎 34
1.6.1 讀取並播放視頻 34
1.6.2 調用攝像頭採集圖像 35
1.7 本章小結 38
第2章 啟程前的認知準備 39
2.1 OpenCV官方常式引導與賞析 40
2.1.1 彩色目標跟蹤:Camshift 41
2.1.2 光流:optical flow 42
2.1.3 點追蹤:lkdemo 43
2.1.4 人臉識別:objectDetection 43
2.1.5 支持向量機引導 44
2.2 開源的魅力:編譯OpenCV源代碼 45
2.2.1 下載安裝CMake 45
2.2.2 使用CMake生成OpenCV源代碼工程的解決方案 46
2.2.3 編譯OpenCV源代碼 50
2.3 “opencv.hpp”頭文件認知 53
2.4 命名規範約定 54
2.5 argc與argv參數解惑 56
2.5.1 初識main函數中的argc和argv 56
2.5.2 argc、argv的具體含義 57
2.5.3 Visual Studio中main函數的幾種寫法說明 58
2.5.4 總結 59
2.6 格式輸出函數printf()簡析 59
2.6.1 格式輸出:printf()函數 59
2.6.2 示例程式:printf函數的用法示例 60
2.7 智慧顯示當前使用的OpenCV版本 61
2.8 本章小結 61
第3章 HighGUI圖形用戶介面初步 63
3.1 圖像的載入、顯示和輸出到檔 64
3.1.1 OpenCV的命名空間 64
3.1.2 Mat類簡析 64
3.1.3 圖像的載入與顯示概述 65
3.1.4 圖像的載入:imread()函數 65
3.1.5 圖像的顯示:imshow()函數 66
3.1.6 關於InputArray類型 67
3.1.7 創建窗口:namedWindow()函數 67
3.1.8 輸出圖像到檔:imwrite()函數 68
3.1.9 綜合示例程式:圖像的載入、顯示與輸出 70
3.2 滑動條的創建和使用 73
3.2.1 創建滑動條:createTrackbar()函數 73
3.2.2 獲取當前軌跡條的位置:getTrackbarPos()函數 76
3.3 滑鼠操作 76
3.4 本章小結 80
第二部分 初探core元件 83
第4章 OpenCV資料結構與基本繪圖 85
4.1 基礎圖像容器Mat 86
4.1.1 數位圖像存儲概述 86
4.1.2 Mat結構的使用 86
4.1.3 圖元值的存儲方法 88
4.1.4 顯式創建Mat物件的七種方法 89
4.1.5 OpenCV中的格式化輸出方法 91