OpenCV用python写代码,分别用双边滤波和高斯滤波处理图片
时间: 2024-09-28 13:10:04 浏览: 37
python+opencv图像处理基础——图像滤波方式
OpenCV是一个开源计算机视觉库,它在Python中非常常用。下面我会简述如何使用OpenCV分别用双边滤波(Bilateral Filter)和高斯滤波(Gaussian Blur)来处理图片。
首先,你需要安装好OpenCV库,如果你还没有安装,可以使用pip安装:
```bash
pip install opencv-python
```
然后,我们可以开始编写代码:
1. **双边滤波**:
双边滤波是一种平滑图像的同时保持边缘信息的技术。以下是使用OpenCV Python的示例:
```python
import cv2
from numpy import float32
# 加载图片
img = cv2.imread('input_image.jpg', cv2.IMREAD_GRAYSCALE)
# 设置双边滤波的参数:半径和sigma值
blur_size = 5
sigma_color = 75
sigma_space = 75
# 应用双边滤波
bilateral_filtered_img = cv2.bilateralFilter(img, blur_size, sigma_color, sigma_space)
# 保存结果
cv2.imwrite('bilateral_filtered_image.jpg', bilateral_filtered_img)
```
2. **高斯滤波**:
高斯滤波是线性滤波器,用于平滑图像,去除噪声。以下是使用高斯滤波的例子:
```python
# 使用cv2.GaussianBlur函数
blurred_img = cv2.GaussianBlur(img, (blur_size, blur_size), 0) # 参数:原图、核大小、标准差(0表示自动计算)
# 保存结果
cv2.imwrite('gaussian_filtered_image.jpg', blurred_img)
```
阅读全文