天天看點

【OpenCV】基本操作 腐蝕膨脹

【OpenCV】高手勿入! 半小時學會基本操作 10

  • ​​概述​​
  • ​​腐蝕​​
  • ​​膨脹​​
  • ​​開運算​​
  • ​​閉運算​​

概述

OpenCV 是一個跨平台的計算機視覺庫, 支援多語言, 功能強大. 今天小白就帶大家一起攜手走進 OpenCV 的世界. (第 10 課)

【OpenCV】基本操作 腐蝕膨脹

腐蝕

腐蝕 (Eroding) 會沿着圖像邊界向内收縮, 進而消除邊界點.

【OpenCV】基本操作 腐蝕膨脹

原圖:

【OpenCV】基本操作 腐蝕膨脹

例子:

# 讀取圖檔
img = cv2.imread("white.png")

# 腐蝕
erode = cv2.erode(img, kernel=(3, 3), iterations=5)

# 圖檔展示
cv2.imshow("erode", erode)
cv2.waitKey(0)
cv2.destroyAllWindows()      

輸出結果:

【OpenCV】基本操作 腐蝕膨脹

我們可以看到旁邊的一圈線基本不見了.

膨脹

膨脹 (Dilating) 會沿着圖像邊界向外膨脹.

例子:

# 讀取圖檔
img = cv2.imread("white.png")

# 膨脹
dilate = cv2.dilate(img, kernel=(3, 3), iterations=5)

# 圖檔展示
cv2.imshow("dilate", dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()      

輸出結果:

【OpenCV】基本操作 腐蝕膨脹

開運算

開運算: 先腐蝕 (Eroding) 在膨脹 (Dilating).

例子:

# 開運算
open = cv2.morphologyEx(img, cv2.MORPH_OPEN, (3, 3), iterations=5)

# 圖像展示
cv2.imshow('open', open)
cv2.waitKey(0)
cv2.destroyAllWindows()      

輸出結果:

【OpenCV】基本操作 腐蝕膨脹

閉運算

閉運算: 先膨脹 (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()      

輸出結果:

下一篇: saltStack_Grains

繼續閱讀