opencv14-自定义线性滤波
卷积作用:提取边缘,图像增强图像锐化,模糊图像
#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<iostream>
#include<math.h>
using namespace std;
using namespace cv;
int main()
{Mat src = imread("E:\\vs2015\\opencvstudy\\1.jpg", 1);if (src.empty()){cout << "could not load the src image!" << endl;return -1;}char *input_title = "input Image";imshow(input_title, src);Mat robertx_image, roberty_image;Mat robert_x = (Mat_<int>(2, 2) << 1, 0, 0, -1);filter2D(src, robertx_image, -1, robert_x, Point(-1, -1), 0.0);imshow("robertx", robertx_image);Mat robert_y = (Mat_<int>(2, 2) << 0, 1, -1, 0);filter2D(src, roberty_image, -1, robert_y, Point(-1, -1), 0.0);imshow("roberty", roberty_image);Mat sobelx_image, sobely_image;Mat sobel_x = (Mat_<int>(3, 3) << -1,0,1,-2,0,2,-1,0,1);filter2D(src, sobelx_image, -1, sobel_x, Point(-1, -1), 0.0);imshow("sobelx", sobelx_image);Mat sobel_y = (Mat_<int>(3, 3) << -1,-2,-1,0,0,0,1,2,1);filter2D(src, sobely_image, -1, sobel_y, Point(-1, -1), 0.0);imshow("sobely", sobely_image);Mat lapulasi_image; //边缘检测算子Mat lapulasi = (Mat_<int>(3, 3) << 0,-1,0,-1,4,-1,0,-1,0);filter2D(src, lapulasi_image, -1, lapulasi, Point(-1, -1), 0.0);imshow("lapulasi", lapulasi_image);//利用filter2D自定义卷积核int c = 0;int index = 0;int ksize = 3;Mat filter_image;while (true){c = waitKey(1000);if ((char)c == 27) //ESC{break;}ksize = (index % 5) * 2 + 1;Mat kernal = Mat::ones(Size(ksize,ksize),CV_32F)/(float)(ksize*ksize);filter2D(src, filter_image, -1, kernal, Point(-1, -1));index++;imshow("filter2D", filter_image);}waitKey(0);return 0;
}
opencv14-自定义线性滤波相关推荐
- 2020.11.05 使用OpenCV进行自定义线性滤波 【OpenCV C++ Robert/Sobel/Laplace】
使用OpenCV进行自定义线性滤波/Robert/Sobel/Laplace 源代码: // testOpencv14.cpp : 此文件包含 "main" 函数.程序执行将在此处 ...
- OpenCV10.自定义线性滤波
卷积概念 卷积是图像处理中的一个操作,是kernel在图像的每一个像素上的操作 kernel本质上是一个固定大小的矩阵数组,其中心点成为锚点(anchor point) 常见算子 Robert算子和S ...
- OpenCV学习之路(附加资料分享)
目录 一.前言 二.学习历程 三.学习资料 书籍 网站 视频教程 四.学习建议 入门 强化 灵通 一.前言 有人问我,学习opencv从哪里学起?有人问我,我学习opencv用到了哪些资料?所以在今天 ...
- OpenCV基础(基于Opencv4.4+VS2019)
OpenCV基础(基于Opencv4.4+VS2019) 1.OpenCV介绍 OpenCV是计算机视觉开源库,主要算法涉及图像处理和机器学习相关方法. 是Intel公司贡献出来的,俄罗斯工程师贡献大 ...
- OpenCV图像处理基础(C++版)
目录 OpenCV环境搭建 加载 修改 保存图像 矩阵的掩膜操作 Mat对象 图像操作 图像混合 调整图像亮度与对比度 绘制形状与文字 模糊图像一 模糊图像二 膨胀与腐蚀 形态学操作 形态学操作应用- ...
- OpenCV图像处理视频教程——入门篇(二)
文章目录 10 膨胀与腐蚀 (1)形态学操作(morphology operators)--膨胀.腐蚀 (2)相关API (3)动态调整结构元素大小TrackBar 11 形态学操作 (1)开操作- ...
- Java OpenCV-4.0.0 图像处理11 自定义图像滤波(降噪) 算子
@[TOC](Java OpenCV-4.0.0 图像处理11 自定义图像滤波(降噪) 算子) Java OpenCV-4.0.0 自定义图像线性滤波(降噪) package com.xu.image ...
- 程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知
程序主动进行电话短信报警,自定义电话.短信.钉钉报警通知 一. 规则说明 这里我们要利用到阿里云的云监控的手段,有一个叫做事件监控的东西,可以通过自定义事件上传来进行监控报警. 流程: 程序发现错误 ...
- 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...
- IDEA自定义快捷指令,快捷生成代码、注释
我们在使用idea时会发现有非常多的代码生成间接指令,比如输出指令.建主函数指令等等,只需要一个回车,代码就出来了,那我们能不能自定义这些东西呢?答案如下: 第一步,添加一个自定义组 第二步,单击新建 ...
最新文章
- 关于分布式多级缓存架构,也许你一直考虑的太简单了
- 走火入魔 | 暑期电子设计课程学生们的作品
- python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频
- C语言考试题及答案(8),2015年计算机二级C语言测试题及答案(8)
- 有机食品海报这样设计,收获了意想不到的效果…
- 微课|玩转Python轻松过二级(3.3节):字典使用要点
- Tomcat服务器上Servlet连接数据库连接不上出现空指针异常的解决方案
- 背包九讲 ----- 01背包问题模版
- PHP设计模式——命令模式
- 快速记下html css,如何快速记住及输入CSS样式属性单词?
- 研发项目管理软件对比调研报告
- python调用v8_Python 安装 V8 引擎 – pyv8
- 草图大师SketchUp2016下载和安装教程
- ms17010利用失败_利用产品管理中的失败
- 【Unity3D开发小游戏】《超级马里奥游戏》Unity开发教程
- java计算税率例子
- android 仿微信聊天气泡显示图片,仿微信聊天气泡 图片尖角 按下变暗
- java启动绑定网卡_ServerSocket 默认邦定IP
- 数学建模PPT(三)
- 运算器和控制器的组成部件及功能
热门文章
- angularjs input标签用一个日期插件后数据不能双向绑定了_微信如何定时发朋友圈?(最方便最好用的办法!)...
- 浅谈python使用多态跟不用多态的区别_python 多态和 super 用法
- vim插件自动补齐_给VIM添加REPL
- python推导式多行书写_python三种推导式的详细介绍及其应用示例,强调字典推导的重要性...
- matlab+信号+mpf,Python和Matlab中平均频率的差异
- java 修改ini文件_Java读取和修改ini配置文件
- 软件测试msf模型,Visual Studio 2010 Ultimate中MSF过程模型的设计
- Altium Designer20原理图库放置引脚报错解决方案
- 计算机展望未来网络形态,在学习中展望未来
- 三轴加速度传感器和六轴惯性传感器_一文读懂汽车MEMS惯性传感器的七大应用(上)...