トポロジ


1)侵食と膨張



しんしょく


オブジェクトサイズの縮小&背景の拡大
構造要素がオブジェクトに完全に含まれている場合は、アンカーピクセルを255に設定します.

ふくらむ


構造要素とオブジェクト領域が1つのピクセルに遭遇した場合、アンカーピクセルは255に設定されます.
オブジェクトサイズの縮小&背景の拡大
バイナリイメージの侵食と膨張の例
src = cv2.imread('circuit.bmp', cv2.IMREAD_GRAYSCALE)

se = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 3))
dst1 = cv2.erode(src, se)

dst2 = cv2.dilate(src, None)
結果

2)開閉


熱気=侵食→膨張


侵食後膨張

オフ=膨張→侵食


インフレーション後浸食

熱計算ノイズ低減の例
src = cv2.imread('rice.png', cv2.IMREAD_GRAYSCALE)

dst1 = np.zeros(src.shape, np.uint8)

# src 영상에 지역 이진화 수행 (local_th.py 참고)

cnt1, _ = cv2.connectedComponents(dst1)
print('cnt1:', cnt1)

dst2 = cv2.morphologyEx(dst1, cv2.MORPH_OPEN, None)
# 아래와 동일
#dst2 = cv2.erode(dst1, None)
#dst2 = cv2.dilate(dst2, None)

cnt2, _ = cv2.connectedComponents(dst2)
print('cnt2:', cnt2)
結果