OpenCV算法精解 基于Python與C++pdf

圖書網
圖書網
圖書網
10500
文章
1384
評論
2019年12月2日12:16:12 1 121
摘要

適讀人群 :本書適合入門圖像處理和計算機視覺領域的初學者閱讀,要求讀者具備一定的C++ 或Python編程基礎。
Python與C++雙實現,助力讀者輕松駕馭OpenCV算法,夯實計算機視覺領域基礎知識!
利用更直觀簡單的圖示拆解圖像算法背后復雜晦澀的數學原理!
利用基礎的加法和乘法運算理解圖像平滑和銳化
利用數列的排序理解圖像中值濾波
利用初中的尺規作圖理解圓的檢測方法
詳細介紹OpenCV實現對應的函數
注重代碼實現(分別給出Python和C++實現)及實際應用

OpenCV算法精解 基于Python與C++ 作者:張平

OpenCV算法精解 基于Python與C++ 出版社: 電子工業出版社

OpenCV算法精解 基于Python與C++ 內容簡介

開篇先介紹如何在Windows和ubuntu上部署OpenCV,然后過度到核心章節,從灰度圖像、彩色圖像、圖像平滑、邊緣檢測、霍夫變換等幾個維度入手講解,盡量拆分算法,代碼實現用C++和Python代碼。案例在每章最后分享,方便讀者練習。

OpenCV算法精解 基于Python與C++ 目錄

1 OpenCV入門

1.1 初識OpenCV

1.1.1 OpenCV的模塊簡介

1.1.2 OpenCV 2.4.13與3.2版本的區別

1.2 部署OpenCV

1.2.1 在Visual Studio 2015中 配置OpenCV

1.2.2 OpenCV 2.X C++ API的第一個示例

1.2.3 OpenCV 3.X C++ API的第一個示例

1.2.4 在Anaconda 2中配置OpenCV

1.2.5 OpenCV 2.X Python API的第一個示例

1.2.6 OpenCV 3.X Python API的第一個示例

2 圖像數字化

2.1 認識Numpy中的ndarray

2.1.1 構造ndarray對象

2.1.2 訪問ndarray中的值

2.2 認識OpenCV中的Mat類

2.2.1 初識Mat

2.2.2 構造單通道Mat對象

2.2.3 獲得單通道Mat的基本信息

2.2.4 訪問單通道Mat對象中的值

2.2.5 向量類Vec

2.2.6 構造多通道Mat對象

2.2.7 訪問多通道Mat對象中的值

2.2.8 獲得Mat中某一區域的值

2.3 矩陣的運算

2.3.1 加法運算

2.3.2 減法運算

2.3.3 點乘運算

2.3.4 點除運算

2.3.5 乘法運算

2.3.6 其他運算

2.4 灰度圖像數字化

2.4.1 概述

2.4.2 將灰度圖像轉換為Mat

2.4.3 將灰度圖轉換為ndarray

2.5 彩色圖像數字化

2.5.1 將RGB彩色圖像轉換為多通道Mat

2.5.2 將RGB彩色圖轉換為三維的ndarray

2.6 參考文獻

3 幾何變換

3.1 仿射變換

3.1.1 平移

3.1.2 放大和縮小

3.1.3 旋轉

3.1.4 計算仿射矩陣

3.1.5 插值算法

3.1.6 Python實現

3.1.7 C++實現

3.1.8 旋轉函數rotate(OpenCV3.X新特性)

3.2 投影變換

3.2.1 原理詳解

3.2.2 Python實現

3.2.3 C++實現

3.3 極坐標變換

3.3.1 原理詳解

3.3.2 Python實現

3.3.3 C++實現

3.3.4 線性極坐標函數linearPolar(OpenCV 3.X新特性)

3.3.5 對數極坐標函數logPolar(OpenCV 3.X新特性)

3.4 參考文獻

4 對比度增強

4.1 灰度直方圖

4.1.1 什么是灰度直方圖

4.1.2 Python及C++實現

4.2 線性變換

4.2.1 原理詳解

4.2.2 Python實現

4.2.3 C++實現

4.3 直方圖正規化

4.3.1 原理詳解

4.3.2 Python實現

4.3.3 C++實現

4.3.4 正規化函數normalize

4.4 伽馬變換

4.4.1 原理詳解

4.4.2 Python實現

4.4.3 C++實現

4.5 全局直方圖均衡化

4.5.1 原理詳解

4.5.2 Python實現

4.5.3 C++實現

4.6 限制對比度的自適應直方圖均衡化

4.6.1 原理詳解

4.6.2 代碼實現

4.7 參考文獻

5 圖像平滑

5.1 二維離散卷積

5.1.1 卷積定義及矩陣形式

5.1.2 可分離卷積核

5.1.3 離散卷積的性質

5.2 高斯平滑

5.2.1 高斯卷積核的構建及分離性

5.2.2 高斯卷積核的二項式近似

5.2.3 Python實現

5.2.4 C++實現

5.3 均值平滑

5.3.1 均值卷積核的構建及分離性

5.3.2 快速均值平滑

5.3.3 Python實現

5.3.4 C++實現

5.4 中值平滑

5.4.1 原理詳解

5.4.2 Python實現

5.4.3 C++實現

5.5 雙邊濾波

5.5.1 原理詳解

5.5.2 Python實現

5.5.3 C++實現

5.6 聯合雙邊濾波

5.6.1 原理詳解

5.6.2 Python實現

5.6.3 C++實現

5.7 導向濾波

5.7.1 原理詳解

5.7.2 Python實現

5.7.3 快速導向濾波

5.7.4 C++實現

5.8 參考文獻

6 閾值分割

6.1 方法概述

6.1.1 全局閾值分割

6.1.2 閾值函數threshold(OpenCV3.X新特性)

6.1.3 局部閾值分割

6.2 直方圖技術法

6.2.1 原理詳解

6.2.2 Python實現

6.2.3 C++實現

6.3 熵算法

6.3.1 原理詳解

6.3.2 代碼實現

6.4 Otsu閾值處理

6.4.1 原理詳解

6.4.2 Python實現

6.4.3 C++實現

6.5 自適應閾值

6.5.1 原理詳解

6.5.2 Python實現

6.5.3 C++實現

6.6 二值圖的邏輯運算

6.6.1 “與”和“或”運算

6.6.2 Python實現

6.6.3 C++實現

6.7 參考文獻

7 形態學處理

7.1 腐蝕

7.1.1 原理詳解

7.1.2 實現代碼及效果

7.2 膨脹

7.2.1 原理詳解

7.2.2 Python實現

7.2.3 C++實現

7.3 開運算和閉運算

7.3.1 原理詳解

7.3.2 Python實現

7.4 其他形態學處理操作

7.4.1 頂帽變換和底帽變換

7.4.2 形態學梯度

7.4.3 C++實現

8 邊緣檢測

8.1 Roberts算子

8.1.1 原理詳解

8.1.2 Python實現

8.1.3 C++實現

8.2 Prewitt邊緣檢測

8.2.1 Prewitt算子及分離性

8.2.2 Python實現

8.2.3 C++實現

8.3 Sobel邊緣檢測

8.3.1 Sobel算子及分離性

8.3.2 構建高階的Sobel算子

8.3.3 Python實現

8.3.4 C++實現

8.4 Scharr算子

8.4.1 原理詳解

8.4.2 Python實現

8.4.3 C++實現

8.5 Kirsch算子和Robinson算子

8.5.1 原理詳解

8.5.2 代碼實現及效果

8.6 Canny邊緣檢測

8.6.1 原理詳解

8.6.2 Python實現

8.6.3 C++實現

8.7 Laplacian算子

8.7.1 原理詳解

8.7.2 Python實現

8.7.3 C++實現

8.8 高斯拉普拉斯(LoG)邊緣檢測

8.8.1 原理詳解

8.8.2 Python實現

8.8.3 C++實現

8.9 高斯差分(DoG)邊緣檢測

8.9.1 高斯拉普拉斯與高斯差分的關系

8.9.2 Python實現

8.9.3 C++實現

8.10 Marr-Hildreth邊緣檢測

8.10.1 算法步驟詳解

8.10.2 Pyton實現

8.10.3 C++實現

8.11 參考文獻

9 幾何形狀的檢測和擬合

9.1 點集的最小外包

9.1.1 最小外包旋轉矩形

9.1.2 旋轉矩形的4個頂點(OpenCV 3.X新特性)

9.1.3 最小外包圓

9.1.4 最小外包直立矩形(OpenCV 3.X新特性)

9.1.5 最小凸包

9.1.6 最小外包三角形( OpenCV 3.X新特性)

9.2 霍夫直線檢測

9.2.1 原理詳解

9.2.2 Python實現

9.2.3 C++實現

9.3 霍夫圓檢測

9.3.1 標準霍夫圓檢測

9.3.2 Python實現

9.3.3 基于梯度的霍夫圓檢測

9.3.4 基于梯度的霍夫圓檢測函數HoughCircles

9.4 輪廓

9.4.1 查找、繪制輪廓

9.4.2 外包、擬合輪廓

9.4.3 輪廓的周長和面積

9.4.4 點和輪廓的位置關系

9.4.5 輪廓的凸包缺陷

9.5 參考文獻

10 傅里葉變換

10.1 二維離散的傅里葉(逆)變換

10.1.1 數學理解篇

10.1.2 快速傅里葉變換

10.1.3 C++實現

10.1.4 Python實現

10.2 傅里葉幅度譜與相位譜

10.2.1 基礎知識

10.2.2 Python實現

10.2.3 C++實現

10.3 譜殘差顯著性檢測

10.3.1 原理詳解

10.3.2 Python實現

10.3.3 C++實現

10.4 卷積與傅里葉變換的關系

10.4.1 卷積定理

10.4.2 Python實現

10.5 通過快速傅里葉變換計算卷積

10.5.1 步驟詳解

10.5.2 Python實現

10.5.3 C++實現

10.6 參考文獻

11 頻率域濾波

11.1 概述及原理詳解

11.2 低通濾波和高通濾波

11.2.1 三種常用的低通濾波器

11.2.2 低通濾波的C++實現

11.2.3 低通濾波的Python實現

11.2.4 三種常用的高通濾波器

11.3 帶通和帶阻濾波

11.3.1 三種常用的帶通濾波器

11.3.2 三種常用的帶阻濾波器

11.4 自定義濾波器

11.4.1 原理詳解

11.4.2 C++實現

11.5 同態濾波

11.5.1 原理詳解

11.5.2 Python實現

11.6 參考文獻

12 色彩空間

12.1 常見的色彩空間

12.1.1 RGB色彩空間

12.1.2 HSV色彩空間

12.1.3 HLS色彩空間

12.2 調整彩色圖像的飽和度和亮度

12.2.1 Python實現

12.2.2 C++實現

OpenCV算法精解 基于Python與C++ 精彩文摘

OpenCV(Open Source Computer Vision Library)是開源的計算機視覺和機器學習庫,提供了 C++、C、Python、Java 接口,并支持 Windows、Linux、Android、Mac OS 平臺。OpenCV自 1999 年問世以來,就已經成為計算機視覺領域學者和開發人員的首選工具。OpenCV 最初是由 Intel 的小組進行開發的,在發布了一系列 Beta 版本后,1.0 版本終于在 2006 年面市,2009 年發布了重要的版本 OpenCV 2.X,現在已經是 2.4.13 版本;從 2014 年開始,在繼續更新 OpenCV 2.X 版本的同時,發布了 OpenCV 3.X 版本,現在已經更新到 3.2 版本。因為這兩個版本均在繼續更新,所以本書在介紹圖像算法的基礎上,會說明兩者的不同之處,所有代碼使用的都是最新的 OpenCV 2.4.13 和 3.2 版本。

圖書網:OpenCV算法精解 基于Python與C++pdf

繼續閱讀
  • 我的微信
  • 掃一掃加好友
  • weinxin
  • 微信公眾號
  • 掃一掃關注
  • weinxin
架構解密 從分布式到微服務pdf 網絡與數據通信

架構解密 從分布式到微服務pdf

架構解密 從分布式到微服務 作者:Leader-us 架構解密 從分布式到微服務 出版社:電子工業出版社 架構解密 從分布式到微服務 內容簡介 分布式架構與微服務平臺是當今IT界的關鍵技術,也是資深軟...
分布式服務架構 原理 設計與實戰epub 網絡與數據通信

分布式服務架構 原理 設計與實戰epub

分布式服務架構 原理 設計與實戰 作者:李艷鵬,楊彪 分布式服務架構 原理 設計與實戰 出版社: 電子工業出版社 《分布式服務架構:原理、設計與實戰》以分布式服務架構為主線,重點介紹了保證服務化架構的...
匿名

發表評論

匿名網友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

評論:1   其中:訪客  1   博主  0
    • youtiao youtiao 9

      很好的資源