當下人工智能的發展可以說是前所未有的迅猛,而計算機視覺(Computer Vision)無疑是人工智能一個非常重要的分支,計算機視覺的發展也成為了很多科研人員和業界開發人員聚焦的熱點。我們常常聽說到的無人駕駛、智能安防、人臉識別、文字識別、以圖搜圖、VR/AR、3D重構等等都是以計算機視覺做為技術基礎的應用實踐。
? ???
在計算機視覺項目的開發中,OpenCV作為較大眾的開源庫,擁有了豐富的常用圖像處理函數庫,采用C/C++語言編寫,可以運行在Linux/Windows/Mac等操作系統上,能夠快速的實現一些圖像處理和識別的任務。此外,OpenCV還提供了Java、python、cuda等的使用接口、機器學習的基礎算法調用,從而使得圖像處理和圖像分析變得更加易于上手,讓開發人員更多的精力花在算法的設計上。
一. OpenCV源碼使用與介紹
第1部份 OpenCV入門介紹,使用和安裝環境的配置
第2部份 OpenCV源碼架構講解,圖像的基礎知識,圖像的輸入輸出,視頻的基礎知識,視頻的輸入輸出與參數控制方法
第3部份 OpenCV中常用數據結構和函數(Point類,Size類,Rect類,Scalar類和cvtColor函數),core組件,imgproc組件
二. 圖像變換的數學原理和函數使用
第4部份 圖像處理,使用OpenCV實現線性濾波器、非線性濾波器和5種高級形態學濾波操作,圖形縮放,圖像金字塔和閾值化
第5部份 圖像變換,講解各種類型的圖形變換方法,包括使用OpenCV做邊緣檢測用到的canny算子、sobel算子、Laplace算子,進行圖像特征提取的霍夫線變換、霍夫圓變換,重映射,仿射變換和直方圖均衡化
第6部份 圖像分割,使用OpenCV實現常用前景檢測方法,尋找物體的凸包,使用多邊形包圍輪廓,角點檢測方法
三. 圖像處理中的機器學習
第7部份 OpenCV中的機器學習ML組件,貝葉斯分類器、K近鄰分類器的使用
第8部份 支持向量機SVM,期望較大化EM和決策樹在OpenCV中的使用
第9部份 隨機森林,boost分類器和人工神經網絡在OpenCV中的使用
四. 開發案例
第10部份 案例:使用OpenCV做特征匹配,介紹當下常用和前沿的“以圖搜圖”的實現方法
第11部份 案例:使用OpenCV做人臉對齊,人臉識別和人臉中的五官識別
第12部份 案例:使用OpenCV實現監控視頻的行人識別與跟蹤