OpenCV introduction

OpenCV個強大的電腦視覺開源軟體,主要由底下模組組成
    core
        此模組包含:
        基本的資料結構, cv::Size, cv::Point...
        動態的資料結構, CvSeq, CvGraph...
        矩陣的運算, dct, add, addWeight...
    imgproc
        此模組包含:
        影像的濾波, bilateralFilter, erode...
    highgui
        此模組包含:
        一些GUI的部分, 如:trackbar, 滑鼠的偵測, 視窗的顯示...
    video
        此模組包含:
        影片的分析, 計算稀疏或是稠密的光流: Lucas-Kanade光流
    calib3d
        此模組包含:
        相機校正的部分, 單支相機的內外參校正, 或是雙眼的校正, 雙眼深度的產生
    feature2d
        此模組包含:
        像是SIFT,SURF,ORB的特徵
    objdetect
        此模組包含:
        Cascade的分類器,像是人臉偵測,和一些行人的偵測
    ml
        此模組包含:
        統計模型,貝斯分類器,KNN,SVM(支撐向量機),決策樹,隨機樹,最大期望值,類神經網路
    flann
        此模組包含:
        "Fast Library for Approximate Nearest Neighbors" 一般不會直接使用到,會被其他的模組使用
    gpu
        此模組包含:
        影像的濾波使用GPU,3D的重建使用GPU,行人或是物體的偵測使用GPU
    photo
        此模組包含:
        影像的去除noise
    stitching
        此模組包含:
        關於一些影像的拼接
    nonfree
        此模組包含:
        無法免費使用的模組,主要有SURF或是SIFT
    contrib
        此模組包含:
        人臉的偵測
    legacy
    ocl
        此模組包含:
        利用opencl執行的加速器


OpenCV 範例的框架

ch0 基本安裝介紹

    0-1基本資料結構介紹
    0-2簡易的使用CMake創建專案
    0-3一些OpenCV的函數介紹

ch1 影像存取相關範例

    1-1打開相機
    1-2讀取影像並轉檔儲存

ch2 滑鼠鍵盤介面的事件

    2-1創建TrackBar可調值
    2-2偵測滑鼠的座標

ch3 基礎影像處理

    3-1門檻值的調整(二值化)
    3-2加入形狀
    3-3將圖片加入隨機的雜訊
    3-4將雜訊的圖片濾波(BoxFilter, 中值濾波, bilateral filter)
    3-5侵蝕與膨脹
    3-6加強圖片對比

ch4 進階影像處理

    4-1_Canny邊緣偵測器
    4-2_Hough轉換找線
    4-3離散傅立葉轉換

ch5 關鍵點和描述子

    5-1稀疏光流Lucas-Kanade
    5-2_ORB特徵匹配

ch6 追蹤相關

    6-1_Kalman濾波
    6-2_Kalman濾波(追蹤滑鼠範例)

ch7 相機校正框架

    7-1找校正板角點
    7-2校正鏡頭內參

ch8 機器學習相關

    8-1利用OpenCV自帶行人偵測

ch9 其他

    9-1-1車牌切割
    9-1-2車牌訓練辨識SVM
    9-1-3字元切割
    9-1-4光學字元訓練辨識(類神經)
    9-1-5光學字元訓練辨識(KNN)