当前位置: 首页 > news >正文

Lecture 2~4 About Filter

文章目录

  • + 空间域上的滤波器
    • - 线性滤波器
      • 盒状滤波器Box Filter
      • 锐化Sharpening
      • 相关运算 vs. 卷积运算 Correlation vs. Convolution
    • - 非线性滤波器
      • 高斯滤波器Gaussian filter
    • - 实际问题
    • - 纹理texture
  • + 频域上的滤波器
  • + 滤波的应用
    • - 模板匹配
    • - 图像金字塔

+ 空间域上的滤波器

图像滤波:计算每个位置局部邻域的函数
compute function of local neighborhood at each position

- 线性滤波器

盒状滤波器Box Filter

使用盒状滤波器将每个像素替换成其邻域的平均值,达到平滑效果,去除尖锐特征
在这里插入图片描述

在这里插入图片描述

锐化Sharpening

突出与邻域平均值的差异
在这里插入图片描述

相关运算 vs. 卷积运算 Correlation vs. Convolution

- 非线性滤波器

高斯滤波器Gaussian filter

高斯滤波器平滑:从图像中去除高频分量
此可以使用小宽度的核进行平滑,重复,并得到与大宽度核相同的结果
在这里插入图片描述

高斯滤波器的可分解性

可以分解成两个一维的滤波操作,能降低计算成本,优化内存使用,不需要存储整个二维滤波器的数据;同时,可以在一维滤波器的基础上实现更复杂的滤波操作,如果需要调整高斯滤波器的标准差,只需要重新计算一维高斯核函数并应用到图像的行和列上而不需要重新生成二维滤波器;最后可以利用一维卷积的性质进行算法优化,比如利用FFT来加速一维卷积操作。

- 实际问题

滤波器该设置成多大?

根据高斯分布的经验法则:将核半宽度设置为≥3σ
边缘的值应该接近零;

在这里插入图片描述
高斯滤波器的效果主要受到高斯核的宽度(或标准差)的影响。高斯函数在中心附近具有较高的值,并且随着距离中心的增加而逐渐减小。因此,增加核的半宽度可以确保在滤波过程中更多地考虑到图像中的局部信息,并且可以提供更平滑的滤波效果。

图像的边缘怎么处理?

进行边界填充:

  • 周围补一圈0
  • 形成环状
  • 像素拉伸
  • 镜像处理

- 纹理texture

凸起、凹槽 和/或 标记造成的规则或随机图案

可以通过计算斑点和边缘在不同方向和尺度下的响应来表示纹理

过度完全表示:滤波器组
在这里插入图片描述

+ 频域上的滤波器

频域分析的好处:可以很容易地去除某个频率的噪声,增强高频信号的系数可以提高图像的对比度,增强细节。

  • 频谱可视化:频域分析可以将信号或图像转换到频域,使得信号的频谱特征变得直观可见。这有助于理解信号或图像中不同频率分量的贡献,以及它们在频率上的分布情况;
  • 滤波和去噪:在频域中,可以方便地进行滤波操作。例如,通过将频域表示的信号与滤波器的频域响应进行乘法操作,可以很容易地实现滤波。这种方式可以用来进行陷波、带通、带阻等滤波操作,以及去除噪声;
  • 解决交叠问题: 在时域中,不同信号可能会发生重叠,导致难以分辨。而在频域中,这些信号的频谱通常会有所区别,因此可以更容易地分辨和识别。

混叠问题

在信号采样或图像采集过程中可能出现的问题,其形成的原因主要是采样频率过低,还有就是当信号的频率高于采样频率的一半(奈奎斯特频率)时,信号的高频分量会“折叠”到采样频率范围内,导致无法区分原始信号的频率和折叠频率,从而产生混叠问题。

奈奎斯特-香农采样定理
当以离散间隔对信号进行采样时,采样频率必
须为≥2 × fmax
fmax = 输入信号的最大频率

解决方案

  • 更高频率的采样 (这个成本高,难办到)
  • 去掉所有大于新采样频率一半的频率
    – 会丢失信息
    – 比混叠好
    – 应用平滑滤波器

+ 滤波的应用

- 模板匹配

两个图块之间的相似度或距离度量

  • 相关
  • 零均值相关
  • 平方和差SSD
  • 归一化互相关

- 图像金字塔

相关文章:

Lecture 2~4 About Filter

文章目录 空间域上的滤波器- 线性滤波器盒状滤波器Box Filter锐化Sharpening相关运算 vs. 卷积运算 Correlation vs. Convolution - 非线性滤波器高斯滤波器Gaussian filter - 实际问题- 纹理texture 频域上的滤波器 滤波的应用- 模板匹配- 图像金字塔 空间域上的滤波器 图像…...

【LINUX】Linux 命令大全:系统管理与网络操作指南

开始之前 Linux命令行,也称为终端,是Linux最强大的特性之一。通过命令行,用户可以执行几乎所有的任务,比如文件操作、程序安装、系统监控和网络配置等。了解这些基本命令,将帮助你更好地掌握Linux系统。 文件和目录操…...

Day50 动态规划 part11

Day50 动态规划 part11 123.买卖股票的最佳时机III 我的思路: 这道题考虑了交易次数 j(最大次数为2),以及某天 i 应该买or卖股票(两种状态) 用三维数组表示 dp[i][j][0] – 第i天结束时,交易j…...

Docker 搭建私有镜像仓库

一、镜像仓库简介 Docker的镜像仓库是一个用于存储和管理Docker镜像的中央位置。镜像仓库的主要作用是提供一个集中的地方,让用户可以上传、下载、删除和共享Docker镜像。镜像仓库又可以分为公共镜像仓库和私有仓库镜像仓库: 公共镜像仓库 Docker Hub 是…...

Nginx反向代理与Tomcat实现ssm项目前后端分离部署

Nginx nginx是一款http和支持反向代理的web服务器,以其优越的性能被广泛使用。以下是百度百科的介绍。 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.…...

element UI 日期选择器 当前年份之前不可选

<el-date-pickertype"year"format"YYYY"value-format"YYYY"v-model"declareYear"placeholder"请选择年份":disabled-date"disabledDateFun"/>function disabledDateFun(time) {if (time.getFullYear() <…...

windows wireshark抓包rtmp推流出现TCP Retransmission

解决办法&#xff1a;tcp.port1935 && !(tcp.analysis.retransmission)...

C++之std::initializer_list详解

相关文章系列&#xff1a; C/C中{}的用法总结(全)_c {}-CSDN博客 目录 1.引言 2.容器的初始化 3.函数中使用std::initializer_list 4.自定义类型中使用std::initializer_list 5.迭代std::initializer_list 6. 在模板中使用std::initializer_list 7.std::initializer_lis…...

4月9日学习记录

[GXYCTF 2019]禁止套娃 涉及知识点&#xff1a;git泄露&#xff0c;无参数RCE 打开环境&#xff0c;源码什么的都没有&#xff0c;扫描后台看看 扫描发现存在git泄露 用githack下载查看得到一串源码 <?php include "flag.php"; echo "flag在哪里呢&#…...

解析快手滑块验证码的逆向工程

快手滑块验证码是一种常见的反机器人验证方式&#xff0c;通过模拟用户拖动滑块来验证用户身份。本文将介绍如何逆向工程快手滑块验证码的加密算法和轨迹生成方式&#xff0c;并提供详细的代码实现。 1. 加密算法解析 首先&#xff0c;我们需要了解滑块验证码生成时所用的加密…...

mysql运维知识总结

1. 日志 1.1 错误日志 错误日志是 MySQL 中最重要的日志之一&#xff0c;它记录了当 mysqld 启动和停止时&#xff0c;以及服务器在运行过 程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时&#xff0c;建议首先查看此日志。 该日志是默认开启的&…...

【目标检测】-入门知识

1、回归与分类问题 回归问题是指给定输入变量(特征)和一个连续的输出变量(标签),建立一个函数来预测输出变量的值。换句话说,回归问题的目标是预测一个连续的输出值,例如预测房价、股票价格、销售额等。回归问题通常使用回归分析技术,例如线性回归、多项式回归、决策树…...

翻译笔实现文字识别功能的原理

翻译笔作为一种便携式设备&#xff0c;近年来在语言学习、旅游、商务交流等领域中逐渐受到人们的青睐。其核心功能之一便是文字识别&#xff0c;即将纸质或电子文档中的文字快速、准确地转化为机器可读的文本格式。那么&#xff0c;翻译笔是如何实现这一神奇功能的呢&#xff1…...

文件批量重命名,繁体中文秒变简体中文,轻松实现高效翻译

在数字化时代&#xff0c;我们的工作、学习和生活都离不开电脑文件。随着时间的推移&#xff0c;文件数量不断增加&#xff0c;管理起来变得越来越困难。你是否曾经为如何高效、有序地管理文件而烦恼&#xff1f;现在&#xff0c;有一款强大的文件批量重命名工具&#xff0c;它…...

UML学习

UML(Unified Modeling Language)&#xff1a;统一建模语言&#xff0c;提供了一套符号和规则来帮助分析师和设计师表达系统的架构、行为和交互 类图&#xff1a;描绘类、接口之间的关系(继承、实现、关联、依赖等)以及类的内部结构(属性和方法)&#xff0c;直观展现系统的静态…...

【话题:工作生活】2022年工作总结--疫情下的上海,疫情中的我。

现在是阳历2023年11月27日星期一&#xff0c;我再次开始撰写自己的年终工作总结。希望再过1、2个月&#xff0c;这份年终总结能够出炉&#xff0c;与大家相遇。 给自己定个小目标&#xff0c;年终的工作生活总结坚持写10年。我2017年毕业&#xff0c;之后就开始写每年的年终总结…...

13.磁盘逻辑卷管理

目录 概述实践查看盘 概述 实践 查看盘 命令 lsblk [rootks2p-hadoop04 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 447.1G 0 disk ├─sdb1 8:17 0 200M 0 part /boot/efi ├─sdb2 8:18 …...

SFTP服务详解:安全高效的文件传输新选择

在数字化日益盛行的今天,文件传输已成为我们日常生活和工作中不可或缺的一部分。然而,传统的文件传输方式往往存在着安全隐患和效率低下的问题。幸运的是,SFTP(SSH File Transfer Protocol)服务的出现为我们提供了一个安全、高效的文件传输解决方案。今天,就让我们一起深…...

mp4转flv怎么转?电脑怎么把视频转成flv?

MP4&#xff08;MPEG-4 Part 14&#xff09;是一种多媒体容器格式&#xff0c;广泛用于包含视频、音频、字幕等多种数据流。MP4因其高度灵活性、压缩效率和兼容性成为视频领域的主流格式&#xff0c;支持范围涵盖从在线视频到移动设备的各类应用场景。 FLV文件格式的多个优点 …...

计算机视觉——Python OpenCV BGR转HSV

这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV)&#xff0c;在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能&#xff0c;接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。 H…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题&#xff1a;IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案&#xff1a;将编译的堆内存增加一点 位置&#xff1a;设置setting-》构建菜单build-》编译器Complier...