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

2022ACMToG | 寻找快速的去马赛克算法

文章标题:Searching for Fast Demosaicking Algorithms

请添加图片描述

1. Abstract

本文提出了一种方法,用于在给定损失函数和训练数据的情况下,自动合成高效且高质量的去马赛克算法,涵盖各种计算开销。该方法执行多目标的离散-连续优化,同时解决程序结构和参数问题,以在目标计算开销范围内找到计算成本和图像质量之间的最佳权衡。我们设计了该方法,利用特定领域的结构提高搜索效率。我们将该方法应用于多个任务,包括对拜耳和富士X-Trans色彩滤镜图案的去马赛克,以及去马赛克和超分辨率的联合任务。在8个GPU上运行几天后,该方法生成了一系列算法,显著提高了图像质量,相对于之前的最先进方法,在每像素10到1000次操作的范围内(在相同的成本下提高1dB到3dB的质量,或在相同或更好的质量下提高8.5到200倍的吞吐量)。生成的程序结合了经典和基于深度学习的去马赛克和超分辨率算法的特征,形成了更高效的混合组合,这些组合具有带宽效率高且可向量化的特点。最后,我们的方法自动规划并编译所有生成的程序,生成针对现代处理器优化的SIMD代码。

2. Introduction

去马赛克(demosaicking)是图像处理中最普遍且性能关键的任务之一。作为整个相机成像管道的关键第一步,它可能会决定最终图像的成败:去马赛克过程中丢失的任何细节都无法恢复,而引入的任何错误细节则几乎不可能在后续处理中去除。在去马赛克过程中平衡这两个问题非常困难,因为该问题本质上是病态的(ill-posed),所以没有正确的答案。同时,去马赛克通常必须在极高的计算开销下进行:例如,4K 60 FPS 视频流需要每秒处理 0.5 千兆像素。即使我们仅使用高端移动处理器(CPU、GPU 或 DSP)中的一个核心专门用于去马赛克任务,并且 SIMD 利用率达到完美,这也仅留下时间对每个像素进行最多几百次的操作。

面对这一挑战,当前的去马赛克算法通常针对两个极端之一(图 1)。从手机到 Adobe Camera Raw 的大多数广泛部署的实现都限制在最多每像素几百次的优化计算,这些计算是手工精心设计的,用于反转特定的颜色滤波阵列 [Hirakawa 和 Parks 2006; Zhang 和 Wu 2005]。通过这种方式,它们可以提供合理的图像质量,但在具有挑战性的情况下,很难避免出现莫尔纹和错误细节等伪影。与此同时,基于深度学习和优化的方法已经出现,它们显著提高了质量,并且更容易推广到不同的颜色滤波阵列和其他问题变体,但计算开销要高 2-3 个数量级(每像素几十万到几百万次操作),这使得它们在大多数实际应用案例中难以使用 [Gharbi 等人 2016; Heide 等人 2014]。根据所选的实现,去马赛克可能占 Adobe Camera Raw ISP 运行时间的 25% 到 85%

我们开发了新的高效且基于学习的去马赛克算法,这些算法显著提高了从每像素 10 次操作到 1000 次操作的整个范围内的图像质量。除了常见的拜耳(Bayer)模式外,我们还为富士 X-Trans 模式开发了去马赛克算法,并且为拜耳模式解决了去马赛克和超分辨率的联合问题。

我们的程序是帕累托优势(Pareto-dominant)的:它们在与任何先前算法相同的计算开销下提供显著更高的质量(1 dB–3 dB),并且可以在显著降低的计算开销下(8.5–220 倍或更高)提供相当或更好的图像质量。它们旨在高效地实现流式 SIMD 实现,并且可以自动编译为现代处理器的高性能内核。

我们通过开发一种多目标的离散-连续搜索自动生成这一系列新算法,该搜索同时解决程序结构和参数问题,以在目标计算开销范围内找到计算成本和图像质量之间的最佳权衡。搜索由最近的去马赛克和超分辨率神经网络所使用的相同损失函数和训练数据驱动 [Anwar 和 Barnes 2020; Chu 等人 2021b; Dong 等人 2014; Gharbi 等人 2016; Henz 等人 2018; Shi 等人 2016; Wang 等人 2018]。然而,我们发现标准的神经网络架构搜索(NAS)技术对我们的任务来说是不够的:这些方法通常针对高度规则且极其过度参数化的模型。我们专注于低成本模型,这需要精心设计以采用域自适应架构。我们的搜索在8块GeForce Titan Xp GPU上运行了4到5天之后产生了sota结果,成本开销等同于训练一个单独的神经网络至收敛。生成的程序将经典和基于深度学习的去马赛克和超分辨率算法的特征组合成更高效的混合组合,将构建块组合成具有带宽效率高且高度可向量化特点的算法。最后,我们的方法自动安排并编译搜索产生的任何程序,生成针对现代处理器优化的 SIMD 代码。

我们相信我们的方法为自动优化图像处理管道以实现性能和质量奠定了基础,结合了经典算法和深度学习的优势,产生了比现有算法更好且更高效的算法。例如,除了去马赛克问题的三个变体外,我们还展示了我们的搜索方法还可以为高性能超分辨率任务产生帕累托优势程序。

总之,本文的贡献包括:

  • 新的、最先进的拜耳和 X-Trans 去马赛克、联合去马赛克与超分辨率以及独立超分辨率算法,在最具商业相关的计算开销范围内显著优于先前的工作。
  • 一种自动生成这些算法的方法,涵盖广泛的计算开销范围。
  • 本文展示了一个事实,即,低成本开销下,在图像处理任务上的进行可微程序搜索的同时,添加领域特定的原语和搜索结构可以显著改善结果性能。
  • 本文定义了一个搜索空间,在该空间下,本文生成了SIMD和局部友好型算法,以及一个采用这种架构自动生成高度优化的流水线实现的编译器。

3. Related Work

本文的方法结合了遗传程序搜索和可微分程序的梯度优化,应用了机器学习和经典算法的见解,以自动搜索覆盖质量(好不好?)和性能(快不快?)权衡空间的高效去马赛克程序。

3.1 Image Demosaicking

从颜色滤波阵列中重建全彩图像是一个研究广泛但本质上病态的问题,其解决方案必须在质量和效率之间进行权衡 [Li et al. 2008]。去马赛克错误通常发生在边缘,产生虚假的“拉链”图案或“迷宫”伪影,但也可能影响大面积空间区域,导致颜色渗漏、虚假颜色莫尔纹或过度平滑。
经典算法的两个关键设计元素是:使用边缘自适应的方向滤波器以避免在边缘处平滑 [Hamilton Jr and Adams Jr 1997; Hibbard 1995],以及利用跨通道相关性来指导缺失的红色和蓝色值的插值,使用更密集采样的绿色通道的估计值。例如,平滑色调先验 [Cok 1987] 预测颜色差异或比率的平滑变化。许多提出的方法改进了边缘和颜色相关性检测,有时还联合解决去噪问题 [Alleysson et al. 2005; Buades et al. 2009; Dubois 2005; Duran and Buades 2014; Hirakawa and Parks 2005, 2006; Kiku et al. 2013; Menon and Calvagno 2009; Niu et al. 2018; Zhang et al. 2009, 2011]。
另一类算法将去马赛克视为一个逆问题,并通过优化求解全彩图像 [Chang et al. 2015; Condat and Mosaddegh 2012; Getreuer 2011; Heide et al. 2014; Kokkinos and Lefkimmiatis 2018; Tan et al. 2017a]。尽管这些方法能够实现高质量的去马赛克,但优化的高计算成本限制了它们的应用。
数据驱动技术使用真实图像优化去马赛克算法的参数 [Go et al. 2000; Kapah and Hel-Or 2000; Khashabi et al. 2014; Kwan and Wu 2004; Li et al. 2018]。最近的方法使用卷积神经网络 [Gharbi et al. 2016; Henz et al. 2018; Klatzer et al. 2016; Kokkinos and Lefkimmiatis 2018, 2019; Liu et al. 2020; Ratnasingam 2019; Tan et al. 2018, 2017b]。深度学习方法实现了最先进的质量,但仍然计算成本高昂。

3.2 Super-resolution

相关文章:

2022ACMToG | 寻找快速的去马赛克算法

文章标题:Searching for Fast Demosaicking Algorithms 1. Abstract 本文提出了一种方法,用于在给定损失函数和训练数据的情况下,自动合成高效且高质量的去马赛克算法,涵盖各种计算开销。该方法执行多目标的离散-连续优化&#x…...

暴力破解与验证码安全

目录 前言 暴力破解:简单粗暴的黑客攻击手段 暴力破解的前提条件 暴力破解的定义与原理 常见的暴力破解工具 暴力破解的常见场景 暴力破解的危害 验证码:抵御暴力破解的第一道防线 验证码的定义与作用 验证码的工作原理 验证码的类型 验证码…...

基于区块链的数字身份认证:安全与隐私的未来

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…...

ComfyUI工作流 图像反推生成人像手办人像参考(SDXL版)

文章目录 图像反推生成人像手办人像参考SD模型Node节点工作流程效果展示开发与应用图像反推生成人像手办人像参考 本工作流旨在通过利用 Stable Diffusion XL(SDXL)模型和相关辅助节点,实现高效的人像参考生成和手办设计。用户可通过加载定制的模型、LORA 调整和控制节点对…...

MyBatis-Plus速成指南:基本CURD

BaseMapper: MyBatis-Plus 中的基本 CURD 在内置的 BaseMapper 中都已得到了实现,我们可以直接使用接口,接口如下: // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) //p…...

K8S集群部署--亲测好用

最近在自学K8S,花了三天最后终于成功部署一套K8S Cluster集群(masternode1node2) 在这里先分享一下具体的步骤,后续再更新其他的内容:例如部署期间遇到的问题及其解决办法。 部署步骤是英文写的,最近想练…...

【C++】B2124 判断字符串是否为回文

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述输入格式:输出格式:样例: 💯方法一:我的第一种做法思路代码实现解析 💯方法二:我…...

大语言模型概述

一、主流大语言模型(LLMs) GPT系列(OpenAI) 基于Transformer解码器架构,以生成能力著称,代表产品包括ChatGPT(GPT-3.5/4),支持多轮对话、文本生成和复杂推理。其优势在于…...

【网络】应用层协议http

文章目录 1. 关于http协议2. 认识URL3. http协议请求与响应格式3.1 请求3.2 响应 3. http的常见方法4. 状态码4.1 常见状态码4.2 重定向 5. Cookie与Session5.1 Cookie5.1.1 认识Cookie5.1.2 设置Cookie5.1.3 Cookie的生命周期 5.2 Session 6. HTTP版本(了解&#x…...

Node.js常用知识

Nodejs 总结Node.js基础知识,便于定期回顾 1、fs 文件写入 1、require(‘fs’) 2、fs.writeFile() 3、fs.appendFile() 4、fs.createwriteStream() //流式写入 ws.write() 文件读取 1、fs.readFile(‘’,(err,data)>{ }) const …...

Block Blaster Online:免费解谜游戏的乐趣

Block Blaster Online 是一款免费的在线解谜游戏,它将挑战你的思维和反应能力!在这里,你可以匹配五彩缤纷的方块,创造出令人惊叹的组合,享受无尽的解谜乐趣。无需安装,点击即可开始,加入全球数百…...

4 前置技术(下):git使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 前言...

Qwen2.5-Max:AI技术的新里程碑

随着人工智能(AI)技术的不断进步,全球各大科技公司都在竞相推出更强大的语言模型。近日,阿里巴巴发布了其最新的超大规模混合专家模型(MoE)——Qwen2.5-Max,这一成果不仅在多个基准测试中超越了…...

PyQt4学习笔记1】使用QWidget创建窗口

目录 一、创建一个简单的 QWidget 窗口 二、设置窗口属性 1. 设置窗口标题 2. 设置背景颜色 3. 设置窗口大小和位置 4. 设置窗口模式 5. 关闭窗口 6. QWidget 及其子控件的样式 三、添加控件到 QWidget 1. 添加按钮 2. 添加标签 3. 添加文本框 4. 控件布局管理 四、自定义样式 …...

九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)

九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位) 文章目录 九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)1. RDB 概述2. RDB 持久化执行流程3. RDB 的详细配置4. RDB 备份&恢…...

Redis --- 秒杀优化方案(阻塞队列+基于Stream流的消息队列)

下面是我们的秒杀流程: 对于正常的秒杀处理,我们需要多次查询数据库,会给数据库造成相当大的压力,这个时候我们需要加入缓存,进而缓解数据库压力。 在上面的图示中,我们可以将一条流水线的任务拆成两条流水…...

使用VCS对Verilog/System Verilog进行单步调试的步骤

Verilog单步调试: System Verilog进行单步调试的步骤如下: 1. 编译设计 使用-debug_all或-debug_pp选项编译设计,生成调试信息。 我的4个文件: 1.led.v module led(input clk,input rst_n,output reg led );reg [7:0] cnt;alwa…...

Go语言中结构体字面量

结构体字面量(Struct Literal)是在 Go 语言中用于创建和初始化结构体实例的一种语法。它允许你在声明结构体变量的同时,直接为其字段赋值。结构体字面量提供了一种简洁、直观的方式来创建结构体对象。 结构体字面量有两种主要形式&#xff1…...

编程AI深度实战:大模型哪个好? Mistral vs Qwen vs Deepseek vs Llama

​​ 系列文章: 编程AI深度实战:私有模型deep seek r1,必会ollama-CSDN博客 编程AI深度实战:自己的AI,必会LangChain-CSDN博客 编程AI深度实战:给vim装上AI-CSDN博客 编程AI深度实战:火的编…...

19C RAC在vmware虚拟机环境下的安装

RAC安装规划 ===IP== ORA19C01 public ip : 192.168.229.191 heatbeat : 192.168.0.1 vip : 192.168.229.193 ORA19C02 public ip :192.168.229.192 heatbeat : 192.168.0.2 vip : 192.168.229.194 scan ip 192.168.229.195 hosts: echo "192.168.229…...

MongoDB 查询文档

MongoDB 查询文档 引言 MongoDB 是一个功能强大的文档型数据库,它使用 JSON 格式存储数据,并提供了灵活的查询机制。本文将深入探讨 MongoDB 的查询文档,包括查询基础、查询语法、查询优化以及一些高级查询技巧。 查询基础 MongoDB 的查询语句以 find() 方法开始,它允许…...

了解 ALV 中的 field catalog (ABAP List Viewer)

在 ABAP 中,字段目录是使用 ALV (ABAP List Viewer) 定义内部表中的数据显示方式的关键元素。它提供对 ALV 中显示的字段的各种属性的控制,例如列标题、对齐方式、可见性、可编辑性等。关键概念: Field Catelog 字段目…...

【C++STL标准模板库】二、STL三大组件

文章目录 1、容器2、算法3、迭代器 二、STL三大组件 1、容器 容器,置物之所也。 研究数据的特定排列方式,以利于搜索或排序或其他特殊目的,这一门学科我们称为数据结构。大学信息类相关专业里面,与编程最有直接关系的学科&…...

【高级篇 / IPv6】(7.2) ❀ 04. 在60E上配置ADSL拨号宽带上网(IPv4) ❀ FortiGate 防火墙

【简介】除了单位用户以外,大部分个人用户目前使用的仍然是30E、50E、60E系列防火墙,固件无法达到目前最高版本7.6,这里以最常用的60E为例,演示固件版本7.2下实现ADSL拨号宽带的IPv6上网。由于内容比较多,文章分上、下…...

基础IOIO

1.理解文件 1.侠义理解 文件是在从盘上的。磁盘是永久性存储介质。磁盘是外设。磁盘上对文件的所有操作,都是对外设的输入输出IO。 2.广义理解 linux下一切皆文件(键盘,显示器,网卡,磁盘) 3.文件操作的…...

starrocks最佳实践、行业实践

最佳实践 starrocks最佳实践 最佳实践集合 Bitmap索引适用场景和最佳实践 行业实践 行业实践...

详解CSS `clear` 属性及其各个选项

详解CSS clear 属性及其各个选项 1. clear: left;示例代码 2. clear: right;示例代码 3. clear: both;示例代码 4. clear: none;示例代码 总结 在CSS布局中,clear 属性是一个非常重要的工具,特别是在处理浮动元素时。本文将详细解释 clear 属性及其各个选…...

MVC、MVP和MVVM模式

MVC模式中,视图和模型之间直接交互,而MVP模式下,视图与模型通过Presenter进行通信,MVVM则采用双向绑定,减少手动同步视图和模型的工作。每种模式都有其优缺点,适合不同规模和类型的项目。 ### MVVM 与 MVP…...

【大数据技术】教程03:本机PyCharm远程连接虚拟机Python

本机PyCharm远程连接虚拟机Python 注意:本文需要使用PyCharm专业版。 pycharm-professional-2024.1.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本地PyCharm远程连接虚拟机,运行Python脚本,提高编程效率。 注意: …...

wsl+phpstorm+xdebug|windows子系统配置phpstorm开发调试|断点调试

安装wsl 安装apache php 安装xdebug扩展,并配置 这里是通过宝塔9.4面板安装的xdebug3.0 [xdebug] xdebug.modedebug xdebug.start_with_requesttrue xdebug.discover_client_hosttrue xdebug.client_host127.0.0.1配置PHPSTORM 注意:新建服务器一定要…...

如可安装部署haproxy+keeyalived高可用集群

第一步,环境准备 服务 IP 描述 Keepalived vip Haproxy 负载均衡 主服务器 Rip:192..168.244.101 Vip:192.168.244.100 Keepalive主节点 Keepalive作为高可用 Haproxy作为4 或7层负载均衡 Keepalived vip Haproxy 负载均衡 备用服务…...

Linux——文件与磁盘

1. 磁盘结构 磁盘在我们的计算机中有着重要的地位,当文件没有被打开时其数据就存储在磁盘上,要了解磁盘的工作原理先要了解磁盘的结构。 1.1 磁盘的物理结构 以传统的存储设备机械硬盘为例,它通过磁性盘片和磁头来读写数据。磁盘内部有多个旋…...

Maven jar 包下载失败问题处理

Maven jar 包下载失败问题处理 1.配置好国内的Maven源2.重新下载3. 其他问题 1.配置好国内的Maven源 打开⾃⼰的 Idea 检测 Maven 的配置是否正确,正确的配置如下图所示: 检查项⼀共有两个: 确认右边的两个勾已经选中,如果没有请…...

Qt中的UIC、MOC、RCC宏定义说明

在Qt6新建工程的时候,CMakeLists.txt中会默认带有UIC,MOC,RCC的3个宏定义。 set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) uic(User Interface Compiler),用户界面编译器,将根据.ui文件生成相…...

SQLite Update 语句详解

SQLite Update 语句详解 SQLite 是一款轻量级的数据库管理系统,以其简单、易用和高效的特点在全球范围内得到了广泛的应用。在 SQLite 中,UPDATE 语句是用于修改数据库表中记录的常用命令。本文将详细解析 SQLite 的 UPDATE 语句,包括其语法…...

理解PLT表和GOT表

1 简介 现代操作系统都是通过库来进行代码复用,降低开发成本提升系统整体效率。而库主要分为两种,一种是静态库,比如windows的.lib文件,macos的.a,linux的.a,另一种是动态库,比如windows的dll文…...

InfluxDB 2.0 到 3.0 技术架构演进与性能分析

架构演进 关键技术变化:InfluxDB 3.0 相比 2.0 在架构上进行了重大的技术升级。首先,核心代码由 Go 语言重写为 Rust,以利用 Rust 更高的性能和内存安全特性,从而显著提升数据库的性能、可靠性和安全性。其次,引入列式…...

介绍一下Mybatis的底层原理(包括一二级缓存)

表面上我们的就是Sql语句和我们的java对象进行映射,然后Mapper代理然后调用方法来操作数据库 底层的话我们就涉及到Sqlsession和Configuration 首先说一下SqlSession, 它可以被视为与数据库交互的一个会话,用于执行 SQL 语句(Ex…...

docker gitlab arm64 版本安装部署

前言: 使用RK3588 部署gitlab 平台作为个人或小型团队办公代码版本使用 1. docker 安装 sudo apt install docker* 2. 获取arm版本的gitlab GitHub - zengxs/gitlab-arm64: GitLab docker image (CE & EE) for arm64 git clone https://github.com/zengxs…...

7、怎么定义一个简单的自动化测试框架?

定义一个简单的自动化测试框架可以从需求理解、框架设计、核心模块实现、测试用例编写和集成执行等方面入手,以下为你详细介绍: 1. 明确框架需求和范围 确定测试类型:明确框架要支持的测试类型,如单元测试、接口测试、UI 测试等…...

linux组管理

创建组:groupadd (创建组命令的详细使用:如何创建组-CSDN博客) 修改组:groupmod (修改组命令的详细使用:如何修改组-CSDN博客) 组配置文件: /etc/group...

【MySQL】常用语句

目录 1. 数据库操作2. 表操作3. 数据操作(CRUD)4. 高级查询5. 索引管理6. 用户与权限7. 数据导入导出8. 事务控制9. 其他实用语句注意事项 如果这篇文章对你有所帮助,渴望获得你的一个点赞! 1. 数据库操作 创建数据库 CREATE DATA…...

二维数组 C++ 蓝桥杯

1.稀疏矩阵 #include<iostream> using namespace std;const int N 1e4 10; int a[N][N];int main() {int n, m; cin >> n >> m;for (int i 1; i < n; i) {for (int j 1; j < m; j) {cin >> a[i][j];}}for (int j m; j > 1; j--) {for (i…...

SAP HCM 回溯分析

最近总有人问回溯问题&#xff0c;今天把12年总结的笔记在这共享下&#xff1a; 12年开这个图的时候总是不明白是什么原理&#xff0c;教程看N次&#xff0c;网上资料找一大堆&#xff0c;就是不明白原理&#xff0c;后来为搞明白逻辑&#xff0c;按照教材的数据一样做&#xf…...

MySQl的日期时间加

MySQL日期相关_mysql 日期加减-CSDN博客MySQL日期相关_mysql 日期加减-CSDN博客 raise notice 查询目标 site:% model:% date:% target:%,t_shipment_date.site,t_shipment_date.model,t_shipment_date.plant_date,v_date_shipment_qty_target;...

前部分知识复习03

一、光照模型 经验型&#xff1a; 1.Lambert光照模型 2.Phong光照模型 3.Blinn-Phong光照模型 物理型&#xff1a; 4.PBR光照模型 二、渲染路径 渲染路径&#xff1a;是为进行光照计算而设置的渲染方式 前向渲染路径顶点照明渲染路径延迟渲染路径 顶点照明渲染路径中的灯光…...

Windows图形界面(GUI)-QT-C/C++ - QT MDI Area

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 一、概述 二、使用场景 1. 多文档编辑器 2. 多窗口应用程序 3. 多视图应用程序 三、常见样式 1. 子窗口管理 2. 布局管理 四、属性设置 1. 添加子窗口 2. 移除子窗口 3. 设置…...

基于微信小程序的私家车位共享系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

用deepseek制作我的第一个长视频---使用AI解决尝试新领域没有经验拖延的问题!

&#xff08;由于技术原因&#xff0c;联网搜索暂不可用&#xff09; 制作一个高质量的Vlog或生活记录长视频&#xff0c;即使零基础也能通过系统规划实现&#xff01;以下是为你定制的「从零到成品」全流程指南&#xff0c;结合叙事逻辑、剪辑技巧和效率工具&#xff0c;帮你…...

零基础学习电磁兼容(EMC)06--时域和频域

大部分工程师很熟悉示波器,并使用它读取信号的频率和电压值,然而,在EMC领域,绝大多数的数据都是从频谱分析仪、测量接收机等基于频率测量的设备中读取的,因此,了解这些频率参数的含义以及与时域信号的关系,是非常重要的。 时域和频域的本质:傅里叶变换及其逆过程 如下…...