当前位置: 首页 > 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…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

&#x1f9e0; LangChain 中 TextSplitter 的使用详解&#xff1a;从基础到进阶&#xff08;附代码&#xff09; 一、前言 在处理大规模文本数据时&#xff0c;特别是在构建知识库或进行大模型训练与推理时&#xff0c;文本切分&#xff08;Text Splitting&#xff09; 是一个…...

【threejs】每天一个小案例讲解:创建基本的3D场景

代码仓 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone&#xff0c;无需安装依赖&#xff0c;直接liver-server运行/直接打开chapter01中的html文件 运行效果图 知识要点 核心三要素 场景&#xff08;Scene&#xff09; 使用 THREE.Scene(…...