opencv python 低通滤波器
时间: 2023-06-28 20:12:07 浏览: 102
OpenCV Python提供了多种低通滤波器,可以通过降低图像的高频部分来模糊图像。以下是一些常见的低通滤波器:
1. 均值滤波器:将每个像素的值替换为其周围像素的平均值。可以使用`cv2.blur()`函数实现。
``` python
import cv2
img = cv2.imread('image.jpg')
blur = cv2.blur(img, (5, 5)) # 使用5x5的内核进行均值滤波
cv2.imshow('Blur', blur)
cv2.waitKey(0)
```
2. 高斯滤波器:在均值滤波器的基础上,给周围像素赋予不同的权重,使得离中心像素越远的像素权重越小。可以使用`cv2.GaussianBlur()`函数实现。
``` python
import cv2
img = cv2.imread('image.jpg')
gaussian_blur = cv2.GaussianBlur(img, (5, 5), 0) # 使用5x5的内核进行高斯滤波,标准差为0
cv2.imshow('Gaussian Blur', gaussian_blur)
cv2.waitKey(0)
```
3. 中值滤波器:将每个像素的值替换为其周围像素的中位数。可以使用`cv2.medianBlur()`函数实现。
``` python
import cv2
img = cv2.imread('image.jpg')
median_blur = cv2.medianBlur(img, 5) # 使用5x5的内核进行中值滤波
cv2.imshow('Median Blur', median_blur)
cv2.waitKey(0)
```
注意:这些低通滤波器都会模糊图像,因此在某些情况下可能会丢失图像的细节信息。
阅读全文