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

【OpenCV C++ 线性滤波基础】,第1张

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

文章目录
  • 前言

  • 一、线性滤波?


  • 二、使用步骤

    • 1.引入库
    • 2.读入数据


前言

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


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


当然图像处理不仅有平滑,还有锐化。


本文主要专注平滑中的线性滤波。


锐化会下次讨论



一、线性滤波?

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


”滤波是指通过、修改或抑制图像的规定频率分量”。


简单来讲就是想办法制定一个规则来修改原有的图像分布频率。


重点指这个过程的方法。


何为线性滤波:这个方法的运算规则是线性的,那就是线性滤波。


全称”线性空间滤波器”。


线性空间滤波器在图像中f和滤波核w之间执行乘积之和的 *** 作。


核是一个数据阵列,大小定义了运算的领域,核中的系数决定了该滤波器的性质。


核也常称为模板或窗口。


讲到这里我们提醒一下:线性滤波类似于图像卷积。


图像卷积就是把滤波的时候将窗体旋转180度再进行运算。


当然,卷积才是空间滤波的基础。


本文讨论线性滤波的应用,就不再解释卷积。


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


Opencv提供了对应的函数来实现三种滤波。



分别式blur()、boxFilter()、GaussianBlur();

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



二、使用步骤 1.引入库

代码如下(示例):

#include
#include

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)



---

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/563045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)

保存