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

「HHT(希尔伯特黄变换)——ECG信号处理-第十三课」2025年5月19日

一、引言

        心电信号(ECG)是反映心脏电活动的重要生理信号,其特征提取对于心脏疾病的诊断和监测具有关键意义。Hilbert - Huang Transform(HHT)作为一种强大的信号处理工具,在心电信号特征提取领域得到了广泛应用。本文将深入解析HHT在心电信号特征提取中的应用原理、优势以及实际操作步骤,帮助读者更好地理解和应用这一技术。

二、HHT基本原理

2.1 经验模态分解(Empirical Mode Decomposition,EMD)

       经验模态分解(Empirical Mode Decomposition,EMD)是HHT的核心部分,它能够将复杂的非平稳信号分解为若干个本征模态函数(Intrinsic Mode Functions,IMFs)。IMFs反映了信号在不同时间尺度上的局部特征。EMD分解过程是基于信号的局部极值点,通过不断筛选出信号中的局部极值点来构造上下包络线,从而得到各个IMFs。这一过程是自适应的,不需要预先设定信号的模型,能够很好地适应心电信号的非平稳特性。

图1 经验模态分解示意图

2.1.1. IMF的定义

        一个本征模态函数(IMF)必须满足以下两个条件:

  • 在整个数据段内,极值点(极大值点和极小值点)的数量和过零点的数量必须相等,或者最多相差一个。

  • 在任意时刻,由局部极大值点定义的上包络和由局部极小值点定义的下包络的平均值为零。

2.1.2 EMD分解步骤

        EMD分解过程可以分为以下几个步骤:

(1)寻找局部极值点
  • 对于给定的信号 s(t),首先找到所有的局部极大值点和极小值点。局部极大值点是指在该点及其邻域内,信号值达到局部最大值;局部极小值点是指在该点及其邻域内,信号值达到局部最小值。

(2)构造上下包络线
  • 使用三次样条插值方法,通过局部极大值点构造上包络线 Eupper​(t),通过局部极小值点构造下包络线 Elower​(t)。包络线的构造公式如下:

(3)计算均值
  • 计算上下包络线的均值 m(t):

(4)筛选过程
  • 从原始信号中减去均值 m(t),得到新的信号 h(t):

  • 检查 h(t) 是否满足IMF的条件。如果满足,则 h(t) 是一个IMF;如果不满足,则将 h(t) 作为新的信号,重复上述步骤,直到满足IMF的条件。

(5)分解IMFs
  • 重复上述过程,从原始信号中逐步提取出各个IMF。每次提取一个IMF后,从原始信号中减去该IMF,得到剩余信号,然后对剩余信号继续进行EMD分解,直到剩余信号不再包含任何IMF为止。

2.1.3 EMD分解的数学表示

        假设原始信号为 s(t),通过EMD分解可以得到 n 个IMF和一个残差 r(t):

        其中,IMFi​(t) 表示第 i 个本征模态函数,r(t) 是分解后的残差,包含信号的低频趋势或噪声成分。

2.2 Hilbert变换

        Hilbert变换用于将每个IMF转换为解析信号,从而得到信号的瞬时频率和瞬时幅值。解析信号的实部是原始信号,虚部是通过Hilbert变换得到的信号。通过解析信号可以计算得到瞬时频率和瞬时幅值。在心电信号中,瞬时频率可以反映心率的变化情况,例如在心房纤颤时,心率会变得不规则,瞬时频率会出现较大的波动。瞬时幅值则可以反映信号的强度变化,对于检测心肌梗死等导致信号幅度变化的疾病具有重要意义。

图2 希尔伯特-黄变换示意图(信号分解为瞬时频率和瞬时振幅)

2.2.1 Hilbert变换的定义

        对于一个实值信号 x(t),其Hilbert变换 x^(t) 定义为:

        解析信号 z(t) 可以表示为:

        其中,j 是虚数单位。

2.2.2 瞬时频率和瞬时幅值的计算

        解析信号 z(t) 可以表示为:

        其中,A(t) 是瞬时幅值,ϕ(t) 是瞬时相位。瞬时频率 ω(t) 可以通过瞬时相位的导数得到:

        瞬时幅值 A(t) 和瞬时相位 ϕ(t) 的计算公式分别为:

2.2.3 HHT的完整流程

HHT的完整流程可以总结为以下步骤:

  1. EMD分解:将原始信号 s(t) 分解为若干个IMFs和一个残差 r(t)。

  2. Hilbert变换:对每个IMF进行Hilbert变换,得到解析信号。

  3. 特征提取:通过解析信号计算瞬时频率和瞬时幅值,提取信号的特征。

三、HHT在心电信号特征提取中的应用

3.1 实验过程

        通过对心电信号进行EMD分解,我们得到了多个IMF。每个IMF代表了心电信号的一个局部特征,可以用于进一步的分析和诊断。以下是具体的实验结果和分析:

(1)原始心电信号

  • 图3展示了原始心电信号的波形,可以看出心电信号的周期性和波动性。

图3 原始心电信号(mitdb-222号记录)

(2)EMD分解结果

  • 图4展示了EMD分解后的10个IMF。每个IMF代表了心电信号的一个局部特征,可以用于进一步的分析和诊断。

图4 EMD分解(mitdb-222号记录)

  • 图5展示了EMD分解结果的小窗显示,通过偏移量区分不同的IMF,便于观察和比较。

图5 EMD分解的偏移量小窗显示(mitdb-222号记录)

(3)IMF的瞬时频率

  • 图6展示了某个IMF的瞬时频率。瞬时频率的变化可以反映心电信号的动态特性,有助于识别心电信号中的异常特征。

图6 IMF2的瞬时频率(mitdb-222号记录)

(4)统计学显著性检验

        在 HHT(希尔伯特-黄变换)中,显著性检验的结果可以帮助我们判断通过 EMD  分解得到的固有模态函数(IMF)是否具有统计学上的显著性。具体来说,显著性检验的结果可以帮助我们区分哪些 IMF 是由信号的真实特征引起的,哪些是由噪声引起的。

        显著性检验的目的是评估 IMF 的能量分布是否显著不同于白噪声的能量分布。具体步骤如下:

  1. EMD 分解:对心电信号进行 EMD 分解,得到多个 IMF。

  2. 计算显著性线:计算这些 IMF 的能量分布,并确定在特定置信水平(如 95% 和 99%)下的显著性线。

  3. 能量分布图:绘制能量分布图,将实际信号的 IMF 能量分布与显著性线进行比较。(95% 显著性线:表示在 95% 的置信水平下,IMF 能量分布的上限。99% 显著性线:表示在 99% 的置信水平下,IMF 能量分布的上限。能量分布点:表示实际信号的 IMF 能量分布的对数值。)

  4. 显著性判断:

    • 如果某个 IMF 的能量分布点超出了 99% 显著性线(上方),那么这个 IMF 在 99% 的置信水平下是显著的,可以认为它是由信号的真实特征引起的。

    • 如果某个 IMF 的能量分布点超出了 95% 显著性线但未超出 99% 显著性线,那么这个 IMF 在 95% 的置信水平下是显著的,但在 99% 的置信水平下不显著。

    • 如果某个 IMF 的能量分布点未超出 95% 显著性线(上方),那么这个 IMF 在 95% 的置信水平下也不显著,可以认为它主要是由噪声引起的。

  • 图7展示了EMD分解的IMF的显著性检验结果。在显著性检验结果图中,每个能量分布点旁边会标注对应的 IMF 序号。

图7 EMD分解IMF的统计学显著性检验(mitdb-222号记录)

        通过显著性检验,我们可以更准确地评估 EMD 分解结果的可靠性和有效性。显著性检验的结果可以帮助我们区分哪些 IMF 是由信号的真实特征引起的,哪些是由噪声引起的。这对于心电信号的特征提取尤为重要,因为心电信号中可能包含多种噪声成分。显著性检验可以帮助我们更准确地提取心电信号的特征,为临床诊断和健康监测提供更有效的工具。

3.2 实验小结

(1)特征提取的有效性

        实验结果表明,HHT 方法能够有效地提取心电信号的特征。通过 EMD 分解,我们可以将复杂的非平稳心电信号分解为多个 IMF,每个 IMF 代表了信号的一个局部特征。通过希尔伯特变换,我们可以计算每个 IMF 的瞬时频率和瞬时幅值,从而实现信号的时频分析。这些特征对于心脏疾病的诊断和监测具有重要意义。

(2)显著性检验结果

        显著性检验的结果表明,某些 IMF 的能量分布超出了 99% 显著性线,这些 IMF 在 99% 的置信水平下是显著的,可以认为它们是由心电信号的真实特征引起的。而其他 IMF 的能量分布未超出显著性线,可以认为它们主要是由噪声引起的。通过显著性检验,我们可以识别并去除那些不显著的 IMF,这些 IMF 主要是由噪声引起的。保留显著的 IMF,可以提高心电信号分析的准确性和可靠性。

Tips:下一讲,我们将进一步探讨,心电信号特征提取——EMD分解、EEMD分解、VMD分解等。

以上就是HHT(希尔伯特黄变换)的全部内容啦~

我们下期再见,拜拜(⭐v⭐) ~

(Ps:有代码实现需求,请见主页信息,谢谢支持!~)

相关文章:

「HHT(希尔伯特黄变换)——ECG信号处理-第十三课」2025年5月19日

一、引言 心电信号(ECG)是反映心脏电活动的重要生理信号,其特征提取对于心脏疾病的诊断和监测具有关键意义。Hilbert - Huang Transform(HHT)作为一种强大的信号处理工具,在心电信号特征提取领域得到了广泛…...

枪机定焦系统的自动控制装置

枪机定焦系统,作为一种监控设备,通常被广泛应用于各种需要高清、远距离监控的场合。该系统的主要特点是其镜头焦距固定,不能手动或自动调节,从而确保了监控画面的稳定性和清晰度。当提到枪机定焦系统采用自动功能时,可…...

【Unity】Unity中将字典序列化

Unity中将字典序列化,在预制体上能够看到字典的内容,也可以直接在预制体上拖拽给字典赋值 直接上代码 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine;public class SerializableD…...

VTK|箱体切割器

文章目录 效果实现类头文件实现类源文件如何调用项目git链接 效果 实现类头文件 /*** file BoxClipperController.h* brief 该头文件定义了 BoxClipperController 类,用于管理基于盒子的网格数据裁剪操作。* details 该类提供了使用 vtkBoxWidget 对网格数据进行裁…...

CS50x 01 c

1 getchar() 在 C 语言里&#xff0c;getchar()是一个十分常用的函数&#xff0c;其功能是从标准输入&#xff08;一般指键盘&#xff09;读取单个字符。下面为你详细介绍它的用法。 基本语法 getchar()函数的原型定义在<stdio.h>头文件中&#xff0c;语法形式如下&am…...

确保高质量的音视频通话,如何最大化利用视频带宽

在当今数字时代&#xff0c;音视频内容随处可见&#xff0c;对于开发者来说&#xff0c;理解互联网带宽变得至关重要。我们的在线体验质量&#xff0c;无论是观看高清电影还是演唱会直播&#xff0c;都严重依赖于互联网带宽的概念。在本文中&#xff0c;我们将揭示视频带宽的复…...

@RequestParam 和 @RequestBody、HttpServletrequest 与HttpServletResponse

在Java Web开发中&#xff0c;RequestParam、RequestBody、HttpServletRequest 和 HttpServletResponse 是常用的组件&#xff0c;它们用于处理HTTP请求和响应。下面分别介绍它们的使用场景和使用方法&#xff1a; 1. RequestParam RequestParam 是Spring MVC框架中的注解&am…...

HashMap 的特点及应用场景

一、HashMap 核心特点 1. 基本特性 键值对存储&#xff1a;基于 Map 接口实现&#xff0c;存储 Key-Value 对 允许 null 键/值&#xff1a;可以有一个 null 键和多个 null 值 非线程安全&#xff1a;多线程环境下需要额外的同步措施 无序存储&#xff1a;不保证元素的插入顺…...

day30 python 模块、包与库的高效使用指南

目录 一、Python库的分类与适用场景 表格 1.1 基础工具库 1.2 科学计算库 1.3 数据分析库 1.4 Web开发库 1.5 机器学习库 1.6 自动化脚本库 1.7 网络爬虫库 二、模块与包的导入方式 2.1 标准导入 2.2 从模块中导入特定项 2.3 非标准导入&#xff08;不推荐&#x…...

JVM核心配置参数详解与调优指南

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 引言 Java虚拟机&#xff08;JVM&#xff09;的配置参数直接影响应用程序的性能、稳定性和资源利用率。合理配置参数能够显著提升吞吐量、降低延迟并避免内存…...

python打卡第30天

知识点回顾&#xff1a; 一&#xff0c;导入官方库的三种手段。 使用 import 直接导入整个模块 import module_name 使用 from ... import ... 导入特定功能 from module_name import function_name 使用 as 关键字重命名模块或功能 import module_name as alias # 或 from mod…...

数据要素及征信公司数据要素实践

数据要素及征信公司数据要素实践 1.数据要素的定义与核心特征2.征信公司应用数据要素的实践路径3.总结1.数据要素的定义与核心特征 数据要素是数字经济时代的新型生产要素,指以电子形式存在、通过计算方式参与生产经营活动并创造价值的数据资源。 其核心特征包括: 新型生产…...

耗时十分钟,做了一个 uniapp 灵感泡泡机

最近&#xff0c;我用 UniApp 搭配 CodeBuddy 实现了一个充满童话感的小应用&#xff0c;名叫 IdeaBubbles&#xff08;灵感泡泡机&#xff09;。它是一个单页 WebApp&#xff0c;用来记录那些转瞬即逝的灵感时刻。整个界面以梦幻气泡和彩虹玻璃拟态为主题&#xff0c;视觉效果…...

《Head First 设计模式》第二章 - 笔记

本书是本人写的设计模式的笔记&#xff0c;写下核心要点&#xff0c;如果你掌握过设计模式&#xff0c;想快速阅读本书内容&#xff0c;这个笔记适合你阅读。如果你是新手&#xff0c;有 java 基础和 oo 设计原则基础&#xff0c;你适合跟我一样从零阅读本书。 第一章 观察者模…...

matlab绘制光学传递函数mtf曲线

在 MATLAB 中绘制光学系统的光学传递函数&#xff08;Modulation Transfer Function&#xff0c;MTF&#xff09;曲线可以通过以下步骤实现。MTF 是描述光学系统对物体细节的传递能力的函数&#xff0c;通常用于分析成像系统的性能。 假设我们有一个理想的光学系统&#xff0c…...

贵州某建筑物挡墙自动化监测

1. 项目简介 某建筑物位于贵州省某县城区内&#xff0c;靠近县城主干道&#xff0c;周边配套学校、医院、商贸城。建筑物临近凤凰湖、芙蓉江等水系&#xff0c;主打“湖景生态宜居”。改建筑物总占地面积&#xff1a;约5.3万平方米&#xff1b;总建筑面积&#xff1a;约15万平…...

自定义协议与序列化

前言 书接上回&#xff0c;我们上一篇提到了协议并且我们草率的写了一个协议&#xff0c;然后又对TCP的R和W留了一个伏笔&#xff0c;我们今天彻底做个了断。 UDP是面向数据报的&#xff0c;它要么不读&#xff0c;要么就是一次读完的&#xff0c;所以不存在数据断断续续的问…...

MySQL中的Change Buffer是什么,它有什么作用?

MySQL 中的 Change Buffer&#xff08;更改缓冲区&#xff09;是 InnoDB 存储引擎使用的一种特殊数据结构&#xff0c;主要用于优化对二级索引&#xff08;secondary indexes&#xff09;的写操作性能。 它的核心作用是&#xff1a; 当对表进行 INSERT、UPDATE 或 DELETE 操作…...

Ubuntu 20.04之Docker安装ES7.17.14和Kibana7.17.14

你需要已经安装如下运行环境: Ubuntu 20.04 docker 28 docker-compose 1.25 一、手动拉取镜像 docker pull docker.elastic.co/kibana/kibana:7.17.14docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.14 或者手动导入镜像 docker load -i es7.17.14.ta…...

ThreadLocal作一个缓存工具类

1、工具类 import java.util.HashMap; import java.util.Map;public class ThreadLocalUtil {// 使用Map存储多类型数据private static final ThreadLocal<Map<String, Object>> CONTEXT_HOLDER new ThreadLocal<>();// 存储数据public static void set(Str…...

DeepSeek在旅游行业的智能化革命

2025年,从贵州全域智慧旅游平台的行程规划革命,到黄山景区"AI旅行助手"的实时服务升级,再到宁夏"游宁AI"的全域智能导览,DeepSeek通过技术创新与行业场景的深度融合,正在重新定义"智慧旅游"的内涵。这场变革不仅体现在效率提升层面,更通过…...

说一下响应状态码有哪些?

HTTP响应状态码分类(RFC 7231标准) 1. 1xx(信息类) 临时响应,表示请求已被接收,需要继续处理 100 Continue:客户端应继续发送请求体 101 Switching Protocols:服务器同意升级协议(如WebSocket) 102 Processing(WebDAV):服务器正在处理但未完成 2. 2xx(成功类)…...

ABAP实战案例--获取当前数据由哪个用户锁住

1、业务场景&#xff1a; A用户正在打开订单&#xff0c;订单已上锁&#xff1b;B用户打开时只允许查看并提醒由哪个用户正在操作该笔订单。 2、函数使用&#xff1a;ENQUEUE_READ 代码示例&#xff1a; DATA:LV_MESSAGE TYPE SY-MSGV1,LV_UNAME TYPE UNAME.DATA:LV_GARG …...

CSS 选择器入门

一、CSS 选择器基础&#xff1a;快速掌握核心概念 什么是选择器&#xff1f; CSS 选择器就像 “网页元素的遥控器”&#xff0c;用于定位 HTML 中的特定元素并应用样式。 /* 结构&#xff1a;选择器 { 属性: 值; } */ p { color: red; } /* 选择所有<p>元素&#xff0c;…...

【深度学习新浪潮】如何入门人工智能?

入门人工智能(AI)需要结合数学基础、编程技能、机器学习理论和实践项目,逐步深入。以下是一个系统的学习路径,适合零基础或初学者参考: 一、打好基础:数学与编程 1. 数学基础(关键) AI的核心依赖数学,尤其是以下领域: 线性代数:向量、矩阵运算、特征分解等(用于…...

软件工程第六章-详细设计

文章目录 程序流程图PAD图N-S图(盒图)流图根据PDL创建流图把程序流程图映射到流图 程序流程图 PAD图 N-S图(盒图) 流图 根据PDL创建流图 把程序流程图映射到流图...

Profinet转Modbus TCP协议转换技术,打通能耗监控‘最后一公里’

在工业自动化领域&#xff0c;Profinet与Modbus TCP是两种广泛使用的通讯协议。Profinet通常用于实时性要求较高的工业控制系统&#xff0c;而Modbus TCP则因其简单、开放的特性广泛应用于各类设备的通信。然而&#xff0c;由于两者在技术规范上的差异&#xff0c;直接的互联互…...

C++:因子问题

【描述】 任给两个正整数N、M&#xff0c;求一个最小的正整数a&#xff0c;使得a和(M-a)都是N的因子。 【输入】 包括两个整数N、M。N不超过1,000,000。 【输出】 输出一个整数a&#xff0c;表示结果。如果某个案例中满足条件的正整数不存在&#xff0c;则在对应行输出-1 【样例…...

SAP系统的委外业务是什么?委外采购(标准委外)与工序外协的区别有哪些?

【SAP系统研究】 #SAP #委外 #外包 #代工 委外业务是很常见的业务类型。 企业生产过程中,会在自制生产之外,产生委外加工业务,也称之为外包或者代工。还有一些企业,自己只负责设计、市场等业务,而将生产加工环节交给其他公司。 一、委外产生的原因 有的企业由于环评、…...

小乌龟git中的推送账户、作者账户信息修改

文章目录 修改git文档作者信息修改git推送用户信息参考文献 修改git文档作者信息 小乌龟中的用户信息为&#xff1a;作者信息&#xff0c;并非推送用户。 上边用户信息&#xff0c;修改的是文件的作者信息。如果想要修改git服务中记录的推送用户信息需要修改推送用户信息。 …...

vue2.0 组件

个人简介 &#x1f468;‍&#x1f4bb;‍个人主页&#xff1a; 魔术师 &#x1f4d6;学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全栈发展 &#x1f6b4;个人状态&#xff1a; 研发工程师&#xff0c;现效力于政务服务网事业 &#x1f1e8;&#x1f1f3;人生格言&…...

5月19日笔记

BGP的路由聚合 BGP&#xff08;Border Gateway Protocol&#xff0c;边界网关协议&#xff09;是互联网中用于在不同自治系统&#xff08;AS&#xff09;之间交换路由信息的一种协议。在BGP中&#xff0c;路由聚合是一种技术&#xff0c;它允许网络管理员通过减少路由表中冗余的…...

【SPIN】PROMELA并发编程(SPIN学习系列--3)

一、active与run&#xff1a;Promela的进程创建基石 在Promela语言中&#xff0c;**active和run**是构建并发模型的核心关键字&#xff0c;分别用于定义主动进程和动态创建被动进程&#xff1a; active proctype <进程名>() 作用&#xff1a;声明主动进程类型&#xff0…...

深入理解 Redisson 看门狗机制:保障分布式锁自动续期

在分布式系统的开发中&#xff0c;分布式锁是解决资源竞争、数据一致性问题的关键手段。Redisson 作为一个在 Java 领域广泛使用的 Redis 客户端框架&#xff0c;为我们提供了功能强大且易用的分布式锁实现。其中&#xff0c;看门狗&#xff08;watchDog&#xff09;机制更是 R…...

App 发布后才想起安全?iOS 后置混淆的实战方法与工具路线(含 Ipa Guard 应用体验)

作为一名 iOS 开发者&#xff0c;我们对“上线前打包”和“上线后复盘”都不会陌生。但坦白说&#xff0c;在忙完功能、优化、测试、提交审核这些流程之后&#xff0c;大多数人对“App 安全”只剩下一个念头&#xff1a;上线了&#xff0c;就算了吧。 然而&#xff0c;真正在 …...

k8s1.27集群部署mysql8.0双主双从

环境介绍&#xff1a; #节点分配 159m--->两个master&#xff0c;生产环境建议&#xff0c;一个master一个节点。 160n-->slave-0 161n-->slaves-0 #存储卷 pv-->放在节点上&#xff0c;没用nfs/云存储。hostpath方式存储。pv的资源分配1G&#xff0c;较小&#…...

C++经典库介绍

在 C 开发的漫长历程中&#xff0c;涌现出了许多经典的库&#xff0c;它们在不同的领域发挥着重要作用&#xff0c;极大地提升了 C 开发的效率和质量。下面为你介绍一些 C 开发中的经典库。 标准模板库&#xff08;STL&#xff09; STL 堪称 C 编程领域的基石&#xff0c;是每…...

树莓派系列教程第八弹:结合 ESP32-CAM 实现远程摄像头监控

在当今数字化时代&#xff0c;远程监控技术已经渗透到我们生活的方方面面。无论是家庭安防、远程办公&#xff0c;还是物联网设备的监控&#xff0c;能够随时随地查看摄像头的画面都显得尤为重要。今天&#xff0c;我们将带你走进一个充满创意和技术挑战的项目——利用树莓派和…...

AI人工智能写作平台:AnKo助力内容创作变革!

AI人工智能写作平台&#xff1a;AnKo助力内容创作变革&#xff01; AI人工智能写作平台正改变内容创作方式。AnKo作为领先的AI人工智能写作平台&#xff0c;免费为用户提供强大创作支持。AnKo AI人工智能写作平台整合多模型技术&#xff0c;提升写作效率和质量。 AI人工智能写…...

学习黑客 PowerShell 详解

PowerShell 详解&#xff1a;管道、过滤和常用命令技术指南 &#x1f680; 作者: 海尔辛 | 发布时间: 2025-05-19 12:18:38 UTC &#x1f4cb; 目录 PowerShell 管道详解文本搜索与过滤结果限制与选择比较和条件操作符格式化输出对象操作与属性访问错误处理综合实例与最佳实…...

【QT】一个界面中嵌入其它界面(二)

以下是使用 QStackedWidget 实现动态切换界面的完整代码&#xff0c;包含详细的注释和实现步骤&#xff1a; 完整代码 1. 子界面类&#xff1a;Page1 和 Page2 首先创建两个简单的子界面类&#xff0c;用于嵌入到 QStackedWidget 中。 // Page1.h #ifndef PAGE1_H #define P…...

前端的面试笔记——HTMLJavaScript篇(二)前端页面性能检测

前端页面性能检测和判定是优化用户体验的核心环节&#xff0c;需要结合实验室数据&#xff08;Lab Data&#xff09;、现场数据&#xff08;Field Data&#xff09;和行业标准综合评估。以下是主流方法、工具及判定标准的详细解析&#xff1a; 一、性能检测的核心维度与指标 …...

FD+Mysql的Insert时的字段赋值乱码问题

方法一 FDQuery4.SQL.Text : INSERT INTO 信息表 (中心, 分组) values(:中心,:分组); FDQuery4.Params[0].DataType : ftWideString; //必须加这个数据类型的定义&#xff0c;否则会有乱码 FDQuery4.Params[1].DataType : ftWideString; //ftstring就不行&#xff0c;必须是…...

论坛系统(中-2)

软件开发 实现业务功能 个人中心 页面结构介绍 个人中心的页面结构分为三部分 1> 导航栏 2> 正文部分 3> 页脚部分 index.html 的页面结构 1> 导航栏 2> 正文部分 3> 页脚部分 获取用户信息 实现逻辑 ⽤⼾提交请求&#xff0c;服务器根据是否传⼊I…...

火山 RTC 引擎9 ----集成 appkey

一、集成 appkey 1、网易RTC 初始化过程 1&#xff09;、添加头文件 实现互动直播 - 互动直播 2.0网易云信互动直播产品的基本功能包括音视频通话和连麦直播&#xff0c;当您成功初始化 SDK 之后&#xff0c;您可以简单体验本产品的基本业务流程&#xff0c;例如主播加入房间…...

Protobuf协议生成和使用

知识点一 利用protoc.exe编译器生成脚本文件 //1.打开cmd窗口 //2.进入protoc.exe所在文件夹&#xff08;也可以直接将exe文件拖入cmd窗口中&#xff09; //3.输入转换指令 //protoc.exe -I配置路径 --csharp_out输出路径 配置文件名 //注意&…...

2025年—ComfyUI_关于ComfyUI的零碎小知识

之前有个朋友问我要了一个软件安装包&#xff0c;我分享了网盘链接&#xff0c;过了会儿朋友说解压后点击安装一直提示失败&#xff0c;还发给我报错信息&#xff0c;我从没遇到过&#xff0c;也不知做何解&#xff0c;于是要了截图&#xff0c;看着不对劲&#xff0c;问其在哪…...

用 SamGeo 库实现遥感影像自动分割:从本地 TIFF 到 SHP/GeoJSON 的一站式处理(Python 脚本实现)

背景:地理空间数据处理的智能化转型与 SAM 模型的革新应用 在遥感测绘、城市规划、环境监测等领域,地理空间影像数据的自动化处理一直是提升效率的核心需求。传统的影像分割方法依赖人工标注或复杂的参数调优,难以应对海量卫星 / 无人机影像的快速分析;而栅格数据(如 Geo…...

Excel导入校验

校验监听器 /*** Excel 校验监听器* param <T>*/ public class AnalysisValidReadListener<T> extends AnalysisEventListener<T> {private static final Logger logger LoggerFactory.getLogger(AnalysisValidReadListener.class);private static final i…...

【批量图片查找】在电脑上如何根据文件名清单一次性查找多张图片并复制到指定文件夹,基于Python的解决方案

一、应用场景 这个工具适用于以下场景&#xff1a; 设计师需要从大量素材中筛选特定图片复制并保存摄影师需要根据文件名批量整理照片查找筛选复制电商运营人员需要从产品库中提取特定商品图片复制到指定文件夹数据分析师需要批量收集特定图片复制保存用于处理任何需要从大量图…...