如何使用Python進(jìn)行圖像的形態(tài)學(xué)處理

小億
97
2024-04-29 18:36:46

Python中可以使用opencv庫(kù)來進(jìn)行圖像的形態(tài)學(xué)處理。形態(tài)學(xué)處理包括膨脹、腐蝕、開運(yùn)算、閉運(yùn)算等操作。下面是一些常見的形態(tài)學(xué)操作的示例:

  1. 膨脹操作:
import cv2
import numpy as np

img = cv2.imread('input.jpg', 0)
kernel = np.ones((5,5), np.uint8)
dilate_img = cv2.dilate(img, kernel, iterations=1)

cv2.imshow('Dilated Image', dilate_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. 腐蝕操作:
import cv2
import numpy as np

img = cv2.imread('input.jpg', 0)
kernel = np.ones((5,5), np.uint8)
erode_img = cv2.erode(img, kernel, iterations=1)

cv2.imshow('Eroded Image', erode_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. 開運(yùn)算操作:
import cv2
import numpy as np

img = cv2.imread('input.jpg', 0)
kernel = np.ones((5,5), np.uint8)
opening_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

cv2.imshow('Opening Image', opening_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. 閉運(yùn)算操作:
import cv2
import numpy as np

img = cv2.imread('input.jpg', 0)
kernel = np.ones((5,5), np.uint8)
closing_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

cv2.imshow('Closing Image', closing_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上示例中,input.jpg是輸入圖像的文件名,可以根據(jù)實(shí)際情況替換為其他圖像文件名。形態(tài)學(xué)操作可以根據(jù)具體需求進(jìn)行調(diào)整,通過調(diào)整kernel的大小和iterations參數(shù)可以得到不同的效果。

0