1. 首页 >音视频流媒体 >opencv >

opencv 高斯模糊 GaussianBlur

cv2.GaussianBlur  它用于对图像进行高斯模糊处理。高斯模糊是一种常用的图像模糊技术,通过高斯函数对图像进行卷积,实现图像的平滑效果,常用于去除图像噪声或实现图像的柔化。


二、语法和参数

函数的语法如下:


dst = cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]])

1

src: 输入图像,可以是单通道灰度图像或多通道彩色图像。

ksize: 高斯核的大小,是一个 (width, height) 的元组,必须是正数和奇数。

sigmaX: X 轴方向上的高斯核的标准差。

dst: 输出图像,如果未指定,将创建与 src 相同大小和类型的图像。

sigmaY: Y 轴方向上的高斯核的标准差,如果为0,则 sigmaY 将与 sigmaX 相同。

borderType: 边界处理方式,默认为 cv2.BORDER_DEFAULT。

import cv2
width = 800
if __name__ == "__main__":
    camera = cv2.VideoCapture(0)

    firstFrame = None
    while True:
        (grabbed, frame) = camera.read()
        text = "Unoccupied"
        if not grabbed:
            break
        #frame = imutils.resize(frame, width=width)
        #gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        gray = cv2.GaussianBlur(frame, (21, 21), 0)
        if firstFrame is None:
            firstFrame = gray
            continue
        cv2.imshow("Security Feed", gray)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    camera.release()
    cv2.destroyAllWindows()


上述代码 实现读取摄像头并进行高斯模糊