一、图像滤波简介

二、方框滤波——boxFilter()

 #include<opencv2/opencv.hpp>
using namespace cv; void main(){
Mat src=imread("E://1.jpg");
Mat dst;
//方框滤波器,-1代表原图像深度,size内核大小,true按权重相加(此时等于均值滤波),false按原像素相加(所以很多像素点都大于了255,如上图所示)
boxFilter(src,dst,-,Size(,),Point(-,-),true);
imshow("src",src);
imshow("dst",dst);
waitKey();
}

三、均值滤波——blur()

四、高斯滤波——GaussianBlur()

以上是线性滤波(方框,均值,高斯)


以下是非线性滤波(中值,双边)

五、中值滤波——medianBlur(有效去除脉冲噪声和椒盐噪声)

六、双边滤波——bilateralFilter()

 #include<opencv2/opencv.hpp>
using namespace cv; void main(){
Mat src=imread("E://1.jpg");
Mat dst; //boxFilter(src,dst,-1,Size(3,3),Point(-1,-1),true);//方框滤波器
//blur(src,dst,Size(5,5));//均值滤波
//GaussianBlur(src,dst,Size(5,5),1);//高斯滤波
//medianBlur(src,dst,5);//中值滤波
bilateralFilter(src,dst,,10.0,2.0);//双边滤波 imshow("src",src);
imshow("dst",dst);
waitKey();
}

七、滑动条调整内核大小

 #include<opencv2/opencv.hpp>
using namespace cv;
Mat dst;
int value=; void onChange(int,void* param){
Mat src=*(Mat *)param;
if(value%==){
medianBlur(src,dst,value-);//中值滤波的第三个参数为奇数
}
else
{
medianBlur(src,dst,value);
}
imshow("windows",dst);
} void main(){
Mat src=imread("E://1.jpg");
namedWindow("windows",CV_WINDOW_AUTOSIZE);
createTrackbar("滑动条","windows",&value,,onChange,&src);//最后一个参数若设置为0,移动滑动条时会报错
medianBlur(src,dst,);
imshow("windows",dst);
waitKey();
}

opencv学习之路(12)、图像滤波的更多相关文章

  1. OpenCV成长之路:图像滤波

    http://ronny.blog.51cto.com/8801997/1394138 OpenCV成长之路:图像滤波 2014-04-11 14:28:44 标签:opencv 边缘检测 sobel ...

  2. OpenCV成长之路:图像直方图的应用

    OpenCV成长之路:图像直方图的应用 2014-04-11 13:57:03 标签:opencv 图像 直方图 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否 ...

  3. 【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  4. opencv第三课,图像滤波

    1.介绍 OpenCV图像处理技术中比较热门的图像滤波操作主要被分为了两大类:线性邻域滤波和非线性滤波.线性邻域滤波常见的有“方框滤波“,”均值滤波“和”高斯滤波“三种,二常见的非线性滤波主要是中值滤 ...

  5. opencv学习之路【四】——opencv文件结构介绍

    这里要感谢这篇博主的文章 部分内容转载自此 opencv在2.3版本之前 都是用的c语言实现的 而在2.3以后的版本 做了很多重大的改变 其中最主要的是用c++重写大部分结构 然后文件的结构和2.0之 ...

  6. opencv学习之路(30)、分水岭算法及图像修补

    一.简介 二.分水岭算法 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat srcImg = ...

  7. opencv学习之路(13)、图像阈值化threshold

    一.图像阈值化简介 二.固定阈值 三.自适应阈值 #include<opencv2/opencv.hpp> using namespace cv; void main(){ Mat src ...

  8. opencv学习之路(11)、图像几何变换

    一.图像缩放 #include<opencv2/opencv.hpp> using namespace cv; void main(){ Mat src=imread("E:// ...

  9. opencv学习之路(8)、基本图像运算——加减与或

    一.图像加法 #include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespa ...

随机推荐

  1. Cocos Creator 键盘监听事件

    键盘事件键盘.设备重力传感器此类全局事件是通过函数 cc.systemEvent.on(type, callback, target) 注册的.cc.SystemEvent.EventType.KEY ...

  2. hdu4787 AC自动机加分块

    这题说的是 有n次操作 +w 表示读入一个字符串,?p 询问这个字符串的子串在那些模板串中有多少个, http://blog.csdn.net/qq574857122/article/details/ ...

  3. [C#]Socket通信BeginReceive异步接收数据何时回调Callback

    原文地址:http://www.cnblogs.com/wangtonghui/p/3277303.html 最近在做服务器压力测试程序. 接触了一段时间Socket异步通讯,发现自己对BeginRe ...

  4. rest-framework 序列化格式Restful API设计规范

    理解RESTful架构 Restful API设计指南 理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式 ...

  5. 微信小程序项目

    大体思想 微信小程序,没有DOM和BOM概念,所以,不会涉及到操作节点.它的主要思想是操作数据,然后改变视图层,即MVVM,如果知道angularJS,能很快的理解上手小程序.   一些开发小程序时, ...

  6. Runtime单例模式类 -- 控制电脑关机

    package demo1; import java.io.IOException; public class RunTimeDemo { public static void main(String ...

  7. GUI界面相应事件

    function varargout = GUI19(varargin) % GUI19 MATLAB code for GUI19.fig % GUI19, by itself, creates a ...

  8. Django框架----命名空间模式

    命名空间模式 即使不同的APP使用相同的URL名称,URL的命名空间模式也可以让你唯一反转命名的URL. 举个例子: project中的urls.py from django.conf.urls im ...

  9. zabbix agent配置详解(windows)

    客户端操作  标注:监控zabbix_agentd客户端安装对象是win server 2008操作系统 64位. 1.  下载zabbix_agentd监控客户端软件安装包(windows操作系统客 ...

  10. 分页的模块layui

    //调用分页模块 var laypage = layui.laypage; //分页的配置项 laypage.render({ elem:"page",//(指向存放分页的容器,值 ...