对二维图像数组进行高斯模糊用二维数组输出 代码
时间: 2023-05-18 13:03:40 浏览: 126
图像处理高斯模糊源代码
4星 · 用户满意度95%
以下是对二维图像数组进行高斯模糊并用二维数组输出的代码:
```python
import numpy as np
from scipy.signal import convolve2d
def gaussian_kernel(size, sigma=1):
x, y = np.mgrid[-size:size+1, -size:size+1]
g = np.exp(-(x**2 + y**2)/(2*sigma**2))
return g/g.sum()
def gaussian_blur(image, kernel_size=3, sigma=1):
kernel = gaussian_kernel(kernel_size, sigma)
blurred_image = convolve2d(image, kernel, mode='same', boundary='symm')
return blurred_image
# Example usage:
image = np.random.rand(100, 100)
blurred_image = gaussian_blur(image, kernel_size=5, sigma=2)
print(blurred_image)
```
这段代码使用了 `numpy` 和 `scipy` 库,其中 `gaussian_kernel` 函数生成了一个高斯核,`gaussian_blur` 函数对输入的图像进行高斯模糊,并返回模糊后的图像。
阅读全文