019基于脑电图信号和CNN的癫痫发作检测2018

根据世界卫生组织的数据,癫痫是一种神经系统疾病,影响着大约5000万人。虽然脑电图(EEG)在癫痫患者的大脑活动监测和癫痫诊断中发挥着重要作用,但需要专家对所有脑电图记录进行分析,以检测癫痫活动。这种方法显然是耗时和繁琐的,及时和准确的癫痫诊断对启动抗癫痫药物治疗至关重要,并随后降低未来癫痫发作和癫痫相关并发症的风险。在本研究中,基于原始脑电图信号的卷积神经网络(CNN)代替人工特征提取,用于区分癫痫发作期、前期段和间期段。我们比较了基于颅内Freiburg和头皮CHB-MIT数据库时频域信号在癫痫信号检测中的表现,以探索这些参数的潜力。为了探索该方法的可行性,我们进行了三种类型的实验,包括两个二元分类问题(间期与前期和间期与发作期)和一个三级问题(间期与前期与发作期)。使用Freiburg数据库中的频域信号,三种实验的平均准确率分别为96.7、95.4和92.3%,而CHB-MIT数据库中的平均检测准确率分别为95.6、97.5和93%。利用Freiburg数据库中的时域信号,三种实验的平均准确率分别为91.1、83.8和85.1%,而CHB-MIT数据库中的信号检测准确率分别为59.5、62.3和47.9%。基于这些结果,利用频域信号有效地检测了这三种情况。然而,使用时域信号作为输入样本对这三种病例的有效识别仅对部分患者实现。总体而言,频域信号的分类精度明显高于时域信号。此外,频域信号在CNN应用中比时域信号具有更大的潜力。

数据集

颅内Freiburg和头皮CHB-MIT数据库

Time and Frequency Domain Signals

在本研究中,我们使用时域或频域信号作为输入进行分类。频域是一个描述信号频率特征的坐标系。频谱图反映了信号的频率和幅值之间的关系,经常被用来分析信号的特征(Wen and Zhang, 2017)。对于每个通道,我们首先使用快速傅立叶变换(FFT)方法将时域信号转换为频域信号(Rasekhi et al., 2013)。

图1A显示了Freiburg数据库中患者3的时域通道的间期、前期和发作期记录。脑电图信号本质上是明显的非线性和非平稳的,而信号是高度复杂的,视觉解释信号是困难的(Acharya et al., 2017)。图1B显示了FFT应用于图1A所示的间音、前音和中音录音所产生的频域信号。x轴表示频率,y轴表示振幅。

 

在某些频率下,在发作期、发作前和发作间期信号之间观察到显著的变化,这些特征适合分类。相比之下,其他一些频率的振幅很难区分,这些封闭的特征是无效的。分类器需要许多有效的特性。与时域信号相比,频域信号在脑电图数据中更为明显(Ren and Wu, 2014)。

CNN

使用cnn进行大规模成像和视频识别已经非常成功(Sermanet et al., 2013;Simonyan和Zisserman, 2014a),因为建立了大型公共图像存储库,如ImageNet (Deng等人,2009)和高性能计算系统,如大规模分布式集群(Dean等人,2012;Simonyan和Zisserman, 2014b)。

最近,一些研究开始将cnn应用于EEG信号(Ullah et al., 2018),使用cnn进行癫痫预测的研究兴趣增加了,可能是因为这些方法已经被广泛使用,因此在研究社区中得到了更好的建立和更熟悉。

CNN包含一个输入层和一个输出层,以及多个隐藏层。CNN的隐藏层通常由卷积层、池化层和完全连接层组成。卷积层对输入进行卷积运算,将结果传递给下一层。卷积模拟了单个神经元对视觉刺激的反应。卷积网络可以包括局部或全局池层,将一层神经元簇的输出合并到下一层的单个神经元中。平均池化使用前一层中每个神经元簇的平均值。全连通层将一层中的每个神经元连接到另一层中的每个神经元。CNN在原理上与传统的多层感知器神经网络相同。

与传统的分类器相比,cnn在分析高维数据方面具有明显的优势。cnn采用了一种参数共享方案,在卷积层中用于控制和减少参数数量。池化层的设计是为了逐步减少表示的空间大小和网络中参数和计算的数量,并随后控制过拟合。

如图2所示,直接将一个基于时间域或频域信号的多通道时间序列作为输入层输入到CNN中。我们使用的CNN模型由三个主要层组成。在结构上,cnn有卷积层,中间穿插着池化层,然后是完全连接层。卷积层有6个通过5 * 5内核连接到输入层的特征映射,由在EEG信号中滑动的内核组成。核由要与输入EEG信号和stride (stride = 1)卷积的矩阵组成,并控制滤波器在输入信号上卷积的程度。第二层由2 * 2平均池化层组成,主要用于提取关键特征并降低网络的计算复杂度。最后的全连接层使用sigmoid激活输出分类结果(即ictal、preictal或intertal)。

 

在本研究中,由于多种原因,我们设计了一个不超过三层的CNN。一方面,在癫痫数据库中,在发作期和发作前期获得的样本数量通常比在发作间期获得的数量少得多,导致样本数量严重失衡,简单的结构满足了较少样本的需求。此外,电极数量少也在一定程度上限制了网络的层数。另一方面,简单的训练结构更有利于癫痫信号的在线临床诊断(Y an et al., 2018)。

该检测系统在所有患者身上进行了测试。通过6倍交叉验证,将数据集进一步随机划分为训练集和独立测试集,以确保结果的有效性和可泛化性,从而对新数据进行预测。6个子集中的每一个都作为用其余5个子集训练的模型的独立抵抗测试集(Xiang等人,2015)。在每次运行期间,五个子集用于训练,其余子集用于测试,提供了所有测试集彼此独立的优势(Kevric和Subasi, 2014)。我们进行了大量的试验,以测试在我们的实验中分析的哪个内部架构提供了最合理和适当的结果,直到均方误差曲线归一化,如图3所示。

  Prediction of Performance Indices性能指标预测

评价分类效果的统计指标包括精度(acc)、灵敏度(sen)和特异性(spe),计算方法如下:

 P表示发作前或发作期的样本数,N表示发作间期的样本数,FP表示发作间期误认为发作前或发作期的样本数,Fn表示发作前或发作期误认为发作间期的样本数,Tp和Tn表示被准确分类的样本数。这三个被用来评估该方法二分类问题的性能。对于三类问题,只考虑了精度。

RESULTS

使用基于时间和频域信号的Freiburg和CHB-MIT数据库对这里描述的方法进行了评估。该系统在三个案例上进行了测试:涉及二分类问题的两种实验[(I)发作间期与发作前和(Ii)发作间期与发作]和一个三类问题(发作间期与发作期与发作前)。我们为每个患者单独训练和测试了我们的方法,所有被分析的患者的分类结果显示在表1到表4中。还指出了所获得的平均准确度、灵敏度和特异值

Results From the Freiburg Databas

Results for the Frequency Domain Signals频域信号

该方法对Freiburg数据库中的患者进行基于分段的性能评估的实验结果如表1所示。由于人的个体差异,不同被试的检测质量存在明显差异。表1的最后一行显示了所有21例患者的三个统计指标(准确性、敏感性和特异性)的平均结果。

 

间期和前期信号的平均分类准确率为96.7%,平均敏感性和特异性值分别为96.7和96.8%。患者9、11、13、14、21分类效果最好,但部分患者分类效果较差,如患者8。该患者的敏感性和特异性值分别为83.3和79.7%,非常不令人满意。总体而言,除患者8和16外,几乎所有患者的分类准确率为>90%。这些患者的分类敏感性和特异性值相对均衡。

间期信号和发作期信号的分类也获得了良好的结果,该方法的平均准确性、灵敏度和特异性值分别为95.4、93.7和97.2%。患者8的分类准确率小于90%,而其他所有患者的分类准确率为>90%。9号患者的信号的二元分类仍然令人满意。表中显示的结果表明,每个患者的分类敏感性和特异性明显平衡。

对于间期、发作期和前期信号的分类,只给出每个患者的准确性;21例患者的平均分类正确率为92.3%。其中9例患者的分类正确率为>95%,认为结果良好,8例患者的分类正确率在90 ~ 95%之间。其余4例患者的信号分类准确率<90%。

Results for the Time Domain Signals时域

表2报告了Freiburg数据库中患者时域信号的分类结果。三种实验的平均正确率分别为91.1、83.8和85.1%。

 

对于间期和前期信号,三个测量值的平均值为所有患者的>90%。然而,6例患者的准确性、敏感性或特异性值均不令人满意。对于一些个体,如患者2、3、15和19,获得了几乎理想的结果。

在对间期和发作期进行分类时,整体结果略差,三种测量方法的评分分别为83.8、80.4和87.1%。只有7例患者的>准确率达到90%,8例患者的信号分类准确率<60%。患者11和15的准确率在60 - 70%之间,所有其他患者的信号分类的准确性一般都是良好的。

对于三类问题,平均准确率为85.1%,67%的患者报告了90%的分类准确率,最高达到98.1%。值得注意的是,在一些患者中,如患者8和9,信号分类的准确性非常不理想。

Comparison of the Frequency and Time Domain频率和时域的比较

图4为两类二元分类问题和三类问题中所有患者基于时间和频域的准确率值对比。在三个实验中,频域的平均精度高于时域的平均精度。如图4A所示,部分患者对间期信号和前期信号进行时域分类的结果优于频域分类的结果,而其他患者则出现了相反的趋势。对于一些患者,如患者8和9,使用时域的结果比使用频域的结果差得多。如图4B所示,除患者20外,所有患者的频域结果都比时域结果更能区分间期和间期信号。患者14的频率和时域结果非常相似。图4C所示结果与图4A所示结果相似;然而,频域的平均性能要高于时域。

Results From the CHB-MIT Database
Results for the Frequency Domain Signals频域

表3为CHB-MIT数据库中基于频域信号的所有患者的结果。与Freiburg数据库类似,我们使用该数据库中的患者进行了三个不同的实验。

对于间期和前期信号的分类,使用该数据库获得的结果的平均准确性、灵敏度和特异性分别为95.6、94.2和96.9%。患者8和患者20的三种测量结果最好,但部分患者如患者21的分类准确率不理想(84.0%)。病例17的分类正确率<90%。总体而言,大多数患者的分类的准确性、敏感性和特异性值为>90%。

将该方法应用于间期和发作期信号的分类时,所有患者三个测量值的平均值为>90%,平均结果优于间期和间期信号的分类。从所有患者的整体来看,患者14和21的分级敏感性<90%,>为85%。三种测量方法的其他值均为>90%。

对于三类问题,获得了93.0%的准确率,部分患者如患者1和患者9的分类结果非常好。仅在患者14中观察到信号分类的准确性较差。4例患者(患者16、21、23、24)的信号分类准确率不理想,为80 ~ 90%,其他患者的信号分类准确率为>90%。

Results for the Time Domain Signals时域

表4显示了CHB-MIT数据库中所有患者的时域信号数据。三种实验的平均性能明显较差,平均准确率分别为59.5、62.3和47.9%。三个实验中只有一个病人获得了良好的结果,而其他所有病人的结果都令人失望。在一些患者中,如患者4和5,间期和前期信号的分类诊断性能仅维持在随机水平,而患者22和23的结果非常差,低于随机水平。间期和发作期信号分类的平均准确率略高于间期和前期信号分类。不可避免的是,对个体受试者的分类准确性仅维持在随机或低于随机水平。对间期信号、发作期信号和前期信号的平均准确率为47.9%。

 频域与时域的比较

图5总结了CHB-MIT数据库中被试基于频率和时域信号的分类性能对比。一般来说,利用频域信号可以有效地检测出这三种情况。基于频域的分类方法明显优于基于时域的分类方法。三次实验用频域信号计算的平均分类正确率分别为95.6、97.5和93.0%,显著高于用时域信号计算的平均分类正确率(分别为59.5、62.3和47.9%)。对于所有患者,用频域信号计算的分类性能均高于用时域信号计算的分类性能。

 DISCUSSION

Comparison With Other Methods

其他研究人员已经提出了许多检测癫痫发作的其他方法。例如,Shoeb和Guttag提出了一种基于CHB-MIT数据库的针对患者的机器学习技术。他们提取频谱和空间特征,然后将非eeg特征组合成特征向量;然后使用支持向量机进行分类。他们的方法在基于事件的评估中检测到了173例癫痫发作中的96% (Shoeb和Guttag, 2010)。

另一项研究(Patnaik和Manyam, 2008)提出了一种基于Freiburg数据库的方法,作者使用小波变换和神经网络,并应用谐波权重进行分类;该方法的平均特异性和灵敏度分别为99.19和91.29%。

另一种使用Freiburg数据库的患者特异性癫痫检测方法已被描述(Yuan等人,2012)。从分形几何中提取分形截距作为脑电信号的一种新的非线性特征,并将其作为一种线性特征计算相对波动指数。由两个脑电信号描述子组成的特征向量被输入单层神经网络进行分类。在基于节段的水平上,敏感性为91.72%,特异性为94.89%。这些现有的癫痫检测方法使用手工设计的技术从脑电图信号中提取特征。它们的性能在很大程度上依赖于超参数和数据的选择,研究不仅需要大量的专业知识,而且需要大量的劳动力。

因此,与传统的手工特征提取方法相比,自动特征学习具有实质性的优势(Ullah et al., 2018)。cnn是一种不需要手动特征提取或选择的DL方法。cnn提取特征比手工设计的特征更具辨别性和鲁棒性,并适应内部数据结构(Cun, 1995)。

当然,也有一些研究使用DL来检测癫痫。使用Bonn数据库实现了13层深度CNN算法来检测正常、癫痫发作和癫痫发作类别(Acharya等人,2017年)。该技术的准确性、特异性和灵敏度分别为88.67、90.00和95%,但13层深度CNN显然需要大量的劳动才能阐明最佳网络结构。在我们的研究中,CNN只包含三个主要层,与深层网络相比,网络非常简单。同时,使用同一网络对两个数据库进行分析,得到了满意的结果。此外,当模型训练完成后,采用1-s时间段进行检测。所有这些特征为临床实时检测提供了很大的可能性。

与上述研究相比,我们的研究报告了相同甚至更好的表现。对于Freiburg数据库,我们获得了所有三个实验的平均准确性为96.7,95.4和94.3%,而使用CHB-MIT数据库获得的平均准确性为95.6,97.5和93%三个案例进行了分析。在本研究中,我们基于所提出的方法分析了两种类型的二元分类问题和一个三类问题,使用颅内数据和头皮数据。三类问题很少使用这两个数据库的数据进行测试并取得很好的结果,大量的结果将有力地证明该方法的可行性。

Frequency and Time Domains频率和时域

许多现有的自动癫痫检测技术使用传统的信号处理和机器学习技术。其中一些技术在某一问题上表现出良好的准确性,但在其他问题上表现得不准确,例如,它们对癫痫发作和非癫痫发作病例的分类准确率很高,但表现得很差在区分正常信号、间期信号和前期信号的性能(Zhang等人,2017)。剩下的挑战之一是开发一个将二元和三元问题分类的广义模型因此,我们在三种情况下测试了这个系统:(i)间期和前期(ii)间期与发作期,(iii)间期与发作期与发作前期。三种实验的结果都达到了90%的准确率,即使是基于频域的三元问题,但系统对三元问题的分类性能在一定程度上有所下降。在这三种情况下,频域的表现优于时域。

此外,开发一种成功的癫痫检测方法所面临的一个挑战是,一些方法基于自己的数据库显示出出色的结果,但当使用其他数据库时,它们的性能会下降。因此,识别一种能充分适应多个数据集的方法是具有挑战性的。此外,癫痫患者不同脑位、患者年龄、患者性别和癫痫发作类型的脑电图分析特征差异显著,导致个体差异显著(Wilson et al., 2004;杨等,2018)。在本研究中,我们使用了两个完全不同的数据库来测试相关方法,这两个数据库中的患者表现出几种类型的癫痫发作和较大的年龄范围。

根据我们的结果,在所有实验中,无论使用Freiburg数据库还是CHB-MIT数据库,基于频域的结果的平均准确性都优于基于时域的结果。此外,对大多数患者进行频域分析得到了更好的结果。因此,该方法可能适用于解释个体差异或其他癫痫数据库在一定程度上。两种数据库中所有患者的准确性范围在频域小于时域。

因此,个体差异对基于频域的方法性能的影响可能比基于时域的方法更小,表明更大的稳定性。最后,癫痫检测具有挑战性,因为大脑的电活动是由许多类具有重叠特征的神经元调节的(Shoeb和Guttag, 2010),因此不可能通过提取更有效的特征和排除不同类之间的无关特征或冗余特征来提高检测性能。在我们对Freiburg数据库的研究中,部分患者的时域性能优于频域,但频域的平均性能仍较好。对于CHB-MIT数据库,频域在几乎所有情况下都优于时域。也就是说,利用频域信号可以有效地检测出两类和三类信号。两种数据库基于频域的分类均明显优于基于时域的分类。因此,CNN在频域上比在时域上更容易提取出更有效的特征。

Impacts of the T wo Databases两个数据库的影响

我们使用两个不同的公共数据库完成了三组实验。对于Freiburg数据库中频域信号的分析,三次实验的平均准确率分别为96.7、95.4和92.3%。对于CHB-MIT数据库,三个实验的平均准确率分别为95.6、97.5和93%。当使用频域段作为输入样本时,这两个数据集的性能相当。然而,当使用原始信号作为训练数据时,两组数据显示出显著的差异。

Freiburg数据库三次实验的平均准确率分别为91.1、83.8和85.1%,而CHB-MIT数据库的平均准确率仅为59.5、62.3和47.9%。对这种差异的一个潜在解释是,Freiburg数据库中的数据来自颅内信号,而CHB-MIT数据库中的信号来自头皮电极。颅内信号信噪比高,伪影少,而头皮电极信号含有较多的噪声干扰,可能导致提取的特征质量较低。对这种差异的另一种可能的解释是,弗莱堡数据库中的信号是直接从焦点区域记录的,而CHB-MIT数据库中的信号是从全脑电极记录的,可能包含了更多的冗余信息。由于硬脑膜和颅骨的空间平均效应,颅内脑电图还包括在头皮脑电图中没有观察到的特征(Shoeb和Guttag, 2010)。

CONCLUSIONS

目前,对脑电图记录中的癫痫活动的检测主要采用一些传统的和有发展趋势的技术。这一过程的自动化具有许多优点,包括更快的诊断、持续监测和降低医疗总成本(Y an等人,2016b)。我们通过实验比较了时域和频域信号的性能。该方法不仅避免了复杂的特征提取过程,而且使用了非常简单的CNN结构。对Freiburg和CHB-MIT数据集进行了分析,以确认我们的方法的有效性,频域信号比时域信号表现更好。对频域信号进行分析,解决了两类和三类问题,得到了满意的结果。本研究的一个局限性是深度学习算法所需要的大量连续脑电图记录是有限的。此外,信号的非突发性现象和不一致性,以及不同的大脑位置、患者年龄、患者性别和癫痫类型都是影响表现一致性的挑战性问题。未来,我们计划将该方法应用于癫痫信号的在线检测。分类之后,我们的下一个研究对象是建立一个成功的癫痫发作预测模型。

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

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

相关文章

脑电情绪识别资源整理

每篇文章都在主页可以看到 脑电方向的资源比较少,整理了自己用过的所有资源。都已经成功运行过了,保证可以成功运行。 都是基于DEAP和SEED数据集的脑电情绪识别源码 几乎每份代码都在csdn上简单介绍过。 目前一共52份(会一直更新) 尽可能的找到了一些论文的源码(一共…

007利用癫痫脑电图数据检测癫痫发作和特征频率的深度卷积神经网络方法-2021

A Deep Convolutional Neural Network Method to Detect Seizures and Characteristic Frequencies Using Epileptic Electroencephalogram (EEG) Data Abstract 背景&#xff1a;脑电(EEG)结合深度学习计算方法诊断癫痫发作近年来备受关注。然而&#xff0c;到目前为止&…

轩辕:首个千亿级中文金融对话模型

背景 目前开源的大语言模型或多或少存在以下痛点&#xff1a; 缺少专门针对中文进行优化过的的大语言模型。 支持中文的开源模型的参数规模偏小&#xff0c;没有超过千亿。比如清华和智谱AI的ChatGLM-6B目前只开源了6B参数模型&#xff0c;盘古alpha也只开源了13B的模型。 支…

量化择时——SVM机器学习量化择时(第1部分—因子测算)

文章目录 机器学习在量化模型上的应用机器学习量化应用场景量化模型有效性的思考 机器学习模型在量化择时中的应用训练与预测流程训练数据特征构造 SVM模型与测算SVM训练与预测效果测算效果分析 最近ChatGPT比较火&#xff0c;NLP的同学们感触肯定会更深。NLP的应用为人所知并积…

微信表情包下载保存到本地,(新版微信可用)简单教程

问题&#xff1a;微信新版无法保存表情包&#xff08;微信表情包加密&#xff09;&#xff0c;且微信网页版不能登录 方法一&#xff1a; 1、登录你的企业微信、添加外部微信联系人&#xff08;自己的微信号&#xff09; 2、微信&#xff08;自己的微信号&#xff09;向企业…

小程序微信聊天功能中发送emoji表情

客服聊天要能发表情&#xff0c;&#xff08;不用输入法自带的&#xff09; 1、把emoji表情存入数组中再读取出来 2、微信开发工具上是这样的&#xff1a; 3、手机上是这样的&#xff1a; 4、第2步中改变了大小&#xff0c;到手机上发现没有用&#xff0c;间距还是有用的 5、…

动图太大无法添加到微信表情怎么办?

微信是我们平时经常使用的一种聊天工具&#xff0c;在平时使用微信聊天的时候经常会使用一些非常有趣的GIF表情&#xff0c;但是有时候在自己从其他地方保存的动图却无法添加到微信表情中&#xff0c;提示文件太大无法添加&#xff0c;这时候只能降低GIF动图的体积才能继续使用…

微信添加表情提示过大怎么解决?GIF太大怎么变小?

GIF这种图片格式并不是新出现的一种图片格式&#xff0c;其实很多年前就已经存在了&#xff0c;现在各种社交媒体越来越多&#xff0c;自媒体发展的越来越好&#xff0c;使用gif动图表情包的越来越多&#xff0c;虽然gif动态图非常有趣&#xff0c;但是不得不说gif动态图的优缺…

批量保存微信收藏的表情包

需求 因为最近总是在钉钉聊天&#xff0c;通常使用表情包来替代文字表达自己的意思&#xff0c;但是发现钉钉的表情包太过于官方&#xff0c;就想着如何把微信收藏的表情包偷过来&#xff0c;一键导入进去。 方法 首先需要登录微信如何获取自己收藏的表情包&#xff1f;如何…

微信.gif表情包保存到本地

发现微信动态表情包保存到本地非常的不友好&#xff0c;于是有了表情包保存 先找到微信要保存的表情包添加表情 然后微信搜索表情保存助手 发送表情包&#xff0c;点击表情包链接&#xff0c;下载表情 欢迎点赞感谢我

android高仿微信表情输入与键盘输入详解-解决跳闪与表情切换问题

最近公司在项目上要使用到表情与键盘的切换输入&#xff0c;自己实现了一个&#xff0c;还是存在些缺陷&#xff0c;比如说键盘与表情切换时出现跳闪问题&#xff0c;这个相当困扰我&#xff0c;不过所幸在Github&#xff08;其中一个不错的开源项目是https://github.com/dss88…

微信emoji表情数据如何添加到json中

json是一种通用的快速传递数据的方式&#xff0c;但是在处理微信消息中&#xff0c;当使用JSON在存储emoji表情数据的时候&#xff0c;由于微信emoji表情的格式比较特殊&#xff0c;例如&#xff1a;[emoji\uD83D\uDC35]&#xff0c;如果按照正常的JSON数据来存储&#xff0c;是…

我是如何获得微信内置表情的

View Post on Blog 授人以鱼&#xff0c;不如授人以渔。虽然百度出来有很多下载资源&#xff0c;但并没有讲怎么获得的&#xff08;毕竟天朝特色&#xff09; 在 GitHub 上直接搜微信表情&#xff0c;搜出来的多是 https://res.wx.qq.com/mpres/htmledition/images/icon/emotio…

超过1M的网络动图添加到微信表情包

准备工具&#xff1a; 微信电脑客户端、微信手机客户端 http://www.iloveimg.com/zh_cn图片在线处理网站 步骤&#xff1a; 1. 找到自己喜欢的网络动图&#xff0c;下载 2. 查看动图大小 3. 打开网站http://www.iloveimg.com/zh_cn处理动图 4. 使用…

仿微信在对话框文字中插入Emoji表情包

场景 类似于微信聊天的一个对话框,要求可以使用EMOJI表情,对话框是一个div,通过改变contentEditable属性使得内容可以编辑. 问题 Emoji表情在页面中其实是GIF格式的IMG标签.如果直接在innerHTML中改变,会导致表情包只出现在文本最后,所以这样是不符合用户体验的,需要跟踪光标…

微信小程序在聊天中如何插入表情?

一、使用QQ地带Emoji表情代码大全 参考链接&#xff1a;小程序中如何使用Emoji表情 - Jo太郎 - 博客园 如何使用&#xff1a; index.js // index.js // 获取应用实例 const app getApp()Page({data: {emoji: ☀-☔-&#x1f477;-&#x1f61c;,emojiArr: [01, 02, 03, 04]…

分析Android 搜狗输入法在微信和QQ中发送图片和表情

好记性不如烂笔头。生活中多做笔记&#xff0c;不仅可以方便自己&#xff0c;还可以方便他人。 背景 有没有发现&#xff0c;有时候表情或图片的交流更能让气氛更愉悦。斗图&#xff0c;成了群里的日常小事&#xff0c;然而&#xff0c;当你没有图可斗的时候就尴尬了。最近&am…

微信小程序-如何实现input框输入emoji表情?【亲测有效】

👨‍🎓作者:bug菌 ✏️博客:CSDN、掘金等 💌公众号:猿圈奇妙屋 🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。 🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。 先给大家先来看下成品: 一、…

导出微信添加的自定义表情(动图)

打开微信电脑版&#xff0c;在“设置”-“通用设置”&#xff0c;在这里你可以看到微信文件存储的位置&#xff0c;就是下面这个&#xff1a; 复制它&#xff01;复制它&#xff01;&#xff0c;在“我的电脑”的地址栏粘贴&#xff0c;就能找到这个存储文件夹&#xff0c;里边…

微信消息收发与微信内部emoji表情转义

微信消息收发与微信内部emoji表情转义 目录 微信内部emoji表情转义与消息收发 一、概述 二、常用标准emoji表情字符、微信内部转义符、unicode对照表 1、比如 2、微信聊天窗口emoji表情字符 2.1、PC端表情选择&#xff0c;01~03排&#xff1a; 2.2、PC端表情选择&#…