OpenCV图像滤波(6)高斯滤波函数GaussianBlur()的使用

news2024/11/27 6:34:27
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

函数使用高斯滤波器对图像进行模糊处理。
该函数使用指定的高斯核对源图像进行卷积。支持原位过滤。
高斯模糊是一种有效的图像平滑技术,可以减少图像中的噪声和细节。

函数原型

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

参数

  • 参数src 输入图像;图像可以有任意数量的通道,这些通道会独立处理,但是图像的深度应该是 CV_8U、CV_16U、CV_16S、CV_32F 或 CV_64F。
  • 参数dst 输出图像,其大小和类型与 src 相同。
  • 参数ksize 高斯核的大小。ksize.width 和 ksize.height 可以不同,但它们都必须是正数且为奇数。或者,它们都可以设为零,在这种情况下,它们会根据 sigmaX 和 sigmaY 自动计算。
  • 参数sigmaX 高斯核在 X 方向的标准差。
  • 参数sigmaY 高斯核在 Y 方向的标准差;如果 sigmaY 为零,则将其设置为等于 sigmaX;如果 sigmaX 和 sigmaY 都为零,则它们会根据 ksize.width 和 ksize.height 分别计算(参见 cv::getGaussianKernel 的详情);为了完全控制结果并避免将来可能的语义变化的影响,建议指定所有的 ksize、sigmaX 和 sigmaY。
  • 参数borderType 像素外推方法,参见 BorderTypes。BORDER_WRAP 不受支持。

示例代码


#include <iostream>
#include <opencv2/opencv.hpp>

int main( int argc, char** argv )
{
    // 读取图像
    cv::Mat src = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/erik.jpg", cv::IMREAD_COLOR );

    if ( src.empty() )
    {
        std::cout << "Error: Image cannot be loaded!" << std::endl;
        return -1;
    }

    cv::Size sz2Sh( 400, 600 );

    cv::resize( src, src, sz2Sh, 0, 0, cv::INTER_LINEAR_EXACT );

    // 使用 GaussianBlur 进行平滑处理
    cv::Mat dst;
    cv::GaussianBlur( src, dst, cv::Size( 9, 9 ), 0, 0, cv::BORDER_DEFAULT );

    // 显示图像
    cv::namedWindow( "原始图像", cv::WINDOW_NORMAL );
    cv::imshow( "原始图像", src );

    cv::namedWindow( "高斯滤波后的图像", cv::WINDOW_NORMAL );
    cv::imshow( "高斯滤波后的图像", dst );

    cv::waitKey( 0 );

    return 0;
}

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1985485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实验23.硬盘分区,并编写硬盘驱动程序

已完成实验 已完成实验链接 简介 实验 23. 硬盘分区&#xff0c;并编写硬盘驱动程序 总结 创建硬盘并分区 加载硬盘分区 实现 printk 使能硬盘中断 interrupt.c idel 线程,主线程阻塞后此线程保底 thread.c sleep 函数 timer.c 加载分区信息 ide.c 创建硬盘 fdisk …

[Web服务器] 简易静态Web服务器的搭建

什么是Web服务器 可以为发出请求的浏览器提供静态文档的程序。 平时我们浏览百度新闻数据的时候&#xff0c;每天的新闻数据都会发生变化&#xff0c;那访问的这个页面就是动态的&#xff0c;而我们开发的是静态的&#xff0c;每天访问我们自己的静态web服务器&#xff0c;页面…

宠物托运网站如何搭建?5步帮你吸引70%顾客!

引言 随着人们生活水平的提高和宠物文化的普及&#xff0c;越来越多的宠物主人开始选择带着自己的宠物一同旅行或搬迁至新的城市。这一趋势催生了宠物托运服务行业的快速发展&#xff0c;而一个专业、高效的宠物托运网站则成为了连接宠物主人与托运服务提供商之间不可或缺的桥…

七夕情人节送什么礼物?四款好物分享,情侣必看!

在浪漫的七夕情人节&#xff0c;为心爱的人挑选一份特别的礼物是每对情侣表达爱意的重要方式。市场上琳琅满目的选择让人眼花缭乱&#xff0c;究竟什么样的礼物能触动TA的心弦&#xff1f;本篇分享将为您精选四款既实用又充满情意的好物&#xff0c;无论是甜蜜的开始还是长久的…

【区块链+医疗健康】医链 - 区块链医疗信息管理系统 | FISCO BCOS应用案例

根据《“十四五”规划和 2035 远景目标纲要》&#xff0c;我国在“十四五”时期将全面推进医疗信息化建设。工信部等部 门联合发布《关于加快推动区块链技术应用和产业发展的指导意见》&#xff0c;促进区块链在医疗健康等公共服务领域开 展应用&#xff0c;促进业务协同办理。…

1. dact-admin 中如何发布一个表并添加到导航栏

1.页面脚手架中根据自己需求选择生成的文件例如模型、控制器、翻译文件、数据库迁移文件等 访问 http://【你的域名】/admin/helpers/scaffold 例如&#xff1a; http://localhost:8000/admin/helpers/scaffold 2. 新建好之后来到路由文件 路径随便写&#xff0c;当然按照惯…

[C++] 模板进阶:特化与编译链接全解析

文章目录 非类型模板类型形参非类型模板参数代码示例 **模板的特化**为什么要有模板的特化函数模板特化使用场景与示例函数模板特化的实现细节 类模板特化全特化示例 偏特化部分优化通过进一步限制模板参数进行特化偏特化为指针类型示例&#xff1a;偏特化为引用类型示例&#…

红酒与午后:悠闲时光的惬意选择

阳光透过窗棂&#xff0c;轻轻洒在木质的茶几上&#xff0c;斑驳的光影交织出一幅静谧而温暖的画面。在这宁静的午后&#xff0c;一瓶洒派红酒&#xff08;Bold & Generous&#xff09;静静地摆放在那里&#xff0c;仿佛正等待着与你一同开启一段悠闲的品酒时光。 一、午后…

【往届均已完成EI、SCOPUS检索】第四届电气工程与计算机技术国际学术会议(ICEECT 2024,9月27-29)

第四届电气工程与计算机技术国际学术会议&#xff08;ICEECT2024&#xff09;将于9月27日-29日在哈尔滨举办。 会议主要围绕"电路与系统"、“电气工程材料”、“计算机视觉”、“计算机技术”等专业研究领域展开讨论。旨在为气工程、计算机技术等领域的专家学者及企业…

Figma汉化教程

Figma汉化教程&#xff0c;需要 5 步 第一步&#xff1a;我们打开一个Figma中文社区网站 https://www.figma.cool/cn。我们点击左上角的Figma汉化&#xff0c;进入Figma汉化安装的页面。 第二步&#xff1a;在Figma 软件汉化页面中&#xff0c;选择谷歌浏览器汉化&#xff0c;点…

Litestar GET function blocks OpenAI

题意&#xff1a;Litestar GET 函数阻塞 OpenAI 问题背景&#xff1a; When I transfer function to litestar, it suddenly stops OpenAI from returning a completion. I can print to console every declared variable except answer: 当我将函数传递给 litestar 时&#…

解析蚂蚁T21 190T 算力与能效的新突破

蚂蚁T21 190T 的参数如下&#xff1a; ● 产生币种&#xff1a;B & T & C ● 额定算力&#xff1a;190T ● 额定功耗&#xff1a;3610W ● 功耗比&#xff1a;19.0J/T ● 额定电压&#xff1a;380~415V ● 芯片参数&#xff1a;采用全新的5nm芯片技术&#xff08…

Linux笔记 --- Linux内核链表

Linux 内核链表 经过上一小节的分析&#xff0c;我们知道了传统链表的先天缺陷&#xff1a;没有将具体的数据从组织这些数据的逻辑结构中剥离&#xff0c;而Linux内核链表的思路&#xff0c;正是从一方面着手&#xff0c;追根溯源直抵病灶&#xff0c;彻底颠覆了传统链表&…

Linux内网环境部署thingsboard(离线部署)

先说明一下内网部署的环境,我这里是安装的thingsboard3.6.4 下面所有环境包的版本都是基于这个版本 我们需要安装jdk11,postgres数据库&#xff0c;这里注意下jdk必须使用rpm方式安装&#xff0c;要不后面安装Thingsboard会提示你没有检测到jdk. 下面我们就一步一步来 1.先下…

同城货运软件开发货运搬家系统源码基于Java开发的货运平台

一.管理端配置及操作 1.服务配置 添加:服务,给服务添加车型和车厢,以及收费金额 2.用户中心 分为普通用户 师傅用户 和推广员用户; 推广员用户的一二级分佣不为0,可给推广员设置一二级佣金 3.车厢/车型管理 给服务添加车厢 和车型,选择 服务后,只能选择该服务关联的车型和…

Tomato靶机~文件包含日志

寻找网站上传点并把 php 恶意代码文件改成 jpg 上传到网站上在本地包含引入恶意代码&#xff0c;当文件被引入后代码就被执行&#xff1b; 0x01信息收集 # 环境准备&#xff1a; Target IP&#xff1a;192.168.66.143 Attack IP&#xff1a;192.168.66.84 靶机目标&#xff1…

无缝协作的艺术:Codigger 视频会议(Meeting)的用户体验

在当今数字化的时代&#xff0c;远程协作已经成为工作和学习中不可或缺的一部分。然而&#xff0c;远程协作也面临着诸多挑战&#xff0c;如沟通不畅、信息同步不及时、协作工具的复杂性等。而 Codigger 视频会议&#xff08;Meeting&#xff09;作为一款创新的工具&#xff0c…

伦敦银和伦敦金的关系是怎么样的?

在贵金属投资市场中&#xff0c;有两个品种是经常被投资者讨论的&#xff0c;一个是伦敦银&#xff0c;而另外一个是伦敦金&#xff0c;他们的名字很相似&#xff0c;那实际上他们有何关系呢&#xff1f;下面我们就来简单地讨论一下。 伦敦银其实也叫国际现货白银&#xff0c;是…

探索3D视觉中的Transformer架构:通用Backbone与自适应采样策略 !

1 Introduction 计算机视觉中的一个基本问题是在三维空间中理解和识别场景与物体。它允许以紧凑的方式表达关系&#xff0c;并提供在现实世界中导航和操作的能力。3D视觉在各个领域都发挥着重要作用&#xff0c;包括自动驾驶、机器人技术、遥感、医疗、增强现实、设计行业等众…

【Nuxt】初识 Nuxt 和目录说明

初识 Nuxt Nuxt3 支持 Vue3 及其周边生态&#xff0c;提供前后端功能&#xff0c;支持 CSR(SPA)&#xff0c;SSR&#xff0c;SSG 渲染模式的应用。 Nuxt3 特点&#xff1a; Vue技术栈 Nuxt3是基于Vue3Vue RouterVite等技术栈&#xff0c;全程Vue3Vite开发体验(Fast)。 自动导…