📜  OpenCV-高斯模糊(1)

📅  最后修改于: 2023-12-03 15:18:07.534000             🧑  作者: Mango

OpenCV-高斯模糊

简介

OpenCV是一个广泛使用的计算机视觉库,其中包含许多常用的图像处理函数。高斯模糊(Gaussian Blur)是其中一种常用滤波器,可以将图像中的噪声和细节进行平滑处理。

函数原型
cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) -> dst

其中,参数说明如下:

  • src:输入图像。
  • ksize:高斯核大小,通常选择奇数。如果只在x方向使用,则为 (ksize, 1)
  • sigmaX:高斯核在x方向上的标准差。
  • sigmaY:高斯核在y方向上的标准差,如果设置为0,则默认取sigmaX的值。
  • dst:输出图像,默认为None,此时函数会在内部创建一个与输入图像大小和类型相同的输出图像。
  • borderType:边框类型,默认为cv2.BORDER_DEFAULT,即根据图像大小自动选择边框类型。
示例代码
import cv2

# 读入图像
img = cv2.imread('example.jpg')

# 进行高斯模糊
ksize = (5, 5)
sigmaX = 0
blur = cv2.GaussianBlur(img, ksize, sigmaX)

# 显示原图和处理结果
cv2.imshow('Original Image', img)
cv2.imshow('Gaussian Blur Image', blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

这段代码读入一张图像,然后进行高斯模糊处理,并通过imshow函数显示出原图和处理结果。注意imshow函数必须与waitKey和destroyAllWindows函数配合使用,否则窗口会一闪而过。如果需要将处理结果保存为图像文件,可以使用cv2.imwrite()函数。

结语

高斯模糊是一种简单而有效的图像处理方法,可以平滑图像中的噪声和细节。OpenCV提供了简单易用的高斯模糊函数,使用起来非常方便。