opencv学习笔记(五)
线性滤波
- 方框滤波——boxblur函数
- 均值滤波(邻域平均滤波)——blur函数
- 高斯滤波——GaussianBlur函数
- 中值滤波——medianBlur函数
- 双边滤波——bilateralFilter函数
关于滤波和模糊-----滤波可分低通滤波和高通滤波两种。而高斯滤波是指用高斯函数作为滤波函数的滤波操作,至于是不是模糊,要看是高斯低通还是高斯高通,低通就是模糊,高通就是锐化。
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。
//载入原图
Mat image = imread("e://4.jpg");
//创建窗口
namedWindow("高斯滤波【原图】");
namedWindow("高斯滤波【效果图】");
//显示原图
imshow("高斯滤波【原图】", image);
//进行高斯滤波操作,其他方式类似
Mat out;
GaussianBlur(image, out, Size(5, 5), 0, 0);
//显示效果图
imshow("高斯滤波【效果图】", out);
waitKey(0);
非线性滤波
中值滤波——medianBlur函数
void medianBlur(InputArray src,OutputArray dst, int ksize)
int类型的ksize,孔径的线性尺寸(aperture linear size),注意这个参数必须是大于1的奇数,比如:3,5,7,9 ...
双边滤波——bilateralFilter函数
void bilateralFilter(InputArray src, OutputArraydst, int d, double sigmaColor, double sigmaSpace, int borderType=BORDER_DEFAULT)
开运算:先腐蚀后膨胀的过程---可以用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积
闭运算:先膨胀后腐蚀的过程---能够排除小型黑洞(黑色区域)
形态学梯度:膨胀图与腐蚀图之差---可以用形态学梯度来保留物体的边缘轮廓
顶帽运算:为原图像与“开运算“的结果图之差---当一幅图像具有大幅的背景的时候,而微小物品比较有规律的情况下,可以使用顶帽运算进行背景提取
黑帽运算为:”闭运算“的结果图与原图像之差---用来分离比邻近点暗一些的斑块
morphologyEx函数
void morphologyEx(InputArray src,OutputArray dst,int op,InputArraykernel,Pointanchor=Point(-1,-1),intiterations=1,intborderType=BORDER_CONSTANT,constScalar& borderValue=morphologyDefaultBorderValue());
op类型:
- MORPH_OPEN – 开运算(Opening operation)
- MORPH_CLOSE – 闭运算(Closing operation)
- MORPH_GRADIENT -形态学梯度(Morphological gradient)
- MORPH_TOPHAT - “顶帽”(“Top hat”)
- MORPH_BLACKHAT - “黑帽”(“Black hat“)
opencv学习笔记(五)的更多相关文章
- 【opencv学习笔记五】一个简单程序:图像读取与显示
今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...
- OpenCV学习笔记五:opencv_legacy模块
opencv_legacy,顾名思义,该模块是用于兼容以前的opencv代码而设立的. 如果你希望用最新的opencv代码和特性,请勿使用该模块.
- opencv学习笔记(五)----图像的形态学操作
图像的形态学操作有基本的腐蚀和膨胀操作和其余扩展形态学变换操作(高级操作)-----开运算,闭运算,礼帽(顶帽)操作,黑帽操作...(主要也是为了去噪声,改善图像) 形态学操作都是用于处理二值图像(其 ...
- opencv学习笔记(五)镜像对称
opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
- OpenCV 学习笔记 07 目标检测与识别
目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...
- 【opencv学习笔记八】创建TrackBar轨迹条
createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...
- opencv学习笔记D01
目录 opencv学习笔记D01 一.图片读取 二.图片保存 三.图片展示 四.图片缩放 五.四种常用插值方式的比较 1.最近邻插值 2.双线性插值 3.区域插值 4.三次样条插值 我是尾巴: ope ...
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
随机推荐
- CSS中background属性详解
CSS背景属性 background css 说明 background-image:url(图片的网址); 背景图 background: url( 图片的网址 ); 背景 background-c ...
- python3 day01 大纲
1. 简介python 龟叔 89年 人工智能 2. 特点 优点: 简单, 明确, 优雅,跨平台 缺点: 慢 解释型编程语言 分类: 解释型: 一行一行的把代码进行翻译. 执行效率比较低 优势: 跨平 ...
- Linux企业运维人员最常用150个命令汇总 [转]
近来发现新手学习Linux记不住命令,不会分类.不会筛选重点,胡子眉毛一把抓当然记不住了. 特别整理Linux运维最常用150个命令和大家分享,大家学习命令不用在盲目了,根据分类,然后逐步学习! 命令 ...
- Jmeter之mysql性能测试
Jmeter官网地址:https://jmeter.apache.org/ 作为开发人员,必要的性能测试还是需要掌握的,虽然配置druid可以比较直观获得sql的执行时间,那些表被访问的比较多等等,但 ...
- Django rest framework集成微博第三方登录
Django restframework 集成第三方登录(微博.微信.QQ等) 友情链接 python-social-auth-app官方文档 微博开放者平台 QQ开放者平台 准备工作 1.注册微博开 ...
- 深入浅出的webpack4构建工具---webpack+vue+router 按需加载页面(十五)
1. 为什么需要按需加载? 对于vue单页应用来讲,我们常见的做法把页面上所有的代码都打包到一个bundle.js文件内,但是随着项目越来越大,文件越来越多的情况下,那么bundle.js文件也会越来 ...
- stm32 中断号和中断处理函数建立关系
转载:https://www.cnblogs.com/heny-hui/p/7130620.html stm32的中断号根据不同内核和型号,st公司给的官方库中对相应的中断号进行了设置,我们用到哪一个 ...
- Luogu P2700 逐个击破
qwq 同关押罪犯 对于这种希望几个对象分开的题目,只要把并查集反过来想就可以了. 既然要求删除的边权最小,那么只要反过来求给定的点不连通时保留的边权最大即为正解. 同样的,首先将边权排序,不会使敌人 ...
- 动手动脑(lesson 4)
一. 解答: 二. 解答: 三. 实现方法代码示例: 四. 原理:连续调用特点是返回值类型为同一个类型,且与等号左边的类型一致,这样就可以连续调用了. 代码: public class MyCount ...
- thymeleaf给bootstrap自定义变量赋值
最近在做一件事情,前端用的是thymeleaf进行渲染,thymeleaf是通过 th的标签来赋值对应的后端变量的.但是遇到一个尴尬的问题,bootstrap是可以通过data-xxx,来自定义变量的 ...