Cv2.filter2d意思

cv2.filter2d 是 Python 中的 OpenCV 庫中的一個函式,它用於在二維圖像上套用濾波器。這個函式可以用來實現各種圖像處理操作,例如模糊、銳化、邊緣檢測等。

cv2.filter2d 的基本語法如下:

cv2.filter2D(src, ddepth, kernel, dst, anchor=None, delta=0, borderType=cv2.BORDER_DEFAULT)

其中參數的含義如下:

例如,以下代碼使用了一個均值濾波器(即模糊)來平滑圖像:

import cv2
import numpy as np

# 讀取圖像
img = cv2.imread('your_image.jpg')

# 創建濾波器核心
kernel = np.ones((3, 3), np.float32) / 9  # 創建一個3x3的均值濾波器

# 套用濾波器
blurred = cv2.filter2D(img, -1, kernel)  # -1表示輸出圖像與輸入圖像具有相同的深度

# 顯示結果
cv2.imshow('Original', img)
cv2.imshow('Blurred', blurred)
cv2.waitKey(0)
cv2.destroyAllWindows()

在這個例子中,我們使用了一個3x3的均值濾波器,它將鄰近像素的平均值作為中心像素的新值。-1 表示輸出圖像與輸入圖像具有相同的深度,即如果輸入圖像是 8 位,則輸出圖像也是 8 位。

cv2.filter2D 函式非常強大,可以用來實現各種圖像處理操作,具體取決於你選擇的濾波器核心。