GaussianBlur函数:

函数作用:对图像进行高斯滤波,去除噪声,图像预处理一般都用

调用形式:

void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT )

InputArray src:输入的图像

OutputArray dst:输出图像

Size ksize:高斯卷积核的大小,是奇数

double sigmaX, double sigmaY=0, :表示x和y方向的方差,如果y=0则y方向的方差与x相等

int borderType=BORDER_DEFAULT :边界的处理方式,一般默认

opencv 代码:

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"using namespace std;
using namespace cv;/// 全局变量
int DELAY_CAPTION = 1500;
int DELAY_BLUR = 100;
int MAX_KERNEL_LENGTH = 31;Mat src; Mat dst;
char window_name[] = "Filter Demo 1";/// 函数申明
int display_caption( char* caption );
int display_dst( int delay );/***  main 函数*/int main( int argc, char** argv ){namedWindow( window_name, CV_WINDOW_AUTOSIZE );/// 载入原图像src = imread( "../images/lena.jpg", 1 );if( display_caption( "Original Image" ) != 0 ) { return 0; }dst = src.clone();if( display_dst( DELAY_CAPTION ) != 0 ) { return 0; }/// 使用 均值平滑if( display_caption( "Homogeneous Blur" ) != 0 ) { return 0; }for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 ){ blur( src, dst, Size( i, i ), Point(-1,-1) );if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }/// 使用高斯平滑if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; }for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 ){ GaussianBlur( src, dst, Size( i, i ), 0, 0 );if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }/// 使用中值平滑if( display_caption( "Median Blur" ) != 0 ) { return 0; }for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 ){ medianBlur ( src, dst, i );if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }/// 使用双边平滑if( display_caption( "Bilateral Blur" ) != 0 ) { return 0; }for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 ){ bilateralFilter ( src, dst, i, i*2, i/2 );if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }/// 等待用户输入display_caption( "End: Press a key!" );waitKey(0);return 0;}int display_caption( char* caption ){dst = Mat::zeros( src.size(), src.type() );putText( dst, caption,Point( src.cols/4, src.rows/2),CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 255) );imshow( window_name, dst );int c = waitKey( DELAY_CAPTION );if( c >= 0 ) { return -1; }return 0;}int display_dst( int delay ){imshow( window_name, dst );int c = waitKey ( delay );if( c >= 0 ) { return -1; }return 0;}

GaussianBlur函数相关推荐

  1. OpenCV每日函数 图像过滤模块 (8) GaussianBlur高斯模糊函数

    一.概述 使用高斯滤镜模糊图像.该函数将源图像与指定的高斯核进行卷积. 在图像处理中,高斯模糊(也称为高斯平滑)是通过高斯函数(以数学家和科学家卡尔弗里德里希高斯命名)对图像进行模糊处理的结果. 它是 ...

  2. OpenCV4一部分函数目录

    OpenCV4函数+基本功能说明 引言 一.基础函数使用 Imread函数--读取图片 namedWindow函数--创建自定名窗口 imshow函数--将自定名的窗口展示 destroyWindow ...

  3. opencv滤波函数简介

    滤波器的种类有很多, 在新版本的OpenCV中,提供了如下五种常用的图像平滑处理操作方法,且他们分别被封装在单独的函数中,使用起来非常方便: ·        方框滤波--boxblur函数 ·    ...

  4. opencv blur函数——均值滤波

    本文参考网址: OpenCV成长之路(7):图像滤波 openCV 低通滤波blur函数 opencv-均值滤波blur解析 [OpenCV入门教程之八]线性邻域滤波专场:方框滤波.均值滤波与高斯滤波 ...

  5. OpenCV每日函数 专栏简述(陆续整理中)

    一.OpenCV概述 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库.OpenCV库拥有超过 2500 种优化算法,其中包 ...

  6. OpenCV高斯滤波GaussianBlur

    图像处理中,常用的滤波算法有均值滤波.中值滤波以及高斯滤波等. 三种滤波器的对比 滤波器种类 基本原理 特点 均值滤波 使用模板内所有像素的平均值代替模板中心像素灰度值 易收到噪声的干扰,不能完全消除 ...

  7. opencv python 高斯滤波_OpenCV 学习:8 高斯滤波GaussianBlur

    1 什么是高斯滤波? 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程.[1]通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他 ...

  8. 转载:使用 OpenCV 识别 QRCode

    原文链接:http://coolshell.cn/articles/10590.html#jtss-tsina 识别二维码的项目数不胜数,每次都是开箱即用,方便得很. 这次想用 OpenCV 从零识别 ...

  9. 《OpenCV3编程入门》学习笔记6 图像处理(一)线性滤波:方框滤波、均值滤波、高斯滤波

    第6章 图像处理 6.1 线性滤波:方框滤波.均值滤波.高斯滤波 6.1.1 图像滤波与滤波器 1.图像滤波:在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制 目的: (1)抽出对象的特征作为图 ...

最新文章

  1. go linux 源码编译环境,Linux 源码安装 GO 环境
  2. Laravel之Eloquent ORM
  3. 【Python】正负无穷
  4. C#.NET编程----Spring.NET NHibernate整合(一)
  5. Python 文件操作三
  6. azure不支持哪些语句 sql_新同事不讲武德,这SQL语句写得忒野了
  7. C语言解决约瑟夫问题详解的代码
  8. matlab傅里叶光学仿真,关于微透镜阵列的傅里叶光学分析
  9. efucms搭建教程_EFUCMS E16小说漫画系统源码 最新完美UI设计漫画/听书直播源码程序...
  10. matlab 崎岖 视频的起始时间,怎么样给视频打马赛克 视频中打马赛克 视频某个时间段开始局部加马赛克 设置起始时间...
  11. 淘宝用户行为分析项目——MySQL数据分析+Tableau可视化
  12. koa-body koa2 使用 koa-body 代替 koa-bodyparser 和 koa-multer
  13. 数据集Freebase-FB15k-237
  14. CRM-如何获取客户
  15. Python学习记录 使用百度aip模块(API Python-SDK)实现人脸识别
  16. 解决python UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xb5‘ in position 255: illegal mult
  17. 2021-06-07 致即将毕业的你们
  18. 微信支付V3版本的 签名生成,验签,解密,统一下单的简单封装
  19. Jmeter常用断言之响应断言详解
  20. python滤波与图像去噪

热门文章

  1. 搜星流程(1)-[Qualcomm][BSP-GPS]
  2. 多媒体制作技术心得体会_论多媒体教学的改革与创新
  3. application.properties中自定义属性的使用
  4. java并发的艺术-读书笔记-第八章常用的并发工具类
  5. Linux之时钟中断
  6. jquery文本折叠
  7. linux 原子整数操作详解 及 volatile (二)
  8. ORA-01994 故障一例
  9. 转:Oracle SQL 内置函数大全 (一)
  10. centos磁盘空间满查询和移动命令小记