python opencv对图片进行高斯平滑,显示分析不同卷积核大小的结果
时间: 2024-05-12 16:18:38 浏览: 82
非常感谢您的提问。针对您的问题,可以通过以下代码实现Python中使用OpenCV进行高斯平滑,并分析不同卷积核大小的结果:
``` python
import cv2
import numpy as np
# 读入图片
img = cv2.imread('test.jpg')
# 不同卷积核大小的高斯平滑处理
img_blur_3x3 = cv2.GaussianBlur(img, (3, 3), 0)
img_blur_5x5 = cv2.GaussianBlur(img, (5, 5), 0)
img_blur_7x7 = cv2.GaussianBlur(img, (7, 7), 0)
# 分别显示平滑结果
cv2.imshow('3x3 blur image', img_blur_3x3)
cv2.imshow('5x5 blur image', img_blur_5x5)
cv2.imshow('7x7 blur image', img_blur_7x7)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 获取平滑前后的图片大小信息
print('origin image size:', img.shape)
print('blur_3x3 image size:', img_blur_3x3.shape)
print('blur_5x5 image size:', img_blur_5x5.shape)
print('blur_7x7 image size:', img_blur_7x7.shape)
```
此代码中,我们读入了一张名为test.jpg的图片,并通过cv2.GaussianBlur()函数对其进行了高斯平滑处理,设置了3x3、5x5、7x7三种不同卷积核大小的处理结果,并可以通过cv2.imshow()函数显示结果图像。最后,使用img.shape获取原始图片大小信息以及通过平滑处理后的图片大小信息进行比较。
希望这个回答可以对您有所帮助。如果您还有其他问题,不要犹豫,可以随时问我哦。
阅读全文