OPENCV3編程入門--第八章(圖像輪廓與圖像分割,修復)學習筆記

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() 函數
在這裏插入圖片描述
在這裏插入圖片描述

總結

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章