基礎設定
學習OpenCV的第一件事,就是上網下載OpenCV,再進行簡單的程式運行。
結構與影像格式
這邊介紹一些OpenCV的基本結構,以及使用的影像格式
參數相關
這邊介紹影像處理的一些概念,這些會跟OpenCV部分函式的參數設定有關
影像基本操作
這邊介紹一些基本但常見的影像操作
- 影像讀取儲存(imread、imshow、imwrite)
- 影像相加(add、addWeighted)
- 像素巡訪(at、ptr)
- 影像卷積(Convolution)
- 像素強度變換(convertTo)
繪圖與影像空間轉換
這邊介紹OpenCV繪圖元件,以及在不同色彩空間或頻率域中進行轉換
影像增強
直方圖
- 直方圖介紹(calcHist)
- 直方圖等化(equalizeHist)
- 直方圖規定化
- 直方圖比較(compareHist)
- 直方圖反投影(calcBackProject)
- 均值漂移(meanShift、CamShift)
- 影像比對(matchTemplate、minMaxLoc)
幾何變換
幾何變換是將一幅影像的座標位置,映射到新座標,而不改變像素值,這邊介紹幾種幾何變換
二值化
這邊介紹如何找閾值,以及如何從這個閾值將輸入圖進行二值化。
影像分割
影像分割是將影像中具有各自相似性的區域區分開,作後後續特徵提取之用,這邊介紹邊緣檢測、區域生長和區域分割等方式。
- 邊緣介紹
- 找邊緣(Sobel、Scharr)
- 找邊緣(Laplacian)
- 找邊緣(Canny)
- 霍夫找線(HoughLines、HoughLinesP)
- 霍夫找圓(HoughCircles)
- 區域生長(floodFill)
- 分水嶺算法(watershed)
- 影像分割(grabCut)
型態學
輪廓
輪廓可提供物件的資訊,這邊介紹如何找輪廓,以及輪廓相關的物件特徵
- 輪廓(findContours、drawContours)
- 凸殼(convexHull)
- 輪廓包覆(boundingRect、minAreaRect、minEnclosingCircle)
- 特徵(moment、contourArea、arcLength)
- 輪廓和點距離(pointPolygonTest、distanceTransform)