CN109766089A - 基于动图的代码生成方法、装置、电子设备及存储介质 - Google Patents
基于动图的代码生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109766089A CN109766089A CN201811536798.6A CN201811536798A CN109766089A CN 109766089 A CN109766089 A CN 109766089A CN 201811536798 A CN201811536798 A CN 201811536798A CN 109766089 A CN109766089 A CN 109766089A
- Authority
- CN
- China
- Prior art keywords
- cardon
- component
- frame
- sub
- frame picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及基于动图的代码生成方法、装置、电子设备及存储介质。所述方法包括:接收动图并从所述动图中解析出一组帧图片;通过深度学习算法识别出每张帧图片中的组件;判断所述动图中的组件的数量是否为1;当所述动图中的组件的数量为1时,获取每张帧图片的组件的参数信息及每两张帧图片之间的时间间隔;根据获取的帧图片的组件的参数信息及每两张帧图片之间的时间间隔构建所述组件的运动方程和时间函数;及根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码。本发明中基于动图的代码生成方法能够根据动图自动生成动画代码,使得还原效果图动画不需要多次修改参数,编译、运行、调试,节省了人力成本。
Description
技术领域
本发明涉及计算机代码开发领域,具体涉及一种基于动图的代码生成方法、装置、电子设备及存储介质。
背景技术
目前生成的代码,都是人工进行编写生成的。由于人工编写的代码,需要执行对页面的控件、元素等定义操作,即使生成相似的代码,都需要重新进行编写,导致代码的生成效率较低,人力付出的成本较大。
发明内容
鉴于以上内容,有必要提出一种基于动图的代码生成方法及装置、电子设备和计算机可读存储介质,以提高代码的生成效率及减少人力成本的付出。
本申请的第一方面提供一种基于动图的代码生成方法,所述方法包括:
接收动图并从所述动图中解析出一组帧图片;
通过深度学习算法识别出每张帧图片中的组件;
判断所述动图中的组件的数量是否为1;
当所述动图中的组件的数量为1时,获取每张帧图片的组件的参数信息及每两张帧图片之间的时间间隔;
根据获取的帧图片的组件的参数信息及每两张帧图片之间的时间间隔构建所述组件的运动方程和时间函数;及
根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码。
优选地,所述方法还包括步骤:
当所述动图中的组件的数量不为1时,识别所述动图中的组件并确定所述组件的数量,并将所述动图分解成与所述组件的数量相同个数的子动图;及
从每一子动图中解析出一组帧图片,识别出每一子动图中帧图片中的组件,并获取每一子动图的帧图片的组件的参数信息及每一子动图的帧图片之间的时间间隔。
优选地,所述根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码包括:
根据每一子动图的帧图片的组件的参数信息及每一子动图的两个帧图片之间的时间间隔构建每一子动图的组件的运动方程和时间函数;
根据构建的每一子动图的组件的运动方程和时间函数调用所述终端的系统平台的接口函数库生成与每一子动图相对应的代码;及
将每一子动图对应的代码合并在一起以得到所述动图对应的代码。
优选地,所述通过深度学习算法识别出每张帧图片中的组件包括:
获取正样本的帧图片数据及负样本的帧图片数据,并将正样本的帧图片数据及负样本的帧图片数据标注帧图片类别,以使正样本的帧图片数据及负样本的帧图片数据携带帧图片类别标签;
将所述正样本的帧图片数据标签及所述负样本的帧图片数据标签随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练所述组件分类模型,并利用所述验证集验证训练后的所述组件分类模型的准确率;
当所述准确率大于或者等于预设准确率时结束训练,以训练后的所述组件分类模型作为分类器识别所述帧图片的组件类别;及
当所述准确率小于预设准确率时,则增加正样本数量及负样本数量以重新训练所述组件分类模型直至所述准确率大于或者等于预设准确率。
优选地,所述接收动图并从所述动图中解析出一组帧图片包括:
使用PIL图像模块将所述动图解析成具有相同分辨率的静态帧图像。
优选地,所述组件的参数信息包括位置、大小、颜色、透明度。
优选地,所述动图的格式为GIF格式。
本申请的第二方面提供一种基于动图的代码生成装置,所述装置包括:
解析模块,用于接收动图并从所述动图中解析出一组帧图片;
组件识别模块,用于通过深度学习算法识别出每张帧图片中的组件;
判断模块,用于判断所述动图中的组件的数量是否为1;
获取模块,用于当所述动图中的组件的数量为1时,获取每张帧图片的组件的参数信息及每两张帧图片之间的时间间隔;
构建模块,用于根据获取的帧图片的组件的参数信息及每两张帧图片之间的时间间隔构建所述组件的运动方程和时间函数;及
生成模块,用于根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码。
本申请的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述基于动图的代码生成方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于动图的代码生成方法。
本发明中的基于动图的代码生成方法能够根据动图自动生成动画代码,使得还原效果图动画不需要多次修改参数,编译、运行、调试,节省了人力成本。
附图说明
图1是本发明基于动图的代码生成方法的应用环境示意图。
图2是本发明基于动图的代码生成方法一实施方式的流程图。
图3是本发明基于动图的代码生成装置较佳实施例的结构图。
图4为本发明电子设备较佳实施例的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的基于动图的代码生成方法应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是桌上型计算机、笔记本电脑、平板电脑及云端服务器等计算设备。所述设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例1
图1是本发明基于动图的代码生成方法200的应用环境示意图。
参阅图1所示,所述基于动图的代码生成方法200应用在一终端1。所述终端1用于接收动图并根据接收的动图生成对应的代码。本实施方式中,所述终端1可以是笔记本电脑、台式电脑、平板电脑、移动手机等装置,也可以是一服务器群或云服务器。
图2是本发明基于动图的代码生成方法200一实施方式的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图2所示,所述基于动图的代码生成方法200具体包括以下步骤:
步骤S201,接收动图并从所述动图中解析出一组帧图片。
本实施方式中,所述动图是指当一组特定的静态图像以指定的频率切换而产生某种动态效果的图片。本实施方式中,所述动图的格式为GIF格式。在一具体实施方式中,所述终端1使用PIL图像模块将所述动图解析成具有相同分辨率的静态图像。
步骤S202,通过深度学习算法识别出每张帧图片中的组件。
本实施方式中,所述组件为图片中的目标对象,所述目标对象可以为人或物体。在一具体实施方式中,可以利用预先训练好的组件分类模型确定所述帧图片中的组件。所述组件分类模型包括,但不限于:支持向量机(Support Vector Machine,SVM)模型。本实施方式中,所述终端1将从所述动图中解析出的帧图片作为所述组件分类模型的输入,并经过所述组件分类模型计算后输出与所述帧图片对应的组件。本实施方式中,所述步骤S202“通过深度学习算法识别出帧图片中的组件”包括:
(S2021)获取正样本的帧图片数据及负样本的帧图片数据,并将正样本的帧图片数据及负样本的帧图片数据标注帧图片类别,以使正样本的帧图片数据及负样本的帧图片数据携带帧图片类别标签。
本实施方式中,分别选取500个人、物类别对应的帧图片数据,并对每个帧图片数据标注类别,可以以“1”作为人的帧图片数据标签,以“2”作为物的帧图片数据标签。
(S2022)将所述正样本的帧图片数据标签及所述负样本的帧图片数据标签随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练所述组件分类模型,并利用所述验证集验证训练后的所述组件分类模型的准确率。
本实施方式中,先将不同组件类别的训练集中的训练样本分发到不同的文件夹里。例如,将人的训练样本分发到第一文件夹里、物的训练样本分发到第二文件夹里。然后从不同的文件夹里分别提取第一预设比例(例如,70%)的训练样本作为总的训练样本进行组件分类模型的训练,从不同的文件夹里分别取剩余第二预设比例(例如,30%)的训练样本作为总的测试样本对训练完成的所述组件分类模型进行准确性验证。
(S2023)若所述准确率大于或者等于预设准确率时,则结束训练,以训练后的所述组件分类模型作为分类器识别所述帧图片的组件类别;若所述准确率小于预设准确率时,则增加正样本数量及负样本数量以重新训练所述组件分类模型直至所述准确率大于或者等于预设准确率。
步骤S203,判断动图中的组件的数量是否为1。其中,若动图中的组件的数量为1时,则执行步骤S204,否则执行步骤S207。
步骤S204,获取每张帧图片的组件的参数信息及每两张帧图片之间的时间间隔。本实施方式中,当执行完步骤S204后执行步骤S205。
本实施方式中,在识别出每张帧图片的组件后还获取每张帧图片的参数信息。本实施方式中,所述帧图片的参数信息是指帧图片的状态信息,所述参数信息包括,但不限于位置、大小、颜色、透明度等信息。
步骤S205,根据获取的帧图片的组件的参数信息及每两张帧图片之间的时间间隔构建组件的运动方程和时间函数。本实施方式中,当执行完步骤S205后执行步骤S208。本实施方式中,可以根据帧图片中的组件的参数信息及帧图片之间的时间间隔构建的组件的运动方程和时间函数来描述组件随时间的变化程序及运动变化规律。
步骤S206,当所述动图中的组件的数量不为1时识别所述动图中的组件并确定组件的数量,并将动图分解成与组件的数量相同个数的子动图。本实施方式中,当执行完步骤S206后执行步骤S207。
本实施方式中,所述动图中包括有多个组件,可以针对多个组件的数量将动图分解成多个子动图,其中每个子动图仅对应一个组件,依据每个子动图所对应的组件生成与所述子动图对应的代码,并将每一子动图对应的代码合并在一起后可得到所述动图对应的代码。
步骤S207,从每一子动图中解析出一组帧图片,识别出每一子动图中帧图片中的组件,并获取每一子动图的帧图片的组件的参数信息及每一子动图的帧图片之间的时间间隔。本实施方式中,当执行完步骤S207后执行步骤S208。
本实施方式中,所述帧图片的参数信息是指帧图片的状态信息,所述参数信息包括,但不限于位置、大小、颜色、透明度等信息。
步骤S208,根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码。
本实施方式中,根据构建的组件的运动方程、时间函数调用终端1的系统平台的接口函数库生成所述动图对应的代码。本实施方式中,所述方法根据构建的组件运动方程、时间函数调用终端1的系统平台的接口函数库并按照所述系统平台的开发语言的语法规则组装文本生成代码。本实施方式中调用系统平台的接口函数库包括动画api的调用等。
进一步的,在本实施方式中,在根据构建的组件的运动方程、时间函数调用接口函数库生成所述动图对应的代码时包括:
根据每一子动图的帧图片的组件的参数信息及每一子动图的两个帧图片之间的时间间隔构建每一子动图的组件的运动方程和时间函数;
根据构建的每一子动图的组件的运动方程和时间函数调用所述接口函数库生成与每一子动图相对应的代码;及
将每一子动图对应的代码合并在一起以得到所述动图对应的代码。
具体的,根据每一子动图的帧图片的组件的位置及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的位置变化运动方程与时间函数,及根据构建的每一子动图的组件的位置变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的位置变化的代码。根据每一子动图的帧图片的组件的大小及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的大小变化运动方程与时间函数,及根据构建的每一子动图的组件的大小变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的大小变化的代码。根据每一子动图的帧图片的组件的颜色及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的颜色变化运动方程与时间函数,及根据构建的每一子动图的组件的颜色变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的颜色变化的代码。根据每一子动图的帧图片的组件的透明度及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的透明度变化运动方程与时间函数,及根据构建的每一子动图的组件的透明度变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的透明度变化的代码。最后将反映所述每一子动图的组件的位置变化的代码、反映所述每一子动图的组件的大小变化的代码、反映所述每一子动图的组件的颜色变化的代码及反映所述每一子动图的组件的透明度变化的代码合并在一起以得到所述动图的代码。
本发明中的基于动图的代码生成方法200能够根据动图自动生成动画代码,使得还原效果图动画不需要多次修改参数,编译、运行、调试,节省了人力成本。
实施例2
图3为本发明基于动图的代码生成装置30较佳实施例的结构图。
在一些实施例中,所述基于动图的代码生成装置30运行于电子设备中。所述个基于动图的代码生成装置30可以包括多个由程序代码段所组成的功能模块。所述基于动图的代码生成装置30中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行基于动图生成代码的功能。
本实施例中,所述基于动图的代码生成装置30根据其所执行的功能,可以被划分为多个功能模块。参阅图3所示,所述基于动图的代码生成装置30可以包括解析模块301、组件识别模块302、判断模块303、获取模块304、构建模块305及生成模块306。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述解析模块301用于接收动图并从所述动图中解析出一组帧图片。
本实施方式中,所述动图是指当一组特定的静态图像以指定的频率切换而产生某种动态效果的图片。本实施方式中,所述动图的格式为GIF格式。在一具体实施方式中,所述解析模块301使用PIL图像模块将所述动图解析成具有相同分辨率的静态图像。
所述组件识别模块302用于通过深度学习算法识别出每张帧图片中的组件。
本实施方式中,所述组件为图片中的目标对象,所述目标对象可以为人或物体。在一具体实施方式中,所述组件识别模块302可以利用预先训练好的组件分类模型确定所述帧图片中的组件。所述组件分类模型包括,但不限于:支持向量机模型。本实施方式中,所述所述组件识别模块302将从所述动图中解析出的帧图片作为所述组件分类模型的输入,并经过所述组件分类模型计算后输出与所述帧图片对应的组件。
本实施方式中,所述组件识别模块302获取正样本的帧图片数据及负样本的帧图片数据,并将正样本的帧图片数据及负样本的帧图片数据标注帧图片类别,以使正样本的帧图片数据及负样本的帧图片数据携带帧图片类别标签。本实施方式中,分别选取500个人、物类别对应的帧图片数据,并对每个帧图片数据标注类别,可以以“1”作为人的帧图片数据标签,以“2”作为物的帧图片数据标签。
所述组件识别模块302还将所述正样本的帧图片数据标签及所述负样本的帧图片数据标签随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练所述组件分类模型,并利用所述验证集验证训练后的所述组件分类模型的准确率。本实施方式中,先将不同组件类别的训练集中的训练样本分发到不同的文件夹里。例如,将人的训练样本分发到第一文件夹里、物的训练样本分发到第二文件夹里。然后从不同的文件夹里分别提取第一预设比例(例如,70%)的训练样本作为总的训练样本进行组件分类模型的训练,从不同的文件夹里分别取剩余第二预设比例(例如,30%)的训练样本作为总的测试样本对训练完成的所述组件分类模型进行准确性验证。
所述组件识别模块302还用于当所述准确率大于或者等于预设准确率时,结束训练,并以训练后的所述组件分类模型作为分类器识别所述帧图片的组件类别。当所述准确率小于预设准确率时,所述组件识别模块302还将增加正样本数量及负样本数量以重新训练所述组件分类模型直至所述准确率大于或者等于预设准确率。
所述判断模块303用于判断动图中的组件的数量是否为1。
当确定动图中的组件的数量为1时,所述获取模块304获取每张帧图片的组件的参数信息及每两张帧图片之间的时间间隔。本实施方式中,在识别出每张帧图片的组件后还获取每张帧图片的参数信息。所述帧图片的参数信息是指帧图片的状态信息,所述参数信息包括,但不限于位置、大小、颜色、透明度等信息。
所述构建模块305用于根据获取的帧图片的组件的参数信息及每两张帧图片之间的时间间隔构建组件的运动方程和时间函数。本实施方式中,根据帧图片的参数信息及帧图片之间的时间间隔构建的组件的运动方程和时间函数来描述组件随时间的变化程序及运动变化规律。
当确定动图中的组件的数量不为1时,所述解析模块301识别所述动图中的组件并确定组件的数量,并将所示动图分解成与组件的数量相同个数的子动图。所述组件识别模块302还用于从每一子动图中解析出一组帧图片,识别出每一子动图中帧图片中的组件。所述获取模块304获取每一子动图的帧图片的组件的参数信息及每一子动图的帧图片之间的时间间隔。所示构建模块306根据构建的组件的运动方程、时间函数调用接口函数库生成代码。本实施方式中,根据构建的组件的运动方程、时间函数调用终端1的系统平台的接口函数库以生成所述动图对应的代码。
本实施方式中,所述动图中包括有多个组件,可以针对多个组件的数量将动图分解成多个子动图,其中每个子动图仅对应一个组件,依据每个子动图所对应的组件生成与所述子动图对应的代码,并将每一子动图对应的代码合并在一起后可得到所述动图对应的代码。
所述生成模块306用于根据构建的组件运动方程、时间函数调用终端1的系统平台的接口函数库并按照所述系统平台的开发语言的语法规则组装文本生成代码。本实施方式中调用系统平台的接口函数库包括动画api的调用等。
在一实施方式中,所述生成模块306根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码时根据每一子动图的帧图片的组件的参数信息及每一子动图的两个帧图片之间的时间间隔构建每一子动图的组件的运动方程和时间函数,根据构建的每一子动图的组件的运动方程和时间函数调用接口函数库生成与每一子动图相对应的代码,及将每一子动图对应的代码合并在一起以得到所述动图对应的代码。具体的,所述生成模块306根据每一子动图的帧图片的组件的位置及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的位置变化运动方程与时间函数,及根据构建的每一子动图的组件的位置变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的位置变化的代码。根据每一子动图的帧图片的组件的大小及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的大小变化运动方程与时间函数,及根据构建的每一子动图的组件的大小变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的大小变化的代码。根据每一子动图的帧图片的组件的颜色及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的颜色变化运动方程与时间函数,及根据构建的每一子动图的组件的颜色变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的颜色变化的代码。根据每一子动图的帧图片的组件的透明度及每两个帧图片之间的时间间隔构建所述每一子动图的帧图片的组件的透明度变化运动方程与时间函数,及根据构建的每一子动图的组件的透明度变化运动方程与时间函数调用接口函数库生成反映所述每一子动图的组件的透明度变化的代码。最后将反映所述每一子动图的组件的位置变化的代码、反映所述每一子动图的组件的大小变化的代码、反映所述每一子动图的组件的颜色变化的代码及反映所述每一子动图的组件的透明度变化的代码合并在一起以得到所述动图的代码。本发明中的基于动图的代码生成装置30能够根据动图自动生成动画代码,使得还原效果图动画不需要多次修改参数,编译、运行、调试,节省了人力成本。
实施例三
图4为本发明电子设备4较佳实施例的示意图。
所述电子设备4包括存储器41、处理器42以及存储在所述存储器41中并可在所述处理器42上运行的计算机程序43。所述处理器42执行所述计算机程序43时实现上述基于动图的代码生成方法200实施例中的步骤,例如图2所示的步骤S201~S208。或者,所述处理器42执行所述计算机程序43时实现上述基于动图的代码生成装置实施例中各模块/单元的功能,例如图3中的模块301~306。
示例性的,所述计算机程序43可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器42执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序43在所述电子设备4中的执行过程。例如,所述计算机程序43可以被分割成图3中的解析模块301、组件识别模块302、判断模块303、获取模块304、构建模块305及生成模块306,各模块具体功能参见实施例二。
所述电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备4还可以包括输入输出设备、网络接入设备、总线等。
所称处理器42可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器42也可以是任何常规的处理器等,所述处理器42是所述电子设备4的控制中心,利用各种接口和线路连接整个电子设备4的各个部分。
所述存储器41可用于存储所述计算机程序43和/或模块/单元,所述处理器42通过运行或执行存储在所述存储器41内的计算机程序和/或模块/单元,以及调用存储在存储器41内的数据,实现所述计电子设备4的各种功能。所述存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备4的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备4集成的模块/单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应所述理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。电子设备权利要求中陈述的多个模块或电子设备也可以由同一个模块或电子设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于动图的代码生成方法,其特征在于,所述方法包括:
接收动图并从所述动图中解析出一组帧图片;
通过深度学习算法识别出每张帧图片中的组件;
判断所述动图中的组件的数量是否为1;
当所述动图中的组件的数量为1时,获取每张帧图片的组件的参数信息及每两张帧图片之间的时间间隔;
根据获取的帧图片的组件的参数信息及每两张帧图片之间的时间间隔构建所述组件的运动方程和时间函数;及
根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码。
2.如权利要求1所述的基于动图的代码生成方法,其特征在于,所述方法还包括步骤:
当所述动图中的组件的数量不为1时,识别所述动图中的组件并确定所述组件的数量,并将所述动图分解成与所述组件的数量相同个数的子动图;及
从每一子动图中解析出一组帧图片,识别出每一子动图中帧图片中的组件,并获取每一子动图的帧图片的组件的参数信息及每一子动图的帧图片之间的时间间隔。
3.如权利要求1所述的基于动图的代码生成方法,其特征在于,所述根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码包括:
根据每一子动图的帧图片的组件的参数信息及每一子动图的两个帧图片之间的时间间隔构建每一子动图的组件的运动方程和时间函数;
根据构建的每一子动图的组件的运动方程和时间函数调用所述接口函数库生成与每一子动图相对应的代码;及
将每一子动图对应的代码合并在一起以得到所述动图对应的代码。
4.如权利要求1所述的基于动图的代码生成方法,其特征在于,所述通过深度学习算法识别出每张帧图片中的组件包括:
获取正样本的帧图片数据及负样本的帧图片数据,并将正样本的帧图片数据及负样本的帧图片数据标注帧图片类别,以使正样本的帧图片数据及负样本的帧图片数据携带帧图片类别标签;
将所述正样本的帧图片数据标签及所述负样本的帧图片数据标签随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练所述组件分类模型,并利用所述验证集验证训练后的所述组件分类模型的准确率;
当所述准确率大于或者等于预设准确率时结束训练,以训练后的所述组件分类模型作为分类器识别所述帧图片的组件类别;及
当所述准确率小于预设准确率时,则增加正样本数量及负样本数量以重新训练所述组件分类模型直至所述准确率大于或者等于预设准确率。
5.如权利要求1所述的基于动图的代码生成方法,其特征在于,所述接收动图并从所述动图中解析出一组帧图片包括:
使用PIL图像模块将所述动图解析成具有相同分辨率的静态帧图像。
6.如权利要求1所述的基于动图的代码生成方法,其特征在于,所述组件的参数信息包括位置、大小、颜色、透明度。
7.如权利要求1所述的基于动图的代码生成方法,其特征在于,所述动图的格式为GIF格式。
8.一种基于动图的代码生成装置,其特征在于,所述装置包括:
解析模块,用于接收动图并从所述动图中解析出一组帧图片;
组件识别模块,用于通过深度学习算法识别出每张帧图片中的组件;
判断模块,用于判断所述动图中的组件的数量是否为1;
获取模块,用于当所述动图中的组件的数量为1时,获取每张帧图片的组件的参数信息及每两张帧图片之间的时间间隔;
构建模块,用于根据获取的帧图片的组件的参数信息及每两张帧图片之间的时间间隔构建所述组件的运动方程和时间函数;及
生成模块,用于根据构建的组件的运动方程、时间函数调用接口函数库以生成所述动图对应的代码。
9.一种电子设备,其特征在于:所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任一项所述基于动图的代码生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述基于动图的代码生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811536798.6A CN109766089B (zh) | 2018-12-15 | 2018-12-15 | 基于动图的代码生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811536798.6A CN109766089B (zh) | 2018-12-15 | 2018-12-15 | 基于动图的代码生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766089A true CN109766089A (zh) | 2019-05-17 |
CN109766089B CN109766089B (zh) | 2023-05-30 |
Family
ID=66451931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811536798.6A Active CN109766089B (zh) | 2018-12-15 | 2018-12-15 | 基于动图的代码生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766089B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113362348A (zh) * | 2021-07-19 | 2021-09-07 | 网易(杭州)网络有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113434136A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 代码生成方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000152233A (ja) * | 1998-11-13 | 2000-05-30 | Sony Corp | 画像情報変換装置および変換方法 |
JP2001285870A (ja) * | 2000-04-03 | 2001-10-12 | Sony Corp | ディジタル信号処理装置および方法、並びにディジタル画像信号処理装置および方法 |
CN104469379A (zh) * | 2013-09-18 | 2015-03-25 | 想象技术有限公司 | 生成用于包括在视频序列中的输出帧 |
US20170060851A1 (en) * | 2015-08-31 | 2017-03-02 | Linkedin Corporation | Leveraging digital images of user information in a social network |
CN108415705A (zh) * | 2018-03-13 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 网页生成方法、装置、存储介质及设备 |
CN108519986A (zh) * | 2018-02-24 | 2018-09-11 | 阿里巴巴集团控股有限公司 | 一种网页生成方法、装置及设备 |
CN108762741A (zh) * | 2018-05-18 | 2018-11-06 | 北京车和家信息技术有限公司 | 动画代码生成方法及系统 |
CN108804093A (zh) * | 2018-06-15 | 2018-11-13 | 联想(北京)有限公司 | 一种代码生成方法和电子设备 |
CN108812407A (zh) * | 2018-05-23 | 2018-11-16 | 平安科技(深圳)有限公司 | 动物健康状态监测方法、设备及存储介质 |
-
2018
- 2018-12-15 CN CN201811536798.6A patent/CN109766089B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000152233A (ja) * | 1998-11-13 | 2000-05-30 | Sony Corp | 画像情報変換装置および変換方法 |
JP2001285870A (ja) * | 2000-04-03 | 2001-10-12 | Sony Corp | ディジタル信号処理装置および方法、並びにディジタル画像信号処理装置および方法 |
CN104469379A (zh) * | 2013-09-18 | 2015-03-25 | 想象技术有限公司 | 生成用于包括在视频序列中的输出帧 |
US20170060851A1 (en) * | 2015-08-31 | 2017-03-02 | Linkedin Corporation | Leveraging digital images of user information in a social network |
CN108519986A (zh) * | 2018-02-24 | 2018-09-11 | 阿里巴巴集团控股有限公司 | 一种网页生成方法、装置及设备 |
CN108415705A (zh) * | 2018-03-13 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 网页生成方法、装置、存储介质及设备 |
CN108762741A (zh) * | 2018-05-18 | 2018-11-06 | 北京车和家信息技术有限公司 | 动画代码生成方法及系统 |
CN108812407A (zh) * | 2018-05-23 | 2018-11-16 | 平安科技(深圳)有限公司 | 动物健康状态监测方法、设备及存储介质 |
CN108804093A (zh) * | 2018-06-15 | 2018-11-13 | 联想(北京)有限公司 | 一种代码生成方法和电子设备 |
Non-Patent Citations (4)
Title |
---|
ANIL K. JAIN 等: "AUTOMATIC TEXT LOCATION IN IMAGES AND VIDEO FRAMES", 《 PATTERN RECOGNITION》 * |
YONG PENG 等: "Discriminative graph regularized extreme learning machine and its application to face recognition", 《NEUROCOMPUTING》 * |
史宝会: "基于动态图和线程关系的混合软件水印算法", 《电子设计工程》 * |
李波: "视频序列中运动目标检测与跟踪算法的研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434136A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 代码生成方法、装置、电子设备及存储介质 |
CN113434136B (zh) * | 2021-06-30 | 2024-03-05 | 平安科技(深圳)有限公司 | 代码生成方法、装置、电子设备及存储介质 |
CN113362348A (zh) * | 2021-07-19 | 2021-09-07 | 网易(杭州)网络有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109766089B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109360550B (zh) | 语音交互系统的测试方法、装置、设备和存储介质 | |
CN108877782B (zh) | 语音识别方法和装置 | |
CN110363810B (zh) | 建立图像检测模型的方法、装置、设备和计算机存储介质 | |
CN108293079A (zh) | 针对电话的跨设备伙伴应用 | |
CN109711877A (zh) | 广告图片的处理方法、装置、计算机存储介质和电子设备 | |
CN109697537A (zh) | 数据审核的方法和装置 | |
CN112397047A (zh) | 语音合成方法、装置、电子设备及可读存储介质 | |
CN110083526A (zh) | 应用程序测试方法、装置、计算机装置及存储介质 | |
CN109408468A (zh) | 文件处理方法和装置、计算设备及存储介质 | |
CN110349007A (zh) | 基于变量区分度指标进行用户分群提额的方法、装置和电子设备 | |
CN108121699A (zh) | 用于输出信息的方法和装置 | |
CN112951233A (zh) | 语音问答方法、装置、电子设备及可读存储介质 | |
CN111222837A (zh) | 智能化面试的方法、系统、设备及计算机存储介质 | |
CN109766089A (zh) | 基于动图的代码生成方法、装置、电子设备及存储介质 | |
US20220198153A1 (en) | Model training | |
CN117992598B (zh) | 基于大模型的需求响应方法、装置、介质及设备 | |
CN118350572A (zh) | 一种需求交付方法及装置 | |
CN110502716A (zh) | 一种车辆信息的展示方法、服务器、终端设备 | |
CN112270350B (zh) | 组织机构的画像方法、装置、设备及存储介质 | |
CN111832254B (zh) | 图纸标注显示处理方法及装置 | |
CN107071553A (zh) | 一种修改视频语音的方法、装置和计算机可读存储介质 | |
CN110717101A (zh) | 基于应用行为的用户分类方法、装置和电子设备 | |
CN110348438A (zh) | 一种基于人工神经网络模型的图片字符识别方法、装置和电子设备 | |
CN109657073A (zh) | 用于生成信息的方法和装置 | |
CN109522210A (zh) | 接口测试参数分析方法、装置、电子装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |