OpenCV 4.5計算機視覺開發實戰:基于Python ( 簡體 字) |
作者:朱文偉 李建英 | 類別:1. -> 教材 -> 數位影像處理 2. -> 程式設計 -> Python |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 55553 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:2/1/2022 |
頁數:300 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302597636 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:如今,計算機視覺算法的應用已經滲透到我們生活的方方面面。機器人、無人機、增強現實、虛擬現實、醫學影像分析等無一不涉及計算機視覺算法。OpenCV是計算機視覺領域的一個圖形與圖像算法庫,它由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB、C#、Ch、Ruby等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。它輕量級而且高效,在學術界、工業界都得到了廣泛的使用。無論是初學者還是資深研究人員,都可以在其中找到得心應手的“武器”,幫助你在研究和應用開發的道路上披荊斬棘。 關于本書 近年來,在圖像分割、物體識別、運動跟蹤、人臉識別、目標檢測、機器視覺、機器人等領域,OpenCV可謂大顯身手。OpenCV內容之豐富,是目前開源視覺算法庫中罕見的。每年我們都能看到不少關于OpenCV的圖書,但是隨著OpenCV版本的更迭,部分學習資料已經過時。本書基于Python 3.8和OpenCV 4.5版本編寫,面向初學者,涵蓋傳統的圖形圖像算法與視頻處理方法,并配以示例代碼,內容豐富,行文通俗。 本書不僅剖析了大量OpenCV函數的調用細節,還對原理解釋得清晰明了,讓讀者“知其然,并知其所以然”。本書介紹OpenCV 4.5中220多個函數,并給出100多個示例程序,以及車牌識別、物體識別、運動跟蹤、人臉檢測等案例。在介紹OpenCV 4.5新技術的同時,盡量講解其背后的原理和公式,為大家以后做專業的圖像開發奠定基礎。 源碼下載、開發環境與答疑服務 本書示例源碼、開發環境,請用微信掃描下方的二維碼下載,可按掃描出來的頁面提示,把鏈接轉發到自己的郵箱中下載。雖然筆者盡了最大努力編寫本書,但書中依然可能存在疏漏,敬請讀者提出寶貴意見和建議,作者答疑服務電子郵箱是booksaga@163.com,郵件主題寫“OpenCV 4.5計算機視覺開發實戰”。 本書讀者與鳴謝 本書需要有Python編程基礎,適合以下讀者閱讀: ? 計算機視覺領域的初學者 ? 人工智能圖像處理開發人員 ? 高等院校計算機視覺課程的師生 ? 培訓機構的師生 本書由朱文偉和李建英創作。在圖書出版過程中得到清華大學出版社老師們的支持和幫助,在此表示衷心的感謝。
作 者 2022年1月 |
內容簡介:OpenCV是一個跨平臺計算機視覺和機器學習軟件庫,也是計算機視覺領域的開發人員必須掌握的技術。本書基于Python 3.8全面、系統地介紹OpenCV 4.5的使用,并配套示例源代碼、開發環境與答疑服務。 本書共分15章,主要內容包括計算機視覺概述、OpenCV的Python開發環境搭建、OpenCV基本操作、數組矩陣、圖像處理模塊、灰度變換和直方圖修正、圖像平滑、幾何變換、圖像邊緣檢測、圖像分割、圖像金字塔、圖像形態學、視頻處理,以及停車場車牌識別、物體識別、運動跟蹤、人臉檢測等案例。 本書既適合計算機視覺與圖像處理、人工智能算法的開發人員閱讀,也適合高等院校和培訓機構計算機視覺與圖像處理、人工智能等相關專業的師生教學參考。 |
目錄:第1章計算機視覺概述 1 1.1圖像的基本概念 1 1.1.1圖像和圖形 1 1.1.2數字圖像及其特點 1 1.1.3圖像單位 2 1.1.4圖像分辨率與屏幕分辨率 3 1.1.5圖像的灰度與灰度級 3 1.1.6圖像的深度 4 1.1.7二值圖像、灰度圖像與彩色圖像 4 1.1.8通道 5 1.1.9圖像存儲 5 1.2圖像噪聲 5 1.2.1圖像噪聲的定義 5 1.2.2圖像噪聲的來源 6 1.2.3圖像噪聲的濾除 6 1.3圖像處理 7 1.3.1圖像處理的分類 7 1.3.2數字圖像處理 8 1.3.3數字圖像處理常用方法 9 1.3.4圖像處理的應用 12 1.5計算機視覺概述 12 1.5.1基本概念 12 1.5.2計算機視覺的應用 14 1.5.3與相關學科的區別 15 1.6OpenCV概述 15 第2章OpenCV的Python開發環境搭建 17 2.1Python3.8下載與安裝 17 2.2在線安裝與卸載opencv-python 18 2.2.1在線安裝opencv-python 18 2.2.2卸載opencv-python 22 2.3PyCharm2021.2下載與安裝 23 2.3.1PyCharm的下載和安裝 23 2.3.2配置PyCharm開發OpenCV程序 24 2.3.3導入配套源碼的方法 27 2.3.4調試Python程序 27 2.4測試一下NumPy的數學函數 28 第3章OpenCV基本操作 29 3.1OpenCV架構 29 3.2圖像輸入輸出模塊imgcodecs 31 3.2.1讀取圖像文件 31 3.2.2得到讀取的圖片的高度和寬度 33 3.2.3imwrite保存圖片 34 3.3OpenCV界面編程 35 3.4單窗口顯示多圖片 37 3.5銷毀窗口 39 3.6鼠標事件 40 3.7鍵盤事件 44 3.8滑動條事件 45 第4章數組矩陣 47 4.1NumPy概述 47 4.2ndarray對象 48 4.3NumPy的數據類型 49 4.4數組屬性 52 4.5新建數組 54 4.6從已有的數組創建數組 55 4.7從數值范圍創建數組 57 4.8切片和索引 58 4.9高級索引 60 4.9.1整數數組索引 60 4.9.2布爾索引 61 4.9.3花式索引 61 4.10迭代數組 62 4.10.1迭代器對象nditer 62 4.10.2控制遍歷順序 63 4.10.3修改數組中元素的值 64 4.10.4使用外部循環 64 4.10.5廣播迭代 65 4.11數組操作 66 4.11.1修改數組形狀 66 4.11.2翻轉數組 68 第5章圖像處理模塊 72 5.1顏色變換cvtColor 72 5.2畫基本圖形 73 5.2.1畫點 73 5.2.2畫矩形 74 5.2.3畫圓 74 5.2.4畫橢圓 75 5.2.5畫線段 77 5.2.6畫多邊形 77 5.2.7填充多邊形 78 5.3文字繪制 80 5.4為圖像添加邊框 82 5.5在圖像中查找輪廓 84 第6章灰度變換和直方圖修正 86 6.1點運算 86 6.1.1點運算的基本概念 86 6.1.2點運算的目標與分類 86 6.1.3點運算的特點和應用 87 6.2灰度變換 88 6.2.1灰度變換的基本概念 88 6.2.2灰度變換的作用 88 6.2.3灰度變換的方法 89 6.2.4灰度化 89 6.2.5對比度 93 6.2.6灰度的線性變換 93 6.2.7分段線性變換 95 6.2.8對數變換和反對數變換 97 6.2.9冪律變換 99 6.3直方圖修正 101 6.3.1直方圖的概念 101 6.3.2直方圖均衡化 104 第7章圖像平滑 108 7.1圖像平滑基礎 108 7.2線性濾波 110 7.2.1歸一化方框濾波器 110 7.2.2高斯濾波器 111 7.3非線性濾波 116 7.3.1中值濾波 116 7.3.2雙邊濾波 116 第8章幾何變換 118 8.1幾何變換基礎 118 8.2圖像平移 121 8.3圖像旋轉 122 8.4仿射變換 125 8.5圖像縮放 127 8.5.1縮放原理 127 8.5.2OpenCV中的縮放 128 第9章圖像邊緣檢測 130 9.1概述 130 9.2邊緣檢測研究的歷史現狀 133 9.3邊緣定義及類型分析 134 9.4梯度的概念 135 9.5圖像邊緣檢測的應用 135 9.6目前邊緣檢測存在的問題 137 9.7邊緣檢測的基本思想 138 9.8圖像邊緣檢測的步驟 139 9.9經典圖像邊緣檢測算法 140 9.9.1Roberts算子 141 9.9.2Sobel算子邊緣檢測 143 9.9.3Prewitt算子邊緣檢測 145 9.9.4LoG邊緣檢測算子 147 9.9.5邊緣檢測的最新技術與方法 150 第10章圖像分割 153 10.1圖像分割概述 153 10.2圖像分割技術現狀 154 10.3圖像分割的應用 155 10.4圖像分割的數學定義 156 10.5圖像分割方法的分類 157 10.5.1基于閾值化的分割方法 158 10.5.2基于邊緣的分割方法 159 10.5.3基于區域的分割方法 159 10.5.4基于神經網絡的分割方法 161 10.5.5基于聚類的分割方法 162 10.6使用OpenCV進行圖像分割 163 10.7彩色圖像分割 168 10.8grabCut算法分割圖像 170 10.8.1基本概念 170 10.8.2grabCut函數 171 10.9floodFill漫水填充分割 176 10.9.1基本概念 176 10.9.2floodFill函數 177 10.10分水嶺分割法 179 10.10.1基本概念 179 10.10.2wathershed函數 180 第11章圖像金字塔 184 11.1基本概念 184 11.2高斯金字塔 185 11.2.1向下取樣 186 11.2.2向上取樣 187 11.3拉普拉斯金字塔 189 第12章圖像形態學 191 12.1圖像形態學基本概念 191 12.2形態學的應用 191 12.3數學上的形態學 192 12.3.1拓撲學 192 12.3.2數學形態學的組成與操作分類 193 12.3.3數學形態學的應用 193 12.4結構元素 193 12.5膨脹 194 12.6腐蝕 195 12.7開運算 196 12.8閉運算 197 12.9實現腐蝕和膨脹 198 12.10開閉運算和頂帽/黑帽 200 12.11用形態學運算檢測邊緣 203 12.12擊中擊不中 204 12.13利用形態學運算提取水平線和垂直線 207 第13章視頻處理 209 13.1OpenCV視頻處理架構 209 13.2捕獲視頻類VideoCapture 210 13.2.1構造VideoCapture對象 210 13.2.2判斷打開視頻是否成功 211 13.2.3讀取視頻幀 211 13.2.4播放視頻文件 212 13.2.5獲取和設置視頻屬性 214 13.2.6播放攝像頭視頻 216 第14章停車場車牌識別案例實戰 219 14.1需求分析 219 14.2技術可行性分析 220 14.2.1國外技術分析 220 14.2.2國內技術分析 222 14.2.3車牌識別技術的難點 223 14.2.4車牌識別系統概述 223 14.3車牌定位技術 224 14.3.1車牌特征概述 224 14.3.2車牌定位方法 225 14.3.3車牌圖像預處理 229 14.3.4車牌圖像的灰度化 229 14.3.5車牌圖像的直方圖均衡化 231 14.3.6車牌圖像的濾波 232 14.3.7車牌圖像的二值化 233 14.3.8車牌圖像的邊緣檢測 234 14.3.9車牌圖像的灰度映射 234 14.3.10車牌圖像的改進型投影法定位 235 14.4車牌字符分割技術 236 14.4.1常用車牌字符分割算法 236 14.4.2車牌傾斜問題 238 14.4.3車牌傾斜度檢測方法 239 14.4.4車牌傾斜的校正方法 239 14.4.5車牌邊框和鉚釘的去除 239 14.4.6車牌字符分割 239 14.4.7基于垂直投影和先驗知識的車牌字符分割 240 14.4.8粘連車牌字符的分割 241 14.4.9斷裂車牌字符的合并 241 14.4.10對車牌字符的切分結果進行確認 242 14.5車牌字符識別技術 242 14.5.1模式識別 243 14.5.2字符識別 244 14.5.3漢字識別 254 第15章OpenCV目標檢測 270 15.1目標檢測概述 270 15.2目標檢測的基本概念 272 15.3視頻序列圖像預處理 274 15.4基于深度學習的運動目標檢測 275 15.4.1YOLO運動目標檢測算法 276 15.4.2YOLOv2概述 280 15.4.3YOLOv3概述 281 15.4.4實戰YOLOv3識別物體 283 15.4.5SSD運動目標檢測算法 292 15.4.6實戰SSD 296 15.4.7實戰人臉檢測 298 |
序: |