OpenCV库学习之cv2.GaussianBlur函数

OpenCV库学习之cv2.GaussianBlur函数

一、简介

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

二、语法和参数

函数的语法如下:

python 复制代码
dst = cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]])
  • src: 输入图像,可以是单通道灰度图像或多通道彩色图像。
  • ksize: 高斯核的大小,是一个 (width, height) 的元组,必须是正数和奇数。
  • sigmaX: X 轴方向上的高斯核的标准差。
  • dst: 输出图像,如果未指定,将创建与 src 相同大小和类型的图像。
  • sigmaY: Y 轴方向上的高斯核的标准差,如果为0,则 sigmaY 将与 sigmaX 相同。
  • borderType: 边界处理方式,默认为 cv2.BORDER_DEFAULT

三、实例

3.1 应用高斯模糊到彩色图像上

代码:

python 复制代码
import cv2

# 读取彩色图像
image = cv2.imread('example.jpg')

# 应用高斯模糊,核大小为5x5,标准差为0
blurred_image = cv2.GaussianBlur(image, (5, 5), 0)

# 显示原图和模糊后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Blurred Image', blurred_image)

# 等待按键后关闭所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

输出:

运行上述代码后,将显示原图和高斯模糊后的图像。请注意,实际输出将取决于 example.jpg 图像的内容。

3.2 应用高斯模糊到灰度图像上

代码:

python 复制代码
import cv2

# 读取灰度图像
image = cv2.imread('example.jpg', cv2.IMREAD_GRAYSCALE)

# 应用高斯模糊,核大小为5x5,标准差为1
blurred_image = cv2.GaussianBlur(image, (5, 5), 1)

# 显示原图和模糊后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Blurred Image', blurred_image)

# 等待按键后关闭所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

输出:

运行上述代码后,将显示灰度原图和高斯模糊后的图像。请注意,实际输出将取决于 example.jpg 图像的内容。

四、注意事项

  • 确保 ksize 的宽度和高度都是正奇数,否则函数将抛出错误。
  • sigmaXsigmaY 的值通常设置为正数,如果设置为0,它们将由 ksize 决定。
  • 如果不指定 dst 参数,函数将自动分配内存来存储输出图像。
  • 边界处理方式 borderType 可以影响图像边缘的处理,常用的选项包括 cv2.BORDER_DEFAULTcv2.BORDER_CONSTANT 等。
  • 高斯模糊可以有效地减少图像噪声,但过度模糊可能会丢失重要细节。
相关推荐
AI成长日志28 分钟前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
_李小白1 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
AI人工智能+2 小时前
基于高精度身份证OCR识别、炫彩活体检测及人脸比对技术的人脸核身系统,为通信行业数字化转型提供了坚实的安全底座
人工智能·计算机视觉·人脸识别·ocr·人脸核身
AI人工智能+2 小时前
一种以深度学习与计算机视觉技术为核心的表格识别系统,实现了结构化、半结构化表格的精准文字提取、布局解析与版面完整还原
深度学习·计算机视觉·ocr·表格识别
杨云龙UP2 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
头疼的程序员2 小时前
计算机网络:自顶向下方法(第七版)第八章 学习分享(三)
网络·学习·计算机网络
minglie13 小时前
zynq环境用opencv测摄像头
人工智能·opencv·计算机视觉
_李小白3 小时前
【OSG学习笔记】Day 37: NodeVisitor(顶点访问器)
笔记·学习
Fleshy数模3 小时前
基于MediaPipe实现人体姿态与脸部关键点检测
python·opencv·计算机视觉
程序员雷欧4 小时前
大模型应用开发学习第八天
大数据·人工智能·学习