高斯模糊python
时间: 2023-11-01 19:01:00 浏览: 151
高斯模糊是一种常用的图像处理方法,用于减少图像的噪声和细节。在Python中,可以使用高斯卷积核来实现高斯模糊。下面是一个示例代码:
```python
import numpy as np
from scipy.signal import convolve2d
def gaussian_blur(image, sigma):
kernel_size = int(2 * np.ceil(3 * sigma) + 1)
kernel = np.fromfunction(lambda x, y: (1 / (2 * np.pi * sigma**2)) * np.exp(-((x - (kernel_size - 1) / 2)**2 + (y - (kernel_size - 1) / 2)**2) / (2 * sigma**2)), (kernel_size, kernel_size))
kernel = kernel / np.sum(kernel)
blurred_image = convolve2d(image, kernel, mode='same')
return blurred_image
```
这段代码定义了一个函数`gaussian_blur`,它接受输入图像和标准差(`sigma`)作为参数,并返回经过高斯模糊处理后的图像。
相关问题
opencv高斯模糊python
在Python中使用OpenCV进行高斯模糊的代码如下:
```python
import cv2 as cv
src = cv.imread('lena.jpg')
cv.imshow('input image', src)
dst = cv.GaussianBlur(src, (15, 15), 0)
cv.imshow('gaussianBlur_image', dst)
cv.waitKey(0)
cv.destroyAllWindows()
```
这段代码首先读取了一张名为"lena.jpg"的图片,并显示在窗口中。然后使用`cv.GaussianBlur()`函数对图片进行高斯模糊处理,其中`(15, 15)`表示高斯核的大小,0表示标准差。最后将处理后的图片显示在另一个窗口中。
#### 引用[.reference_title]
- *1* *2* [python-OpenCV:模糊操作,高斯模糊,原理及其代码解析。](https://blog.csdn.net/qq_45804132/article/details/113618578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [高斯模糊(OpenCV+Python)](https://blog.csdn.net/m0_43425029/article/details/106072542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
给图像加高斯模糊 python代码
在Python中,我们可以使用PIL(Pillow)库来进行图像处理,包括添加高斯模糊。下面是一个简单的示例代码:
```python
from PIL import Image, ImageFilter
def apply_gaussian_blur(image_path, output_path, blur_radius):
# 打开图片
img = Image.open(image_path)
# 应用高斯模糊滤镜
blurred_img = img.filter(ImageFilter.GaussianBlur(blur_radius))
# 保存模糊后的图片
blurred_img.save(output_path)
# 使用函数
blur_radius = 5 # 高斯模糊半径,你可以调整这个值
input_image = "input.jpg" # 输入图片路径
output_image = "blurred_output.jpg" # 输出模糊图片路径
apply_gaussian_blur(input_image, output_image, blur_radius)
```
在这个例子中,`blur_radius`参数决定了模糊的程度。你可以根据需要调整这个值,数值越大,模糊效果越明显。
阅读全文