OpenCV学习笔记(五):线性滤波-方框、均值、高斯:boxFilter(),blur(),GaussianBlur()

线性滤波:即多个信号之和的响应和它们各自响应之和相等。
参考:
https://blog.csdn.net/poem_qianmo/article/details/22745559
代码:

#include <opencv2/opencv.hpp>Mat g_srcImage,g_dstImage1,g_dstImage2,g_dstImage3;   //存储图片的Mat类型
int g_nBoxFilterValue=3;                           //方框滤波参数值
int g_nMeanBlurValue=3;                                //均值滤波参数值
int g_nGaussianBlurValue=3;                            //高斯滤波参数值using namespace cv;
using namespace std;int main(int argc, char *argv[])
{// 载入原图g_srcImage = imread( "F:/C++/2. OPENCV 3.1.0/TEST/1.jpg", 1 );if( !g_srcImage.data ){ printf("Oh,no,读取srcImage错误~! \n"); return false; }//克隆原图到三个Mat类型中g_dstImage1 = g_srcImage.clone( );g_dstImage2 = g_srcImage.clone( );g_dstImage3 = g_srcImage.clone( );g_dstImage4 = g_srcImage.clone( );g_dstImage5 = g_srcImage.clone( );//显示原图imshow("【<0>原图窗口】",g_srcImage);// 1、方框滤波namedWindow("【<1>方框滤波】", 1);createTrackbar("内核值:", "【<1>方框滤波】", &g_nBoxFilterValue, 40, on_BoxFilter);on_BoxFilter(g_nBoxFilterValue,0);// 2、均值滤波namedWindow("【<2>均值滤波】", 1);createTrackbar("内核值:", "【<2>均值滤波】",&g_nMeanBlurValue, 40,on_MeanBlur );on_MeanBlur(g_nMeanBlurValue,0);// 3、高斯滤波namedWindow("【<3>高斯滤波】", 1);createTrackbar("内核值:", "【<3>高斯滤波】",&g_nGaussianBlurValue, 40,on_GaussianBlur );on_GaussianBlur(g_nGaussianBlurValue,0);//输出一些帮助信息cout<<endl<<"\t运行成功,请调整滚动条观察图像效果~\n\n"<<"\t按下“q”键时,程序退出。\n";//按下“q”键时,程序退出while(char(waitKey(1)) != 'q') {}return 0
}
//   1、方框滤波操作的回调函数
static void on_BoxFilter(int, void *)
{//方框滤波操作(未归一化)boxFilter( g_srcImage, g_dstImage1, -1,Size( g_nBoxFilterValue+1, g_nBoxFilterValue+1),Point(-1,-1),false);//显示窗口imshow("【<1>方框滤波】", g_dstImage1);
}// 2、均值滤波操作的回调函数
static void on_MeanBlur(int, void *)
{//均值滤波操作blur( g_srcImage, g_dstImage2, Size( g_nMeanBlurValue+1, g_nMeanBlurValue+1), Point(-1,-1));//显示窗口imshow("【<2>均值滤波】", g_dstImage2);
}// 3、高斯滤波操作的回调函数
static void on_GaussianBlur(int, void *)
{//高斯滤波操作GaussianBlur( g_srcImage, g_dstImage3, Size( g_nGaussianBlurValue*2+1, g_nGaussianBlurValue*2+1 ), 0, 0);//显示窗口imshow("【<3>高斯滤波】", g_dstImage3);
}

结果:



OpenCV学习笔记(五):线性滤波-方框、均值、高斯:boxFilter(),blur(),GaussianBlur()相关推荐

  1. opencv学习笔记五--文件扫描+OCR文字识别

    opencv学习笔记五--文件扫描+OCR文字识别 文件扫描 定义函数 边缘检测 获取轮廓 变换 OCR文字识别 环境配置 代码 文件扫描 # 导入工具包 import numpy as np imp ...

  2. opencv 学习笔记五 二维离散卷积

    卷积的用途: 卷积主要用于降噪处理,是降噪处理的一种方式: 二维离散卷积包含高斯滤波,平滑滤波,中值滤波,以及能保证图像边缘的双边滤波和导向滤波算法等: 一.了解噪声的来源以及噪声的分类: 图像中难免 ...

  3. OpenCV学习笔记五-图像混合

    将两张图片混合 P6 图像混合 #include<iostream> #include<opencv2/opencv.hpp>using namespace std; usin ...

  4. opencv学习笔记五十三:训练自己的级联分类器

    训练工作主要分为如下几步: 加载训练环境 制作训练数据集 获取样本路径列表 生成正样本描述文件(.vec) 训练人脸分类器 使用分类器进行人脸检测 加载训练环境  训练过程主要依靠OpenCV自带的两 ...

  5. opencv学习笔记五十八:grabCut抠图

    基本步骤: 基于交互式界面由用户选择前景区域: 定义一个单通道的输出掩码,0为背景,1为前景,2为可能的背景,3为可能的前景: grabCut抠图:将输出结果与可能的前景作比较得到可能的前景: 定义三 ...

  6. OpenCV学习笔记五:直方图

    图像由不同颜色值的像素组成,像素值在图像中的分布情况是图像的一个重要特征. 一.计算图像的直方图 直方图是一个简单的表,它给出了图像中各个像素值的数目(归一化后则为相应的比例),在OpenCV中可以使 ...

  7. opencv学习笔记五:cv2.warpAffine()函数详解

    cv2.warpAffine()函数主要是利用变换矩阵M对图像进行如旋转.仿射.平移等变换,只需要我们提供一个2*3的变换矩阵M,就可以对图像进行变换.它一般是和cv2.getRotationMatr ...

  8. 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...

    1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...

  9. opencv学习笔记11:图像滤波(均值,方框,高斯,中值)

    为什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作.信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没.因此一个能降低高频成分幅度的滤波 ...

最新文章

  1. 【培训】 项目实训中遇到的问题 总结 跟解决方法
  2. 手把手玩转win8开发系列课程(18)
  3. javascript---》arguments对象
  4. Lighting System Design UVA 11400 (dp+思维)
  5. Z-Blog 扩展数据库 字段 二次开发
  6. 域控 只能访问特定网址_开发人员需要了解的特定于域的语言
  7. Vmware10组建局域网
  8. Ubuntu安装:解决Unable to locate package *** 问题
  9. 最经典25本Python编程开发电子书精粹
  10. 海康流媒体服务器客户端网页打不开,海康dvr流媒体服务器+客户端
  11. 良心高效,3款超级好用的PC端软件,让你找不到拒绝的理由
  12. 针对宝塔面板一个站点多个域名使用SSL证书的解决方案
  13. qemu指定CPU型号
  14. python求15 17 23 65 97的因数_python练习题-答案
  15. 北森2020未来人才管理论坛:HR变革驱动中国企业转型
  16. 2017物联网蓬勃发展,看各领域巨头如何抢先机占山头
  17. 昵图网显示内部服务器错误,为什么博客老是显示网页错误?无法正常打开
  18. linux交叉编译 windows,从Windows到Linux的C ++交叉编译器
  19. html制作打字游戏,js实现打字小游戏
  20. 双显卡只用独显好吗_显卡有什么作用 独显和双显卡笔记本哪个好【详解】

热门文章

  1. 论文阅读笔记(三)【ACL 2021】Locate and Label: A Two-stage Identifier for Nested Named Entity
  2. 深度推荐系统2019年度阅读收藏清单
  3. 论文浅尝 | 引入“引用”的语言模型
  4. 论文浅尝 | 主题感知的问答生成
  5. Docx:docx.opc.exceptions.PackageNotFoundError: Package not found at
  6. Android中使用官方提供好的功能使用说明(比如系统图库获取),也作为延生学习的学习文档
  7. TypeError: 'NoneType' object is not subscriptable
  8. Python:Tensorflow中两个稀疏张量相乘
  9. 导航栏下拉至一定高度后固定在顶部的特效
  10. Apache网站服务