opencv示例的圖片和視頻:https://github.com/opencv/opencv/tree/master/samples/data
1:模板匹配
opencv裡的模板匹配就不說了,也就是從當前圖像提取模板圖像匹配還好,換一個不同圖片的模板就不行了,而且對縮放的模板匹配效果也很差,就說下基本流程如下:
圖像灰度化→cv2.matchTemplate→cv2.minMaxLoc
2:霍夫變換
這裡有兩個:霍夫線性變換、霍夫圓形變換,可以用來檢測直線和圓。
霍夫線性變換:
霍夫線性概率變換:
霍夫圓形變換:
3:圖像分割之分水嶺算法
這裡使用的是分水嶺算法,基本流程如下:
圖像灰度化→圖像二值化→圖像去噪→圖像腐蝕膨脹→圖像距離計算(前景到背景的距離)→基於距離的閾值化(變瘦,得到前景的中心、骨架)→背景減已確定前景得到可能的邊界區域→通過已確定前景得到連通區域markers→設置markers中可能的邊界區域為0→調用分水嶺算法→-1的即為邊界線。
5:圖像分割之GrabCut算法
這裡的mask有兩種方式獲取,一種就是在圖中劃定rect區域,自動計算mask(這種方式可能背景會在rect內);另一種就是手動設置mask,比如在原圖中選擇前景設置為255,背景設置為0,然後轉換為mask就是把255部分設置為1,0的部分設置為0。
感興趣的可以關注weixin gongzhonghao(*^_^*):桔子的算法之路