【OpenCV C++ 线性滤波基础】

OpenCV C++
线性滤波复习和总结
文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

图像处理中,图像滤波是去除图像中不感兴趣的噪声,从而更好的去关注想要的图像内容。

去除图像的噪声也叫平滑或去噪。

当然图像处理不仅有平滑,还有锐化。本文主要专注平滑中的线性滤波。锐化会下次讨论


一、线性滤波?

首先我们解释一下何为滤波。

”滤波是指通过、修改或抑制图像的规定频率分量”。简单来讲就是想办法制定一个规则来修改原有的图像分布频率。重点指这个过程的方法。

何为线性滤波:这个方法的运算规则是线性的,那就是线性滤波。全称”线性空间滤波器”。

线性空间滤波器在图像中f和滤波核w之间执行乘积之和的操作。核是一个数据阵列,大小定义了运算的领域,核中的系数决定了该滤波器的性质。核也常称为模板或窗口。

讲到这里我们提醒一下:线性滤波类似于图像卷积。图像卷积就是把滤波的时候将窗体旋转180度再进行运算。当然,卷积才是空间滤波的基础。本文讨论线性滤波的应用,就不再解释卷积。

那线性滤波分为几种?
均值(平滑或者低通)、方框(盒式)、高斯低通。

Opencv提供了对应的函数来实现三种滤波。
分别式blur()、boxFilter()、GaussianBlur();

下面我们来对比一下三种滤波的效果。

二、使用步骤

1.引入库

代码如下(示例):

#include<opencv2\opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

2.读入数据

代码如下(示例):

//均值滤波
void QuickDemo::myBlur(Mat &image)
{
	Mat result_img;
	blur(image, result_img, Size(3, 3));
	namedWindow("原图",WINDOW_NORMAL);
	namedWindow("模糊后",WINDOW_NORMAL);

	imshow("原图",image);
	imshow("模糊后",result_img);

	waitKey(0);
}


//盒式滤波
void QuickDemo::myboxFilter(Mat &image) 
{
	Mat result_img;
	boxFilter(image,result_img,-1,Size(3,3),Point(-1,-1),true);
	//sqrBoxFilter(image, result_img, -1, Size(3, 3), Point(-1, -1), true,BORDER_CONSTANT);

	namedWindow("原图",WINDOW_NORMAL);
	imshow("原图",image);

	namedWindow("方框滤波后",WINDOW_NORMAL);
	imshow("方框滤波后",result_img);

}

// 高斯滤波
void QuickDemo::myGaussianBlur(Mat &image) 
{
	Mat result_image;
	GaussianBlur(image,result_image,Size(9,9),10,20);

	namedWindow("原图",WINDOW_NORMAL);
	imshow("原图",image);

	namedWindow("处理后的图",WINDOW_NORMAL);
	imshow("处理后的图",result_image);
	waitKey(0);
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/00311d9d15b94741b95dd5a784ba3278.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVE9QLeeKgOeJmw==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7cd3a47317c84adc8656718c9a40283e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVE9QLeeKgOeJmw==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)



---

# 总结
提示:线性滤波问题欢迎讨论

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值