计算机视觉全系列实战教程:(九)图像滤波操作

1.图像滤波的概述

(1)Why (为什么要进行图像滤波)

  • 去噪:去除图像在获取、传输等过程中的各种噪音干扰
  • 提取特征:使用特定的图像滤波器提取图像特定特征

(2)What (什么是图像滤波)

使用滤波核对图像进行卷积运算或非线性运算,以达到去噪或提取特征的目的的图像处理技术

2.线性滤波

What:对各像素灰度进行简单处理(乘以一个权重),最后求和

(1)方框滤波

归一化方框滤波器和均值滤波器的核基本一致,主要区别是:方框滤波器要进行归一化处理,如果不进行归一化处理,则表示的是方框滤波
在opencv中的滤波算法如下:

void cv::boxFilter(cv::Mat &imSrc, //输入图像cv::Mat &imDst, //输出图像int depth, //图像深度cv::Size ssize, //方框滤波器的尺寸cv::Point(-1,-1), //默认以中心点为基准bool normalize = true, //是否进行归一化处理int borderType = 4);

(2)均值滤波

均值滤波器的核的元素全是1,并进行了归一化操作:即每个元素都会除以核的总数
在这里插入图片描述

void cv::blur(cv::Mat &imSrc, //输入图像cv::Mat &imDst,  //输出图像cv::Size ksize,  //滤波核的尺寸Point anchor=Point(-1,-1),  //默认以中心点为基准int borderType=BORDER_DEFA  //图像外部像素的边界模式,一般默认值即可);

(3)高斯滤波

形状类似于概率论中的高斯分布模型(正态分布模型)

void cv::GaussianBlur(cv::Mat &imSrc, //输入图像cv::Mat &imDst, //输出图像cv::Size ksize, //高斯滤波核的尺寸double sigmaX, //高斯核函数在X方向的标准偏差double sigmaY = 0, //高斯核函数在Y方向的标准偏差int borderType = BORDER_DEFAULT);

3.非线性滤波

(1)中值滤波

用像素点领域的灰度值来代替该像素点的灰度值,可以去除最大值和最小值,针对椒盐噪声效果很好

void cv::medianBlur(cv::Mat &imSrc, //输入图像cv::Mat &imDst, //输出图像int ksize  //中值滤波核的尺寸);

(2)双边滤波

双边滤波能够在保持边缘的前提下实现降噪的目的,缺点是效率较慢
基本原理:考虑两个权重因素来组成卷积核

  • 空域权重:两点之间的距离,距离越远权重越低
  • 值域权重:两点之间的像素值相似程度,越相似权重越大。
void cv::bilalteralFilter(cv::Mat &imSrc, //输入图像cv::Mat &imDst,  //输出图像double sigmaColor, //值域的标准差double sigmaSpace,  //空间域的标准差int borderType = BORDER_DEFAULT);

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

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

相关文章

11.2 Go 常用包介绍

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

使用‘消除’技术绕过LLM的安全机制,不用训练就可以创建自己的nsfw模型

开源的大模型在理解和遵循指令方面都表现十分出色。但是这些模型都有审查的机制,在获得被认为是有害的输入的时候会拒绝执行指令,例如会返回“As an AI assistant, I cannot help you.”。这个安全功能对于防止误用至关重要,但它限制了模型的…

docker编译一个支持flv的nginx镜像

在本地下载编译了下 (参考:https://www.cnblogs.com/hhmm99/p/16050844.html) 相关文件下载 https://nginx.org/download/ https://gitee.com/winshining/nginx-http-flv-module 编译时缺少openssl报错 ./configure: error: SSL modules require the OpenSSL library. You …

化学品危险性分类鉴定报告 危化品危险性分类

一、化学品危险性分类报告: 按照国务院令 第591号 《危险化学品安全管理条例》、原十部委公告 2015年 第5号 《危险化学品目录(2015版)》、原安监总局令 第60号《化学品物理危险性鉴定与分类管理办法》和原安监总局令 第53号《危险化学品登记…

IBM Spectrum LSF Process Manager 在共享分布式计算环境中运行和管理业务关键工作流程

亮点 ● 快速创建复杂的分布式工作流 ● 开发可重复的最佳实践 ● 自信地运行关键工作流程 ● 提高流程可靠性 IBM Spectrum LSF Process Manager 使您能够设计和自动化计算或分析流程, 捕获和保护可重复的最佳实践。 使用直观的图形界面,您可以轻松记录…

【漏洞复现】飞企互联-FE企业运营管理平台 treeXml.jsp SQL注入漏洞

0x01 产品简介 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据、物联网、移动互联网等技术支撑的云工作台。这个平台可以连接人、链接端、联通内外,支持企业B2B、C2B与020等核心需求,为不同行业客户的互联网转型提供支持。其特色在于提供…

【十大排序算法】基数排序

数字犹如无数繁星,基数排序如晨曦的指引,将混沌序列织就成和谐的序曲。 文章目录 一、基数排序二、发展历史三、处理流程四、算法实现五、算法特性六、小结推荐阅读 一、基数排序 基数排序是一种非比较性的排序算法,它根据元素的位数来对元…

极限网关助力好未来 Elasticsearch 容器化升级

极限网关在好未来的最佳实践案例,轻松扛住日增百 TB 数据的流量,助力 ES 从物理机到云原生架构的改造,实现了流控、请求分析、安全管理、无缝迁移等场景。一次完美的客户体验~ 背景 物理机架构时代 2022 年,好未来整个日志 Elas…

GitLab中用户权限

0 Preface/Foreword 1 权限介绍 包含5种权限: Guest(访客):可以创建issue、发表comment,不能读写版本库Reporter(报告者):可以克隆代码,不能提交。适合QA/PMDeveloper&…

教学辅助系统的设计

管理员账户功能包括:系统首页,个人中心,教师管理,作业管理,学生管理,管理员管理,作业提交管理,教学视频管理 教室账户功能包括:系统首页,个人中心&#xff0…

Oracle表空间扩容

1、查询表空间使用情况(未考虑自增长情况) SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TO…

React+TS前台项目实战(九)-- 全局常用组件弹窗Dialog封装

文章目录 前言Dialog公共弹窗组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局公共弹窗Dialog组件封装,将用到上篇封装的模态框Modal组件。有时在前台项目中,偶尔要用到一两个常用的组件,如 弹窗&#x…

Oracle修改数据

两种方法,第一种select * from table for update; 第二种,select t.* ,t.rowid from table t; 兄弟们啊,最近一直内网工作,很多东西也没时间发。等后面再补吧

HTTP 概述

HTTP 概述 HTTP 是一种用于获取资源(如 HTML 文档)的协议。 它是 Web 上任何数据交换的基础,它是一种客户端-服务器协议,这意味着请求由接收方(通常是 Web 浏览器)发起。 一个完整的文档是从获取的不同子文…

2024全国大学生信息安全竞赛(ciscn)半决赛东北赛区Pwn题解

前言 今年Ciscn华东北赛区半决赛的时间比较晚,找东北赛区的师傅要了一份半决赛Pwn题。 听说好像有5个Pwn题,但是只拿到了4个。如果有师傅有剩下那一个欢迎私信我。 拿到手的4个除了最后一个vmJS,还是挺简单的。都是格式化字符串、栈溢出和…

构建 LLM 应用为什么需要文本加载器,langchain 中如何使用文本加载器?

构建 LLM 应用为什么需要文本加载器,langchain 中如何使用文本加载器? 上一篇文章中 [使用langchain搭建本地知识库系统(新) 我们构建一个 RAG 的本地应用,我们使用到了网页的文本加载器用来动态获取网页的数据。 在不同的应用场景中需要使…

通信里面常说的的dtu什么意思

DTU是“Data Transfer Unit”的缩写,它是一种专门设计用于在不同通信系统间传输数据的设备,尤其是在远程监控和数据采集系统中扮演着重要角色。DTU的主要功能是实现串口数据(如RS232、RS485等)与IP数据之间的转换,并通…

19.2 HTTP客户端-定制HTTP请求、调试HTTP、响应超时

1. 定制HTTP请求 如果需要对向服务器发送的HTTP请求做更多超越于默认设置的定制化。 client : http.Client{} 使用net/http包提供的导出类型Client,创建一个表示客户端的变量。request, err : http.NewRequest("GET", "https://ifconfig.io/ip&quo…

OpenCV图像算术位运算

一 图像相加 import cv2 import numpy as npgirlcv2.imread(./2037548.jpg)#图像的加法运算就是矩阵的加法运算 #因此加法运算的两张图必须是相等的print(girl.shape)imgnp.ones((1920,1080,3),np.uint8)*50 cv2.imshow(girl,girl) resultcv2.add(girl,img) cv2.imshow(result…

QQ 邮箱绑定校园邮箱失败但 Coremail 论客绑定成功

目录 1 查看本校学生邮件系统官网 2 QQ 邮箱绑定失败 3 Coremail 论客绑定成功 前言:个人觉得每次查看校园邮箱都要打开电脑很不方便,遂决定绑定到 QQ 邮箱 APP 上。 1 查看本校学生邮件系统官网 仅针对我们学校,登录页面给出了邮件服…