滤波和卷积的区别

本文主要介绍滤波和卷积的区别,以供读者能够理解该技术的定义、原理、应用。

🎬个人简介:一个全栈工程师的升级之路!
📋个人专栏:计算机杂记
🎀CSDN主页 发狂的小花
🌄人生秘诀:学习的本质就是极致重复!

滤波器,卷积核意义相同

图像处理中滤波和卷积原理上相似,但是在实现的细节上存在一些区别。

但是存在细微的差别:

1、滤波

滤波操作就是图像对应像素与掩膜(mask)的乘积之和

比如有一张图片和一个掩膜,如下图:

那么像素(i,j)的滤波后结果可以根据以下公式计算:

其中G(i,j)是图片中(i,j)位置像素经过滤波后的像素值。

当掩膜中心m5位置移动到图像(i,j)像素位置时,图像(i,j)位置像素称为锚点。

滤波步骤:

  1. 对原始图像的边缘进行某种方式的填充(一般为0填充)。
  2. 将掩膜划过整幅图像,计算图像中每个像素点的滤波结果。

依照这个步骤,假设我们有一个二维矩阵I,掩膜M,则滤波的结果如下:

滤波后的图像大小不变。

2、卷积

卷积操作也是卷积核与图像对应位置的乘积和。但是卷积操作在做乘积之前,需要先将卷积核翻转180度,之后再做乘积。

卷积步骤:

  1. 180度翻转卷积核。
  2. 不做边界填充,直接对图像进行相应位置乘积和。

从以上步骤可以看出,如果卷积核不是中心对称的,那么卷积和滤波操作将会得到完全不一样的结果。另外,卷积操作会改变图像大小!

由于卷积操作会导致图像变小(损失图像边缘),所以为了保证卷积后图像大小与原图一致,经常的一种做法是人为的在卷积操作之前对图像边缘进行填充。

最后,关于卷积后图像尺寸的计算:假设原始图像为M*M,卷积核大小为N*N,边缘填充像素个数为pad,步长为stride。则卷积后图像的尺寸变为:m =(M-N+2*pad)/sride+1。

感谢博主:

图像处理中滤波(filtering)与卷积(convolution)的区别_spline, convolution滤波方法使用的区别-CSDN博客

附加:

图像卷积与滤波的一些知识点_卷积滤波-CSDN博客

🌈我的分享也就到此结束啦🌈
如果我的分享也能对你有帮助,那就太好了!
若有不足,还请大家多多指正,我们一起学习交流!
📢未来的富豪们:点赞👍→收藏⭐→关注🔍,如果能评论下就太惊喜了!
感谢大家的观看和支持!最后,☺祝愿大家每天有钱赚!!!欢迎关注、关注!

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

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

相关文章

C++函数的默认值参数介绍

C函数的默认值参数介绍 C中,可以为函数的参数设置默认值,这样当在函数调用中若不指定实际参数时,默认参数将传递给形参。默认值参数使得函数调用更加简洁方便,在某些情况下可以减少代码量。默认参数是在C11标准中引入。 C默认参…

java010 - Java面向对象基础

1、类和对象 1.1 什么是对象 万物皆对象,客观存在的事物皆为对象。 1.2 什么是面向对象 1.3 什么是类 类是对现实生活中一类具有共同属性和行为的事物抽象。 特点: 类是对象的数据类型类是具有相同属性和行为的一组对象的集合 1.4 什么是对象的属…

k8s 1.28.x node资源预留

当前NOde的配置 默认位置如下: vim /var/lib/kubelet/config.yaml #再最后添加如下,参加应该大家一看就明白什么意思,不做多解释了 #max-pods: 230 evictionHard:memory.available: 100Minodefs.available: 10%nodefs.inodesFree: 5% kubeReserved:cpu:…

【SpringBoot3】应用程序启动监听

一、监听应用启动的常见场景 应用启动监听在 Spring Boot 和其他框架中扮演着重要的角色。它们的主要作用是在应用启动或关闭时触发特定的操作或任务。 以下是一些常见的应用启动监听场景: 初始化操作:在应用启动时,你可能需要执行一些特定…

多多关键字API php java Python

多多关键字API接口广泛应用于商家进行市场分析、竞品分析、关键词优化等场景。商家可以通过分析关键词数据,了解用户需求,制定针对性的营销策略,提高产品的曝光率和转化率。 多多-item_seach-通过关键字搜索商品列表 公共参数 获取key和秘钥…

分布式和集群的区别?

分布式系统和集群是两种常见的计算机系统架构,它们在设计和功能上有一些区别。 分布式系统: 定义:分布式系统是由多台计算机组成的网络,这些计算机通过网络进行通信和协作,共同完成一个或多个共同目标的系统。这些计算…

rtt的io设备框架面向对象学习-电阻屏LCD设备

目录 1.8080通信的电阻屏LCD设备1.1 构造流程1.2 使用2.i2c和spi通信的电阻屏LCD 电阻屏LCD通信接口有支持I2c、SPI和8080通信接口的。 1.8080通信的电阻屏LCD设备 rtt没有实现的设备驱动框架层,那么是在驱动层直接实现的,以stm32f407-atk-explorer为例…

TCP的Keep-Alive检测机制 和 Nagle算法

TCP的Keep-Alive检测机制: TCP的Keep-Alive是一种用于检测连接是否仍然有效的机制。它通过在一段时间内没有数据传输时发送特殊的Keep-Alive探测报文,来判断连接是否仍然存活。这个机制通常在以下情况下使用: 长时间的空闲连接: …

centos7安装kafka、zookeeper

安装jdk 安装jdk8 安装zookeeper 在指定目录执行下载命令 我是在/newdisk/zookeeper目录下 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz --no-check-certificate下载好后并解压 tar -zxvf apache-zookeeper-3.5…

前端添加压缩包内文件名称校验

1. tar包内文件名称校验 1. 读取tar包内所有的文件名称 export class TarReader {fileInfo: any[]buffer: string | ArrayBufferconstructor() {this.fileInfo []}readFile(file) {return new Promise(resolve > {const reader new FileReader()reader.onload event &g…

Kruskal算法

Kruskal算法:是求连通网的最小生成树的另一种方法。与Prim算法不同,它的时间复杂度为O(eloge)(e为图中的边数),所以,适合于求边稀疏的网的最小生成树 时间复杂度:主要由…

Debezium发布历史165

原文地址: https://debezium.io/blog/2023/10/05/Debezium-JMX-signaling-and-notifications/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium signaling and notifications - Part 3: JMX …

【Maven】Maven 基础教程(四):搭建 Maven 私服 Nexus

《Maven 基础教程》系列,包含以下 4 篇文章: Maven 基础教程(一):基础介绍、开发环境配置Maven 基础教程(二):Maven 的使用Maven 基础教程(三):b…

我的NPI项目之Android 安全系列 -- Keymaster到底是个什么

最近因为一直在调研独立secure element集成的工作,不巧的是目前使用的高通平台只有NFC-eSE的方案。高通目前也并不支持独立的eSE集成,codebase中并无相对应的代码。举个例子,目前使用的STM的一款eSE,但是这款eSE的开发STM还没有完…

HarmonyOS—HAP唯一性校验逻辑

HAP是应用安装的基本单位,在DevEco Studio工程目录中,一个HAP对应一个Module。应用打包时,每个Module生成一个.hap文件。 应用如果包含多个Module,在应用市场上架时,会将多个.hap文件打包成一个.app文件(称…

matlab 提取分割位于多边形区域边缘内部或边缘上的点

[in,on] = inpolygon(xq,yq,xv,yv) xv 和 yv 为定义的多边形区域的,如xv = [1 4 4 1 1 ];yv = [1 1 4 4 1 ];注意最后一个数字与第一个重复,保证多边形闭合; xq 和 yq 为待查询的点in:在多边形内部和边缘的点序号on:仅在多边形边缘的点序号 提取分割方法: matrix=[xq yq…

ios端接口代码语言-身份证号实名认证ios端接口

身份证核验,其背后必须要有权威,真实的身份证信息数据库作为基础,如中安未来翔云OCR云平台(www.netocr.com)近期上线的身份证核验功能,就是与权威机构合作,拥有权威,真实的身份证信息…

大数据技术学习笔记(五)—— MapReduce(1)

目录 1 MapReduce 概述1.1 MapReduce 定义1.2 MapReduce 优缺点1.3 MapReduce 核心思想1.4 MapReduce 进程1.5 Hadoop 序列化类型1.6 MapReduce 编程规范1.7 WordCount 案例实操1.7.1 案例需求1.7.2 环境准备1.7.3 编写程序1.7.4 测试 2 MapReduce 序列化2.1 序列化概述2.2 自定…

JavaScript中数组相关

JavaScript中有很多用于操作数组的内置函数。以下是一些常用的数组函数: 1. Array.prototype.push(): 向数组末尾添加一个或多个元素,并返回新数组的长度。 2. Array.prototype.pop(): 删除并返回数组的最后一个元素。 3. Array.prototype.unshift(): 向…

浅析volatile关键字

浅析volatile关键字 文章目录 浅析volatile关键字1. volatile关键字的意义2.volatile应用3. volatile常见问题总结 1. volatile关键字的意义 ​ 被 volatile 修饰的变量,在对其进行读写操作时,会引发一些可观测的副作用。而这些可观测的副作用&#xff…