形態學函式cvMorphologyEx

2022-07-23 03:39:08 字數 1557 閱讀 7764

opencv提供了通用的形態學函式cvmorphologyex,該函式能夠實現開運算,閉運算,形態梯度,禮帽操作,黑帽操作

編輯void cvmorphologyex(const cvarr* src, cvarr* dst, cvarr* tmp, iplconvkernel* element, int operation, int iterations = 1);[1]

編輯src:輸入影象

dst:輸出影象

tmp:臨時影象,某些操作會用到。需要使用tmp時,它應與原影象有同樣的大小

element:結構元素

operation:形態操作的型別,有以下幾種可用的型別:

-cv_mop_open開運算不需要臨時影象

-cv_mop_close閉運算不需要臨時影象

-cv_mop_gradient形態梯度需要臨時影象

-cv_mop_tophat「禮帽」src = dst情況下需要

-cv_mop_blackhat」黑帽「src = dst情況下需要[1]

//開運算    

cvmorphologyex(    

src,    

img,    

temp,    

null, //default 3*3    

cv_mop_open,    

4);    

cvshowimage("open", img);    

//閉運算    

cvmorphologyex(    

src,    

img,    

temp,    

null, //default 3*3    

cv_mop_close,    

4);    

cvshowimage("close", img);    

//形態梯度    

cvmorphologyex(    

src,    

img,    

temp,    

null, //default 3*3    

cv_mop_gradient,    

3);    

cvshowimage("gradient", img);    

//cvwaitkey(0);    

//"禮帽"    

cvmorphologyex(    

src,    

img,    

temp,    

null, //default 3*3    

cv_mop_tophat,    

3);    

cvshowimage("tophat", img);    

//cvwaitkey(0);    

//「黑帽」    

cvmorphologyex(    

src,    

img,    

temp,    

null, //default 3*3    

cv_mop_blackhat,    

3);    

常用形態學操作函式

該函式能夠實現二值影象的膨脹操作,有以下形式 bw2 dilate bw1,se bw2 dilate bw1,se,n 其中 bw2 dilate bw1,se 表示使用二值結構要素矩陣se隊影象資料矩陣bw1執行膨脹操作。輸入影象bw1的型別為double或unit8,輸出影象bw2的型別為un...

常用形態學操作函式

常用形態學操作函式 自 1 dilate函式 該函式能夠實現二值影象的膨脹操作,有以下形式 bw2 dilate bw1,se bw2 dilate bw1,se,n 其中 bw2 dilate bw1,se 表示使用二值結構要素矩陣se隊影象資料矩陣bw1執行膨脹操作。輸入影象bw1的型別為dou...

形態學重建

在形態學梯度影象的基礎上,利用形態學的開閉重建運算對梯度影象進行重建,在保留重要區域倫敦的同時去除細節和雜訊。分水嶺變換存在過分割現象,原因在於檢測的區域性極值過多,造成極值過多的原因在於影象中的非規則灰度擾動和雜訊。對於好的分水嶺影象分割方法,不僅能消除過分割現象,而且應保證分割後的區域倫敦邊緣具...