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

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);
}

结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NB-IoT与LoRa,两马领跑物联网竞赛,谁将最终胜出?

来源&#xff1a;电子工程专辑HS Markit报告指出&#xff0c;曾经广泛开放的LPWAN市场领域开始明显紧缩&#xff0c;不过仍处于初期发展阶段。2018年只有1.5亿个LPWAN链路被布署&#xff0c;到2023年NB-IoT与LoRa可望占据所有LPWAN链路的86%......根据市场研究机构IHS Markit发…

【全文】Libra回应质疑:Facebook将放弃控制权,不与主权货币竞争

Facebook的全球数字货币计划Libra遭到多方抨击质疑之后&#xff0c;将于明日直面国会听证会。目前Facebook能否发行数字货币&#xff0c;悬于监管机构的许可决定&#xff0c;而这也会成为数字货币命运的一个重要转折点。Libra项目的负责人David Marcus提前发布了他的证词。硅星…

Git从零教你入门(4):Git服务之 gogs部署安装

Git从零入门系列4:先看上一篇文章&#xff1a;http://www.51testing.com/index.php?uid-497177-action-viewspace-itemid-3706817今日主题&#xff1a;gogs安装部署环境&#xff1a;centos安装包地址&#xff1a;https://dl.gogs.io/gogs_v0.8.25_linux_amd64.zip部署步骤&…

OpenCV学习笔记(六):非线性滤波-中值、双边:medianBlur(),bilateralFilter()

OpenCV学习笔记&#xff08;六&#xff09;&#xff1a;非线性滤波-中值、双边&#xff1a;medianBlur(),bilateralFilter() 1、中值滤波&#xff08;Median filter&#xff09; 是一种典型的非线性滤波技术&#xff0c;基本思想是用像素点邻域灰度值的中值来代替该像素点的灰…

Batch Normalization原理及pytorch的nn.BatchNorm2d函数

下面通过举个例子来说明Batch Normalization的原理&#xff0c;我们假设在网络中间经过某些卷积操作之后的输出的feature map的尺寸为4322&#xff0c;4为batch的大小&#xff0c;3为channel的数目&#xff0c;22为feature map的长宽 整个BN层的运算过程如下图&#xff1a; 上…

OpenCV学习笔记(八):形态学morpholgy(2):开/闭运算,形态学梯度、顶帽/黑帽morphologyEx()

OpenCV学习笔记&#xff08;八&#xff09;&#xff1a;形态学morpholgy(2)&#xff1a;开、闭运算&#xff0c;形态学梯度、顶帽、黑帽&#xff1a;morphologyEx() 数学形态学&#xff08;Mathematical morphology&#xff09; 是一门建立在格论和拓扑学基础之上的图像分析学…

PPT将图片变为平行四边形形状

点击图片→ 格式→ 旋转→ 其它旋转选项→ 三维旋转

“人工智能之父”艾伦·图灵登上英国50英镑新钞

图源&#xff1a;BBC来源&#xff1a;海外网海外网7月15日电英国广播公司&#xff08;BBC&#xff09;报道&#xff0c;“计算机科学和人工智能之父”艾伦图灵登上英国50英镑新钞。此前有媒体报道称&#xff0c;英格兰银行计划于2020年推出新版50英镑&#xff0c;用更耐磨的聚合…

PPT将立方体形状变为很薄的长方体

方法是选中立方体&#xff0c;调节箭头所示的黄色节点&#xff0c;即可调节立方体的厚度&#xff1a;

OpenCV学习笔记(七):形态学morpholgy(1):腐蚀/膨胀:enrode(),dilate()

OpenCV学习笔记&#xff08;七&#xff09;&#xff1a;形态学(morpholgy)&#xff1a;腐蚀/膨胀&#xff1a;enrode(),dilate() 数学形态学&#xff08;Mathematical morphology&#xff09; 是一门建立在格论和拓扑学基础之上的图像分析学科&#xff0c;是数学形态学图像处理…

【中台】“中台”概念究竟是什么?制造业企业需要拥抱吗?

来源&#xff1a;中国电子报“忽如一夜春风来&#xff0c;千树万树梨花开。” 这首诗形容当前“中台”概念的风靡非常恰当。IT圈里不乏新的概念、新的“网红”&#xff0c;如今&#xff0c;“中台”一词占据了C位&#xff0c;成为软硬件企业尤其是互联网企业在各大演讲中经常挂…

PPT立方体三面同色

我们知道PPT插入的立方体有一面的颜色比其它两面深一点&#xff0c;例如我插入一个立方体&#xff0c;并将其填充为白色&#xff1a; 可以看到有一面并不是白色&#xff0c;而是灰色。但如果我需要的是三面都为白色的立方体呢&#xff1f; 这时可以插入一个平行四边形&#xf…

OpenCV学习笔记(九): 漫水填充:floodFill()

OpenCV学习笔记&#xff08;九&#xff09;&#xff1a; 漫水填充&#xff1a;floodFill() 定义&#xff1a; 漫水填充法是一种用特定的颜色填充联通区域&#xff08;自动选中了和种子点相连的区域&#xff0c;接着将该区域替换成指定的颜色&#xff09;通过设置可连通像素的上…

68页PPT,读懂中、美、德三国智能制造战略!

来源&#xff1a;清华大学深圳研究生院导 读这份来自清华大学深圳研究生院物流与交通学部的研究和报告&#xff0c;分析了工业4.0趋势下德、中、美竞争与合作&#xff0c;共68页&#xff0c;对于ICT领域投资者是难得好文。张亚勤、刘慈欣、周鸿祎、王飞跃、约翰.翰兹联合推荐这…

OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()

OpenCV学习笔记&#xff08;十&#xff09;&#xff1a;图像金字塔Pyramid和图像缩放&#xff1a;pyrDown(),pyrUp(),resize() 一、图像金字塔定义&#xff1a; 图像金字塔是图像中多尺度表达的一种&#xff0c;最主要用于图像的分割&#xff0c;是一种以多分辨率来解释图像的…

量子纠缠和宇宙黑洞

2019年7月&#xff0c;量子纠缠&#xff08;两个光子&#xff09;照片首次公布2019年4月&#xff0c;宇宙黑洞&#xff08;质量为太阳的65亿倍&#xff09;照片首次公布来源&#xff1a;吴志刚科学网博客量子纠缠和宇宙黑洞&#xff0c;一个极小&#xff0c;一个极大&#xff0…

这些重大科技领域问题,听听专家怎么说

来源&#xff1a;科技日报从前不久结束的全英华人教授协会年会上了解到&#xff0c;目前人类面临的许多问题都可以通过扎实的科研创新和精准的技术应用予以解决&#xff1b;新的技术领域的出现&#xff0c;不代表传统技术方法都要丢弃&#xff1b;尽管摆在广大科技从业者面前的…

plt.fill_between用法

plt.fill_between用颜色填充两条曲线之间的区域plt.fill_between(x, y1, y2)&#xff0c;其中x是横坐标&#xff0c;y1和y2是两条曲线&#xff0c;这个函数的作用是用颜色填充y1和y2这两条曲线之间的区域。 该函数最常用的用法是已知均值曲线和标准差&#xff0c;画出标准差覆…

QT+OpenCV综合示例:载入、读取图片

QTOpenCV综合示例&#xff1a;载入、读取图片1、代码&#xff1a;2、运行结果&#xff1a;下载1 GitHub: 下载2 1、代码&#xff1a; 1&#xff09;opencv_imwrite_Q.pro 添加&#xff1a; INCLUDEPATH D:\opencv-3.1.0\opencv\build\includewin32:CONFIG(release, debug|re…

“算法战:DARPA下一代人工智能计划初见成效” 背景分析与初步研判

2018年9月&#xff0c;美国国防高级研究计划局&#xff08;DARPA&#xff09;宣布将出资20亿美元,用于开发新的人工智能技术。近日&#xff0c;DARPA副局长彼得海纳姆在华盛顿接受记者采访时说&#xff0c;DARPA的“下一代人工智能”&#xff08;AI Next&#xff09;计划在实施…