主要功能:
對彩色/灰度/二值影象進行腐蝕與膨脹運算
腐蝕的作用
物件大小減少乙個畫素(3*3)
平滑物件邊緣
弱化或者分割影象之間的半島型連線
膨脹的作用
物件大小增加乙個畫素(3*3)
平滑物件邊緣
減少或者填充物件之間的距離
import cv2 as cv
import numpy as np
# 腐蝕
def erode_demo(image):
print(image.shape)
gray = cv.cvtcolor(image, cv.color_bgr2gray) #影象轉灰度圖
# 將灰度圖轉為二值圖 ret是閾值 binary是二值圖
ret, binary = cv.threshold(gray, 0 ,255, cv.thresh_binary | cv.thresh_otsu)
cv.imshow('binary', binary) # 顯示二值影象
kernel = cv.getstructuringelement(cv.morph_rect, (3, 3)) # 定義覆蓋區域的大小
dst = cv.erode(binary, kernel) # 腐蝕操作
cv.imshow("erode_demo", dst)
# 膨脹
def expand_demo(image):
print(image.shape)
gray = cv.cvtcolor(image, cv.color_bgr2gray) #影象轉灰度圖
# 將灰度圖轉為二值圖 ret是閾值 binary是二值圖
ret, binary = cv.threshold(gray, 0 ,255, cv.thresh_binary | cv.thresh_otsu)
cv.imshow('binary', binary) # 顯示二值影象
kernel = cv.getstructuringelement(cv.morph_rect, (3, 3)) # 定義覆蓋區域的大小
dst = cv.dilate(binary, kernel) # 膨脹操作
cv.imshow("expand_demo", dst)
# 對彩色影象膨脹腐蝕
def color_demo(image):
kernel = cv.getstructuringelement(cv.morph_rect, (3, 3)) # 定義覆蓋區域的大小
dst1 = cv.erode(image, kernel) # 腐蝕操作
dst2 = cv.dilate(image, kernel) # 膨脹操作
輸出結果:
Opencv 膨脹與腐蝕
簡而言之 一組基於形狀處理影象的操作。形態操作將結構元素應用於輸入影象並生成輸出影象。最基本的形態作用是 侵蝕和擴張。它們有廣泛的用途,即 消除噪音 隔離單個元素並連線影象中的不同元素。查詢影象中的強度凸點或孔 我們將簡要解釋膨脹和侵蝕,使用以下影象作為示例 該操作包括將影象與某些核心 b 進行卷積...
OpenCV 膨脹與腐蝕
include include include using namespace cv using namespace std int element size 3 int max size 21 mat src,dst void callback demo int,void int main int...
Open Cv 膨脹與腐蝕
影象形態學1 膨脹 dilate 與腐蝕 是灰度與二值影象處理中的重要手段 數學集合論和拓撲集合的基礎上發展起來 膨脹 dilate 與腐蝕 erode 最值濾波 3 3模板?膨脹 3 3模板中的最大值替換中心畫素 腐蝕 3 3模板中的最小值替換中心畫素 膨脹的作用 物件大小增加乙個畫素 3x3 平...