opencv线性滤波(滤波与模糊的区别)
滤波与模糊的区别:
滤波与模糊是很容易混淆的概念:图像滤波是在保留图像细节特征的情况下尽可能对目标的噪声进行抑制,而模糊本质就是滤波。
大家都知道图像的细节保存在高频区域,图像的轮廓保存在低频区域;对于高斯滤波器而言,当使用高斯低通滤波器时,图像细节被滤除,只保留图像轮廓,这就是模糊;当使用高斯高通滤波器时,图像轮廓被滤除,只保留图像细节,这就是锐化。
图像线性滤波的综合实例
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<vector>
#include<time.h>
#include<opencv2/core/core.hpp>
#include <iostream>
using namespace cv;
using namespace std;
//--------------------------------------【main( )函数】-----------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始执行
//-------------------------------------------------------------------------------------------------
Mat src = imread("D:\\VC\\c++\\opencv源码\\opencv源码\\12.bmp");
Mat dst1, dst2, dst3;int boxfilter = 3;//方框滤波参数值
int meanfilter = 3;//均值滤波参数值
int gaussfilter = 3;//高斯滤波参数值//方框滤波回调函数
void on_box(int, void*)
{boxFilter(src, dst1,-1,Size(boxfilter+1, boxfilter+1));imshow("方框滤波图", dst1);
}//均值滤波回调函数
void on_mean(int, void*)
{blur(src, dst2, Size(meanfilter + 1,meanfilter + 1),Point(-1,-1));imshow("均值滤波图", dst2);
}//高斯滤波回调函数
void on_gauss(int, void*)
{blur(src, dst3, Size(gaussfilter + 1, gaussfilter + 1));imshow("高斯滤波图", dst3);
}int main()
{double time0 = static_cast<double>(getTickCount());//记录起始时间namedWindow("原图", WINDOW_FREERATIO);imshow("原图", src);//方框滤波namedWindow("方框滤波图", WINDOW_FREERATIO);createTrackbar("内核值", "方框滤波图", &boxfilter, 20, on_box);on_box(boxfilter, 0);//均值滤波namedWindow("均值滤波图", WINDOW_FREERATIO);createTrackbar("内核值", "均值滤波图", &meanfilter, 20, on_mean);on_mean(meanfilter, 0);//高斯滤波namedWindow("高斯滤波图", WINDOW_FREERATIO);createTrackbar("内核值", "高斯滤波图", &gaussfilter, 20, on_gauss);on_gauss(gaussfilter, 0);time0 = ((double)getTickCount() - time0) / getTickFrequency();cout << "此方法运行时间:" << time0 << "秒" << endl;//输出运行时间waitKey(0);return 0;
}
opencv线性滤波(滤波与模糊的区别)相关推荐
- 使用Python,OpenCV进行平滑和模糊
使用Python,OpenCV进行平滑和模糊 1. 效果图 2. 原理 2.1 依赖库及安装 2.2 简单平均模糊 2.3 高斯模糊 2.4 中值模糊 2.5 双边滤波 3. 源代码 参考 这篇博客将 ...
- OpenCV的滤波与卷积
目录 预备知识 滤波.核和卷积 边界外推和边界处理 阈值化操作 Otsu算法 自适应阈值 平滑 简单模糊和方框型滤波器 中值滤波器 高斯滤波器 双边滤波器 导数和梯度 索贝尔导数 Scharr滤波器 ...
- ps中常用模糊的区别
ps中几种常用模糊的区别 径向模糊 旋转:产生一种天旋地转的模糊感,像车轮般旋转,可以用来表达一种晕眩的效果,模糊主要由中心向外发散. 缩放:产生一种爆炸般的效果,利于用来突出图中的一点或一处细节,模 ...
- opencv均值滤波,方盒滤波,cv2.boxFilter,cv2blur
均值滤波 opencv使用均值滤波是通过cv2.blur来实现的,原理十分简单,就是根据周围取平均值 下面对方法进行介绍 def blur(src, ksize, dst=None, anchor=N ...
- 计算机视觉开源库OpenCV之平滑、模糊和滤波
平均模糊:过度模糊图像并忽略重要的边缘 blurred = cv2.blur(image, (kX, kY)) 参数1:模糊对象 参数2:矩阵大小 高斯模糊:保留更多的图像边缘 blurred = c ...
- open cv均值 中值 高斯 双边高斯 滤波及模糊
/* 模糊与消噪 模糊原理(线性滤波) ●Smooth/Blur 是图像处理中最简单和常用的操作之一 ●使用该操作的原因之一-就为了给图像预处理时候减低噪声 ●使用Smooth/Blur操作其背后是数 ...
- opencv图像滤波
1.介绍 OpenCV图像处理技术中比较热门的图像滤波操作主要被分为了两大类:线性邻域滤波和非线性滤波.线性邻域滤波常见的有"方框滤波","均值滤波"和&quo ...
- opencv均值滤波_python+opencv图像处理(二十)
领域平均滤波的方法是经常用来进行图像增强的方法.空域滤波指的是利用像素及像素邻域组成的空间进行滤波的方法.空域滤波主要是借助模板运算来进行的.模板运算中用得最多的是模板卷积,其主要步骤如下:1) 将模 ...
- 【python】opencv双边滤波
对于磨皮这种复杂的图像处理,用scipy这种科学计算包显然会比较复杂,故而使用神器opencv pip install opencv-python 磨皮的本质就是将表面变得模糊,然而直接使用模糊会让轮 ...
最新文章
- OpenCV 【十九】图像金字塔/基本的阈值操作/实现自己的线性滤波器
- 碰到故障大全---cd
- 访问其他程序中的数据(ContentResolver的CRUD操作)
- 数据库流行度8月排行榜:Oracle 飙升 和 PostgreSQL 绝尘领跑第二梯队
- 击溃音乐服务器第一人!周杰伦新歌首发,QQ音乐服务器一度崩溃
- 开源的 DNS 转发软件 Dnsmasq 被曝7个漏洞,可劫持数百万台设备
- 160508Junit使用
- 51Nod-2148 字符出现位置【水题】
- 贪吃蛇c语言代码vc,纯C语言实现贪吃蛇游戏(VC6.0)
- J2EE学习篇之--Struts1详解
- 因子分析的实用介绍:探索性因子分析
- instead of触发器
- 网页版MSDOS的实现网站
- 李开复:如何设计你的年度计划
- GC问题排查实战三-Parallel Scavenge和Parallel Old日志分析
- Python小游戏——王校长的S8冠军奖杯【下】
- 蒙特卡罗MCNP学习汇总(三)----源项基础(数据卡\源卡编写)
- gitlab 完整部署实例
- WebService SOAP XML 与 REST JSON 架构的比较
- 新版 Win 10 来了。网友:要被丑哭了……