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发…

pytorch实现数据增强的原理

pytorch的数据增强功能并非是事先对整个数据集进行数据增强处理&#xff0c;而是在从dataloader中获取训练数据的时候(获取每个epoch的时候)才进行数据增强。 举个例子&#xff0c;如下面的数据增强代码&#xff1a; transform_train transforms.Compose([transforms.Random…

【全文】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; 上…

JSP简单练习-获取表单数据

在JSP中&#xff0c;server端程序与client交互最经常使用的方法就是採用表单提交数据。表单提交的方法主要有两种&#xff0c;一种是get方法。还有一种是post方法。两者最大的差别&#xff1a;使用get方法提交的数据会显示在浏览器的地址栏中&#xff0c;而post方法则不会显示&…

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;

老李谈HTTP1.1的长连接

老李谈HTTP1.1的长连接 poptest是国内唯一一家培养测试开发工程师的培训机构&#xff0c;以学员能胜任自动化测试&#xff0c;性能测试&#xff0c;测试工具开发等工作为目标。如果对课程感兴趣&#xff0c;请大家咨询qq&#xff1a;908821478&#xff0c;咨询电话010-84505200…

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领域投资者是难得好文。张亚勤、刘慈欣、周鸿祎、王飞跃、约翰.翰兹联合推荐这…

事件处理

⼀、事件的基本概念事件 是当⽤户⼿指触击屏幕及在屏幕上移动时&#xff0c;系统不断 发送给应⽤程序的 对象。系统将事件按照特定的路径传递给可以对其进⾏处理的对 象。在iOS中&#xff0c;⼀个UITouch对象表⽰⼀个触摸&#xff0c;⼀个UIEvent 对象表⽰⼀个事件。事件对象…

pytorch查看打印网络参数总个数

print("Total number of paramerters in networks is {} ".format(sum(x.numel() for x in net.parameters())))其中net是代码中的网络模型

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

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