opencv python 7 形態學變換

2021-08-14 07:16:06 字數 1867 閱讀 4580

形態學變換指將數學形態學作為工具從影象提取特徵或用於預處理或後處理的形態學過濾、細化和修剪等,主要針對二值影象。

腐蝕即用乙個核掃過整張影象(類似2d卷積),若核中所有畫素均為1則置該畫素為1,否則為0,其結果就是邊界附近的白色畫素被抹去。cv2.erode()實現了該功能。

膨脹與腐蝕相反,核中只要由乙個畫素為1則置該畫素為1,即擴大了前景部分,由cv2.dilate()實現。

dst = cv2.dilate(src, kernel[, dst[, anchor[, iterations[, bordertype[, bordervalue]]]]])
img_dilate = cv2.dilate(img_binary, kernel, iterations = 1)
開操作即先腐蝕再膨脹,適合去除背景中的雜訊,閉操作即先膨脹再腐蝕,適合去除前景中的雜訊,都由cv2.morphologyex()實現。

dst = cv.morphologyex(src, op, kernel[, dst[, anchor[, iterations[, bordertype[, bordervalue]]]]])
img_open = cv2.morphologyex(img_binary, cv2.morph_open, kernel)

img_close = cv2.morphologyex(img_binary, cv2.morph_close, kernel)

形態學梯度即影象腐蝕和膨脹結果的差,頂帽即原圖與開操作結果的差,黑帽即原圖與閉操作結果的差,也都通過cv2.morphologyex()實現。

img_morph_gradient = cv2.morphologyex(img_binary, cv2.morph_gradient, kernel)

img_tophat = cv2.morphologyex(img_binary, cv2.morph_tophat, kernel)

img_blackhat = cv2.morphologyex(img_binary, cv2.morph_blackhat, kernel)

可通過cv2.getstructuringelement()來獲取符合需要的結構元素。

retval = cv2.getstructuringelement(shape, ksize[, anchor])
cv2.getstructuringelement(cv.morph_rect, (5, 5))

opencv python 7 模糊操作

dst cv.blur image,5,5 5,5 卷積核大小 用途 適用於隨機雜訊 dst cv.medianblur image,5 用途 適用於椒鹽雜訊 kernel np.ones 5,5 np.float32 25 除以25防止數值超過255,溢位 dst cv.filter2d imag...

翻譯 OpenCV Python教程 形態變化

這個系列是自己瞎翻的,文法很醜,主要靠意會,跳著跳著撿重要的部分翻,翻錯了不負責,就這樣哈。基於3.4.3,morphological transformations,附原文。在這一章節,形態變換是基於影象形狀的一些簡單操作。它通常在二進位制影象上執行。它需要兩個輸入,乙個是我們的原始影象,第二個是...

OpenCV Python形態學變換

原理形態變換是根據的形狀進行的簡單運算。一般被用在二值影象上。它需要兩個輸入,乙個是我們的原始,另乙個是被叫做結構元素或者是核,用來決定運算的型別。兩個基本的形態運算是腐蝕和dilation.其他的變形如開,合,梯度等也會有。我們來看看他們在下面這張圖上的表現。1.腐蝕 腐蝕的基本理念就和土壤腐蝕一...