トポロジ
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)
結果
Reference
この問題について(トポロジ), 我々は、より多くの情報をここで見つけました
https://velog.io/@qsdcfd/모폴로지
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
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)
熱気=侵食→膨張
侵食後膨張
オフ=膨張→侵食
インフレーション後浸食
熱計算ノイズ低減の例
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)
結果Reference
この問題について(トポロジ), 我々は、より多くの情報をここで見つけました https://velog.io/@qsdcfd/모폴로지テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol