最大輪廓和投影

2021-09-20 01:52:06 字數 1891 閱讀 3984

最大輪廓和投影

最近非常多的用到了最大輪廓和投影運算。回想起來,這兩種演算法的確是屬於非常常見的基礎演算法。這裡加以總結和提取。

最大輪廓:

前提是影象經過了灰度和閾值處理,也可以直接處理canny的結果,有些時候需要預先經過色彩域的轉換。最後得到的結果,應該是乙個contour,當然可以採用一定的方法處理得到外接矩形。

//尋找最大的輪廓

vector

::point

> findbigestcontour(mat src)

}

returncontours[imax];

}

呼叫方法,得到外接矩陣

rect boundrect = boundingrect(mat(findbigestcontour(canny)));

投影處理

這裡的前提和最大輪廓是非常相似的。投影主要關心的是通過投影圖像,獲得原始影象中的roi,或者獲得有多少個上波形多少個下波形這些定量的結果。

vector

<

int

> vectorv; 

//橫向迴圈

vector

<

int

> vectorh; 

//縱向迴圈

vector

<

int

> vupper;

vector

<

int

> vdown;

vector

<

int

> hupper;

vector

<

int

> hdower;

// 做橫向迴圈

for(

inti

=0;i ++)

//上波形為vupper,下波形為vdown

for(

inti

=1;i ++)

if(vectorv[i

-1] >

0&& vectorv[i] 

==0)

}

//做縱向迴圈,這個往往處理的是橫向迴圈的結果

for(

intj

=0;j ++)

for(

intj

=0;j -

1;j ++)

if(vectorh[j] 

==0&& vectorh[j

+1] >

0)

}

//由於處理的上波形和下波形可能會有問題,需要進行一定的處理

//這裡的乙個處理就是提出哪些短暫的空白區域

for(

intj

=0;j -

1;j ++)

}

目前方向:影象拼接融合、影象識別 ****:[email protected]

最大輪廓和投影

最大輪廓和投影 最近非常多的用到了最大輪廓和投影運算。回想起來,這兩種演算法的確是屬於非常常見的基礎演算法。這裡加以總結和提取。最大輪廓 前提是影象經過了灰度和閾值處理,也可以直接處理canny的結果,有些時候需要預先經過色彩域的轉換。最後得到的結果,應該是乙個contour,當然可以採用一定的方法...

Opencv contours找出最大輪廓

在處理二值影象時,常用 cv2.findcontours 查詢輪廓,如下所示 find all cohntoursbinary 代表二值影象 之後可以用lambda 表示式對 contours 排序,如下所示 contours.sort key lambda c cv2.contourarea c ...

輪廓和圓角

box shadow 用來設定元素的陰影效果,陰影不會影響頁面布局 第乙個值 水平偏移量 設定陰影的水平位置 正值向右移動 負值向左移動 第二個值 垂直偏移量 設定陰影的水平位置 正值向下移動 負值向上移動 第三個值 陰影的模糊半徑 第四個值 陰影的顏色 outline 用來設定元素的輪廓線,用法和...