请用python实现cv2.GaussianBlur
时间: 2023-10-23 10:22:39 浏览: 44
好的,以下是用Python实现cv2.GaussianBlur的代码:
```
import cv2
img = cv2.imread('image.jpg') # 读取图片
blur = cv2.GaussianBlur(img, (5, 5), 0) # 进行高斯模糊操作
cv2.imshow('Gaussian Blur', blur) # 展示高斯模糊后的图片
cv2.waitKey(0) # 等待键盘输入
cv2.destroyAllWindows() # 关闭窗口
```
希望以上代码可以帮到你!
相关问题
请用python实现cv2.GaussianBlur的原始实现
好的,以下是实现代码:
```python
import cv2
import numpy as np
def my_GaussianBlur(img, kernel_size, sigma):
"""
自己实现GaussianBlur
:param img: 待处理的图像
:param kernel_size: 高斯核大小
:param sigma: 高斯核标准差
:return: 处理后的图像
"""
# 构建高斯核
kernel = np.zeros((kernel_size, kernel_size))
center = kernel_size // 2
for i in range(kernel_size):
for j in range(kernel_size):
dis = (i - center) ** 2 + (j - center) ** 2
kernel[i, j] = np.exp(-dis / (2 * sigma ** 2))
kernel = kernel / np.sum(kernel)
# 卷积计算
img_h, img_w = img.shape[:2]
kernel_h, kernel_w = kernel.shape[:2]
padding = (kernel_size - 1) // 2
img = np.pad(img, ((padding, padding), (padding, padding), (0, 0)), mode='edge')
res_img = np.zeros((img_h, img_w, 3))
for i in range(padding, img_h + padding):
for j in range(padding, img_w + padding):
roi = img[i - padding:i + padding + 1, j - padding:j + padding + 1, :]
res_img[i - padding, j - padding, :] = np.sum(roi * kernel[..., np.newaxis], axis=(0, 1))
res_img = np.clip(res_img, 0, 255).astype(np.uint8)
return res_img
# 调用实现
img = cv2.imread("test.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
res_img = my_GaussianBlur(img, 3, 1)
cv2.imshow("res_img", res_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
希望能帮到你~笑话时间:“为什么程序员总是饿着?因为忘了打饭。哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈~~~”
python实现cv2.GaussianBlur
下面是一个 Python 实现的例子,使用了 OpenCV 库的 cv2.GaussianBlur 函数进行高斯模糊处理:
```python
import cv2
# 读取图像
img = cv2.imread('example.jpg')
# 高斯模糊处理
img_blur = cv2.GaussianBlur(img, (5, 5), 0)
# 显示原始图像和高斯模糊后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Gaussian Blur Image', img_blur)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,首先使用 cv2.imread 函数读取了一张图像,然后使用 cv2.GaussianBlur 函数进行高斯模糊处理,其中 (5, 5) 是高斯核的大小,0 是高斯核在 X 方向上的标准差,表示模糊程度。最后使用 cv2.imshow 函数分别显示原始图像和高斯模糊后的图像,cv2.waitKey 函数等待按键事件,cv2.destroyAllWindows 函数关闭所有窗口。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)