【OpenCV】高手勿入! 半小時學會基本操作 10
- 概述
- 腐蝕
- 膨脹
- 開運算
- 閉運算
概述
OpenCV 是一個跨平台的計算機視覺庫, 支援多語言, 功能強大. 今天小白就帶大家一起攜手走進 OpenCV 的世界. (第 10 課)
腐蝕
腐蝕 (Eroding) 會沿着圖像邊界向内收縮, 進而消除邊界點.
原圖:
例子:
# 讀取圖檔
img = cv2.imread("white.png")
# 腐蝕
erode = cv2.erode(img, kernel=(3, 3), iterations=5)
# 圖檔展示
cv2.imshow("erode", erode)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結果:
我們可以看到旁邊的一圈線基本不見了.
膨脹
膨脹 (Dilating) 會沿着圖像邊界向外膨脹.
例子:
# 讀取圖檔
img = cv2.imread("white.png")
# 膨脹
dilate = cv2.dilate(img, kernel=(3, 3), iterations=5)
# 圖檔展示
cv2.imshow("dilate", dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結果:
開運算
開運算: 先腐蝕 (Eroding) 在膨脹 (Dilating).
例子:
# 開運算
open = cv2.morphologyEx(img, cv2.MORPH_OPEN, (3, 3), iterations=5)
# 圖像展示
cv2.imshow('open', open)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結果:
閉運算
閉運算: 先膨脹 (Dilating), 再腐蝕 (Eroding).
例子:
# 讀取圖檔
img = cv2.imread("white.png")
# 閉運算
close = cv2.morphologyEx(img, cv2.MORPH_CLOSE, (3, 3), iterations=5)
# 圖像展示
cv2.imshow('close', close)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結果: