1.查找並繪製輪廓
(1) 尋找輪廓:findContours() 函數
注:
(2) 繪製輪廓:drawContours()函數
層次結構信息:https://blog.csdn.net/qq_36387683/article/details/80472043
2.尋找物體的凸包
(1)凸包概念:
(2)尋找凸包函數:convexHull()
3.根據輪廓提取多邊形
(1)返回外部矩陣邊界:boundingRect() 函數
(2)尋找最小包圍矩陣:minAreaRect()函數
(3)尋找最小包圍圓形:minEnclosingCiecle()函數
(4)用橢圓擬合二維點集:fitEllipse()函數
(4)逼近多邊形曲線:approxPolyDP()函數
注:輪廓vertor容器contours[i]應該是包含了很多座標信息,比如一個contours[0]就是一個輪廓的二維座標點集
4.圖像的矩:其實就是一個綜合特性的描述子(滿足平移,伸縮,旋轉的不變性),從而可以計算長度和麪積
(1)opencv中計算圖像的矩
(2矩的計算函數:moments()–可以由此函數的返回值作爲參數,通過contourArea()和arcLength()函數來計算面積和長度
(3)計算輪廓面積:contourArea()
(4)計算輪廓長度:arcLength()函數
opencv裏的Moments成員變量的理解:https://blog.csdn.net/ZZS_SZZ/article/details/84778584
(5)分水嶺算法
怎麼感覺"漫水填充算法"和”分水嶺填充算法"的核心思想差不多
漫水填充算法(主要是選種子點,然後設定閾值,自動選中了和種子點相連的區域,接着將該區域替換成指定的顏色):https://blog.csdn.net/qq_31531635/article/details/73337887
掩模(就是遮掉不需要的部分):用選定的圖像、圖形或物體,對待處理的圖像(全部或局部)進行遮擋,來控制圖像處理的區域或處理過程。用於覆蓋的特定圖像或物體稱爲掩模或模板。
(1)watershed()函數
6.圖像修補
(1)圖像修補函數:inpaint() 函數