计算机视觉全系列实战教程:(九)图像滤波操作

1.图像滤波的概述

(1)Why (为什么要进行图像滤波)

  • 去噪:去除图像在获取、传输等过程中的各种噪音干扰
  • 提取特征:使用特定的图像滤波器提取图像特定特征

(2)What (什么是图像滤波)

使用滤波核对图像进行卷积运算或非线性运算,以达到去噪或提取特征的目的的图像处理技术

2.线性滤波

What:对各像素灰度进行简单处理(乘以一个权重),最后求和

(1)方框滤波

归一化方框滤波器和均值滤波器的核基本一致,主要区别是:是否进行归一化处理,如果不进行归一化处理 ,则表示的是方框滤波

在opencv中的滤波算法如下:

cpp 复制代码
void cv::boxFilter(cv::Mat &imSrc, //输入图像
			  cv::Mat &imDst, //输出图像
			  int depth, //图像深度
			  cv::Size ssize, //方框滤波器的尺寸
			  cv::Point(-1,-1), //默认以中心点为基准
			  bool normalize = true, //是否进行归一化处理
			  int borderType = 4
			  );

(2)均值滤波

均值滤波器的核的元素全是1,并进行了归一化 操作:即每个元素都会除以核的总数

cpp 复制代码
void cv::blur(cv::Mat &imSrc, //输入图像
			  cv::Mat &imDst,  //输出图像
			  cv::Size ksize,  //滤波核的尺寸
			  Point anchor=Point(-1,-1),  //默认以中心点为基准
			  int borderType=BORDER_DEFA  //图像外部像素的边界模式,一般默认值即可
			  );

(3)高斯滤波

形状类似于概率论中的高斯分布模型(正态分布模型)

cpp 复制代码
void cv::GaussianBlur(
	cv::Mat &imSrc, //输入图像
	cv::Mat &imDst, //输出图像
	cv::Size ksize, //高斯滤波核的尺寸
	double sigmaX, //高斯核函数在X方向的标准偏差
	double sigmaY = 0, //高斯核函数在Y方向的标准偏差
	int borderType = BORDER_DEFAULT
	);

3.非线性滤波

(1)中值滤波

用像素点领域的灰度值来代替该像素点的灰度值,可以去除最大值和最小值,针对椒盐噪声效果很好

cpp 复制代码
void cv::medianBlur(
	cv::Mat &imSrc, //输入图像
	cv::Mat &imDst, //输出图像
	int ksize  //中值滤波核的尺寸
	);

(2)双边滤波

双边滤波能够在保持边缘的前提下实现降噪的目的,缺点是效率较慢
基本原理:考虑两个权重因素来组成卷积核

  • 空域权重:两点之间的距离,距离越远权重越低
  • 值域权重:两点之间的像素值相似程度,越相似权重越大。
cpp 复制代码
void cv::bilalteralFilter(
	cv::Mat &imSrc, //输入图像
	cv::Mat &imDst,  //输出图像
	double sigmaColor, //值域的标准差
	double sigmaSpace,  //空间域的标准差
	int borderType = BORDER_DEFAULT
	);
相关推荐
1941s20 分钟前
Google Agent Development Kit (ADK) 指南 第五章:工具集成与自定义
人工智能·python·langchain·agent·adk
智算菩萨23 分钟前
【Generative AI For Autonomous Driving】1 生成式AI重塑自动驾驶的技术浪潮与体系化挑战
论文阅读·人工智能·深度学习·机器学习·ai·自动驾驶
程序员Better25 分钟前
一口气拆穿Skill/MCP/RAG/Agent/OpenClaw底层逻辑
人工智能·开源·agent
智算菩萨37 分钟前
【Generative AI For Autonomous Driving】7 生成式AI驱动自动驾驶的未来图景:开放挑战、社会机遇与技术展望
论文阅读·人工智能·深度学习·机器学习·ai·自动驾驶
_Twink1e42 分钟前
2023-2026年计算机视觉领域期刊整理汇总
人工智能·计算机视觉
AI英德西牛仔1 小时前
deepseek怎么导出文档
人工智能·ai·chatgpt·deepseek·ds随心转
冰西瓜6001 小时前
深度学习的数学原理(十九)—— 视觉Transformer(ViT)实战
人工智能·深度学习·transformer
碳基硅坊1 小时前
Qwen3.5-4B 微调实战:LLaMA-Factory 打造医疗AI助手
人工智能·qwen·模型微调
GISer_Jing1 小时前
从CLI到GUI桌面应用——前端工程化进阶之路
前端·人工智能·aigc·交互
HIT_Weston1 小时前
21、【Agent】【OpenCode】源码构建(项目构建)
人工智能·agent·opencode