2020.11.05 使用OpenCV进行自定义线性滤波 【OpenCV C++ Robert/Sobel/Laplace】
使用OpenCV进行自定义线性滤波/Robert/Sobel/Laplace
源代码:
// testOpencv14.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
const char* inWin = "input window";
const char* outWin = "output window";
Mat src, dst;
int main()
{
// std::cout << "Hello World!\n";
src = imread("E:/imageSources/3.jpg");
if (!src.data) {
printf("cannot load image,please check your code!");
return -1;
}
namedWindow(inWin, WINDOW_AUTOSIZE);
namedWindow(outWin, WINDOW_AUTOSIZE);
imshow(inWin,src);
//===========================robert=====================================//
robert算子 X轴方向
//Mat kernal_robert_X=(Mat_<int>(2,2) << 1,0,0,-1);
robert算子 Y轴方向
//Mat kernal_robert_Y = (Mat_<int>(2, 2) << 0, 1, -1, 0);
//filter2D(src,dst,-1, kernal_robert_X,Point(-1,-1),0.0);
//imshow(outWin,dst);
//filter2D(src, dst, -1, kernal_robert_Y, Point(-1, -1), 0.0);
//imshow("Robert_Y", dst);
//==========================sobel======================================//
Sobel算子 X轴方向
//Mat kernal_sobel_X=(Mat_<int>(3,3) << -1,0,1,-2,0,2,-1,0,1);
Sobel算子 Y轴方向
//Mat kernal_sobel_Y = (Mat_<int>(3, 3) << -1,-2,-1,0,0,0,1,2,1);
//filter2D(src,dst,-1, kernal_sobel_X,Point(-1,-1),0.0);
//imshow(outWin,dst);
//filter2D(src, dst, -1, kernal_sobel_Y, Point(-1, -1), 0.0);
//imshow("Y", dst);
//=======================Laplace Operator===============================//
Laplace算子
//Mat kernal_laplace = (Mat_<int>(3, 3) << 0, -1, 0, -1, 4, -1, 0, -1, 0);
//filter2D(src, dst, -1, kernal_laplace, Point(-1, -1), 0.0);
//imshow(outWin, dst);
//========================自定义模糊算子================================//
int c = 0;
int index = 0;
int kernalSize = 0;
while (true)
{
c = waitKey(500);
if ((char)c == 27) //按下ESC键
{
break;
}
kernalSize = 0 + (index % 5)*2 + 1 ;//一定要保证Kernal的值为单数
Mat kernalCustomalized = Mat::ones(Size(kernalSize, kernalSize), CV_32F) / (float)(kernalSize * kernalSize);
filter2D(src,dst,-1,kernalCustomalized,Point(-1,-1),0.0);
index++;
imshow(outWin, dst);
}
waitKey(0);
return 0;
}
RobertX,Y算子处理结果:
Sobel算子X,Y处理结果:
Laplace算子处理结果:
自定义线性滤波处理效果(动态模糊处理):
(代码运行结果为动态模糊,即模糊程度逐渐加深,没有上传视频截取的图片)
2020.11.05 使用OpenCV进行自定义线性滤波 【OpenCV C++ Robert/Sobel/Laplace】相关推荐
- (十九:2020.11.05)MICCAI 2020 追踪之论文纲要(译)<中>
论文目录 PART III <Computer Aided Intervention, Ultrasound and Image Registration 计算机辅助干预,超声和图像配准> ...
- 2020/11/05随记 基于jini的C++和Java交互
书展翰墨,叹锦绣山河匆匆. 首选用Eclipse创建对应的java工程,编写.java和.class文件 native关键字的使用 凡是一种语言,都希望是纯.比如解决某一个方案都喜欢就单单这个语言来写 ...
- QIIME 2教程. 01简介和安装 Introduction Install(2020.11开始更新)
写在前面 QIIME是微生物组领域最广泛使用的分析流程,10年来引用20000+次,2019年Nature杂志评为近70年来人体菌群研究的25个里程碑事件--里程碑16:生物信息学工具助力菌群测序数据 ...
- QIIME 2教程. 11元数据Metadata(2020.11)
文章目录 QIIME 2用户文档. 11元数据 元数据格式要求 元数据验证 前导和尾随空格字符 注释和空行 标识符列 标识符的建议 元数据列 列类型 数字格式化 高级文件格式详细信息 TSV行话和语法 ...
- QIIME 2教程. 01简介和安装 Introduction Install(2020.11)
文章目录 写在前面 QIIME 2的优势 QIIME 2用户文档(版本:2020.11) 视频:QIIME 2用户文档01.1 简介 入门指南 什么是QIIME 2? 核心概念 数据文件: QIIME ...
- 【不忘初心】Win10_20H2_2009_19042.610_X64_七合一_[纯净精简版][2.83G](2020.11.2)
母版来自MSDN WIN10_20H2.19042.508,集成补到19042.610,20H2相比1909 2004版本要稳定很多,此版修复了上次的一些问题,应微软毒.粉的要求新增一版带Defend ...
- 2020.11.16-11.23 人工智能行业每周技术精华文章汇总
月初的时候,大学好友盘下了一个门面,打算开一个儿童乐园. 不过并不是全职,后期他家里人会帮忙打理. 他也是喜欢折腾的人,这几年我们也一起合作做过很多的项目. 最近也一直在和我讨论,如何做新店的营销方案 ...
- 2020.11.02-11.09 人工智能行业每周技术精华文章汇总
上周11月3号,国家发布了<十四五规划和2035年远景目标的建议>. 不管是从资本市场,还是在民间,都引起了广大的关注. 既然是政策性新闻,那就是国家希望你看的. 或者说,在未来的5年.1 ...
- 2020.11新闻文章回顾
月初统一收租. 如果觉得每天的新闻&原创文章有点帮助,可以微微打赏,让德事君多一点坚持下去的动力! 2020.11新闻&文章 电子支付Joompay要做欧洲的支付宝 软件测试资质认证I ...
最新文章
- 初等数论--同余--MILLER-RABIN素性检测算法
- log4j按天生成且有按照文件大小分割_论文阅读TGM:轨迹生成
- mysql备份一个表到ftp_备份部分mysql表并上传至指定ftp服务器目录中
- What happens when clicking interaction record work center?
- 某些书籍翻译的太屎了,误导人!
- 监控工具之zabbix server3.4 部署配置
- 《架构之美》阅读笔记四
- ShadeGraph教程之节点详解7:Utility Nodes
- 《nftables相比iptables到底改变了什么》-- (作者:blog.csdn.net/dog250)
- [C++] Vector对象的合法定义
- 十六进制高低位转换,返回十进制数
- php微信公众号项目域名,微信公众号里“JS接口域名”实现分享功能
- 【语音处理】基于matlab GUI汉宁窗FIR陷波滤波器语音信号加噪去噪【含Matlab源码 1711期】
- 深入理解uwsgi和gunicorn网络模型
- 这些好用的抠图软件,助你实现一键抠图
- 网口压线顺序_水晶头压线顺序
- 1.3双摇杆遥控器电路部分--基本外设电路(ST-link下载、串口、按键、摇杆、电量检测、LED指示灯、0.96寸OLED、NRF24L01)
- HDOJ 1859 最小长方形
- 如何在win10安装libaio,并且使用CFLAGS和LDFLAGS环境变量指示其位置,并且如何设置DS_BUILD_AIO=0禁用async_io...
- android studio运行时报错AVD Nexus_5X_API_P is already running解决办法
热门文章
- Menu菜单,MenuBar菜单栏,MenuItem菜单项
- 安卓怎么显示一段html代码,【报Bug】点击安卓源生返回键 会导致页面崩溃直接显示HTML代码...
- 手机点餐系统概述_实训答辩安卓点餐系统ppt课件
- next_permutation函数与perv_permutation函数
- octave-移动数据
- Linux支持IDE硬盘,Linux中,IDE硬盘为啥表示成hda,不是iha?
- matlab耀输,基于 Matlab的BP神经网络在太阳耀斑级别预测中的应用
- 《三、企业级SVN运维实战:SVN服务配置https访问》
- 重装系统如何保留正版Win10和Office
- python filter和map的区别_js中filter和map的区别