OpenCV 8 - 模糊处理(均值滤波,高斯滤波,中值滤波,双边滤波)

模糊处理原理:

Blur是图像处理中最简单和常用的操作之一,使用该操作的原因为了给图像预处理时候减低噪声使用,Blur操作其背后是数学的卷积计算,
通常这些卷积算子计算都是线性操作,所以又出线性虑波。

在这里插入图片描述

  • 假设有6x6的图像像素点矩阵。
  • 卷积过程:6x6上面是个3x3的窗口,从左向右,从上向下移动,黄色的每个像个像素点值之和取平均值赋给中心红色像素作为它卷积处理之后新的像素值。每次移动一个像素格。

常用的进行模糊滤波方法:均值滤波高斯滤波

  • 均值滤波: 就是根据周围像素点和当前像素点的平均值计算出当前点的像素值,采用的是算术平均值
  • 高斯滤波:是运用高斯函数(遵循数据正态分布)用邻域内像素的加权平均值去替代模板中心像素点的值
    在这里插入图片描述

1 均值滤波

void blur( InputArray src, OutputArray dst, Size ksize, Point anchor = Point(-1,-1), int borderType = BORDER_DEFAULT );

参数:

src				:输入图片
dst				:输出图片
ksize			:卷积核大小(注意:必须是基数值)
anchor 			:锚点位置,默认值Point(-1,-1)表示锚点位于内核
borderType 		:边框模式用于外推图像外部的像素

代码示例:

	Mat src, dst;
	src = imread("./1.png");
	if (!src.data)	//判断图片是否加载成功!
	{
   
		std::cout << "打开图片失败!" << std::endl;
		return -1;
	}
	dst = Mat::zeros(src.size(), src.type());
	blur(src,dst,Size(7,7),Point(-1,-1));
	imshow("src image", src);
	imshow("dst image", dst);
	
  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江凡心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值