一种相机数据处理方法、装置、计算机设备及存储介质与流程

文档序号:24123237发布日期:2021-03-02 12:22阅读:75来源:国知局
一种相机数据处理方法、装置、计算机设备及存储介质与流程

[0001]
本申请涉及数据处理技术领域,尤其涉及一种相机数据处理方法、装置、计算机设备及存储介质。


背景技术:

[0002]
随着移动终端的不断发展,使用相机的应用程序也越来越多,在研发测试阶段,很多情况都需要通过相机获取图像数据,再利用获取到的图像数据对应用程序进行测试或者实现某些特定的功能,例如,测试对视频数据进行美颜处理的效果。
[0003]
不同的需求下可能需要利用相机获取不同的图像数据,这就需要变换实际场景以使相机采集到符合要求的数据;此外,还可能会出现在不同时刻获取相同图像数据的需求,此时又需要场景在不同时刻下保持一致,数据处理效果非常依赖场景,对场景的要求十分高,实现起来非常不便。
[0004]
因此,如何在获取图像数据时避免对实际场景的依赖,是本领域技术人员需要解决的技术问题。


技术实现要素:

[0005]
有鉴于此,本申请提供了一种相机数据处理方法、装置、计算机设备及存储介质,以在获取图像数据时避免对实际场景的依赖。
[0006]
为实现上述目的,一方面,本申请提供了一种相机数据处理方法,包括:
[0007]
截获相机回调的当前帧相机图像数据,所述当前帧相机图像数据为所述相机当前采集到的一帧图像数据;
[0008]
解码指定数据源,获取所述指定数据源中的一帧指定图像数据;
[0009]
将所述一帧指定图像数据替换所述当前帧图像数据;
[0010]
利用所述指定图像数据进行与所述当前帧图像数据对应的操作。
[0011]
又一方面,本申请提供了一种相机数据处理系统,包括:
[0012]
数据截获模块,用于截获相机回调的当前帧相机图像数据,所述当前帧相机图像数据为所述相机当前采集到的一帧图像数据;
[0013]
数据源解码模块,用于解码指定数据源,获取所述指定数据源中的一帧指定图像数据;
[0014]
数据替换模块,用于将所述一帧指定图像数据替换所述当前帧图像数据;
[0015]
数据处理模块,用于利用所述指定图像数据进行与所述当前帧图像数据对应的操作。
[0016]
又一方面,本申请还提供了一种计算机设备,包括:
[0017]
处理器和存储器;
[0018]
其中,所述处理器用于执行所述存储器中存储的程序;
[0019]
所述存储器用于存储程序,所述程序至少用于:
[0020]
截获相机回调的当前帧相机图像数据,所述当前帧相机图像数据为所述相机当前采集到的一帧图像数据;
[0021]
解码指定数据源,获取所述指定数据源中的一帧指定图像数据;
[0022]
将所述一帧指定图像数据替换所述当前帧图像数据;
[0023]
利用所述指定图像数据进行与所述当前帧图像数据对应的操作。
[0024]
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现本申请任一实施例的内存分配代码检测方法。
[0025]
由此可见,本申请提供的一种相机数据处理方法,首先截获相机回调的当前帧图像数据,并将指定图像数据替换当前帧图像数据,从而实现在实际的图像处理操作时,处理流程依然是从相机获取数据,但是处理的数据是指定图像数据。因此,在实时获取图像数据并进行处理的场景中,本方案对相机实际采集到的数据不做任何要求,在获取图像数据时避免了对实际场景的依赖,从而可以适配不同的场景。本申请还提供一种相机数据处理系统、计算机设备及存储介质,均可以实现上述效果。
附图说明
[0026]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0027]
图1示出了本申请实施例适用的第一种终端设备示意图;
[0028]
图2示出了本申请实施例适用的第二种终端设备示意图;
[0029]
图3示出了本申请实施例适用的第三种终端设备示意图;
[0030]
图4示出了本申请实施例的一种相机数据处理方法的一种流程示意图;
[0031]
图5示出了本申请实施例的一种相机数据处理流程示意图;
[0032]
图6示出了本申请实施例的一种相机数据处理方法的一种流程示意图;
[0033]
图7示出了本申请实施例的一种相机数据处理方法的一种流程示意图;
[0034]
图8示出了本申请实施例的一种应用场景实施例对应的系统示意图;
[0035]
图9示出了本申请实施例的一种应用场景实施例对应的系统示意图;
[0036]
图10示出了本申请实施例的一种相机数据处理系统的一个实施例的组成结构示框图;
[0037]
图11示出了本申请实施例的一种计算机设备的一个实施例的组成结构示意图。
具体实施方式
[0038]
目前,很多基于相机的应用程序在测试或者使用阶段均需要获取相机数据,从而进行数据的处理,以及对数据处理结果的效果进行测试,例如,在视频直播场景中,会有美颜滤镜这一类功能,在对这一类功能进行测试时,就需要提供真实场景,以使应用程序获取到相机采集到的数据并进行美颜、滤镜相关的处理,并对处理效果进行测试。如果在数据处理时,有多种场景需求,就需要提供多种真实的场景,增加了数据处理时准备工作的实现难
度,操作起来十分不便。因此,本申请提供一种相机数据处理方法、装置、计算机设备及存储介质,以在获取图像数据时避免对实际场景的依赖。
[0039]
为了便于理解,先对本申请的内存分配方法对应的方案所适用的硬件组成框架进行介绍。在本申请中,相机数据处理方法作为一套程序应用于终端设备,在终端设备中实现这套程序的方式有三种,可以参见图1至图3,其中,图1示出了本申请第一种终端设备示意图,图2示出了本申请第二种终端设备示意图,图3示出了本申请第三种终端设备示意图。
[0040]
请参考图1,由图1可知,该终端设备中包括:相机、设备系统层以及应用程序。
[0041]
相机即安装于终端设备且用于为终端设备采集图像数据的部件,相机与设备系统层相连,用于将采集到的图像数据发送给设备系统层。
[0042]
设备系统层即设备的底层系统,其中包括了相机驱动,用于与相机交互,如发送控制相机开关的指令、接收相机采集的图像数据等。
[0043]
应用程序即安装于终端操作系统上层的用户程序,可以实现不同的功能,本方案中应用程序可以是一个也可以是多个,任一应用程序与系统层的相机驱动交互,均可以获取到相机采集到的图像数据。在本方案中,应用程序又具体包括两个子程序,即业务程序与相机数据处理程序,需要说明的是,此处的子程序仅是便于区分功能,在具体实现时,可以在同一个程序中实现。相机数据处理程序可以通过嵌入sdk(software development kit,软件开发工具包)或者hook(钩子函数)的形式添加至应用程序。相机数据处理程序具体用来实现利用指定数据源替换相机采集的图像数据的功能;业务程序用来对图像数据进行处理,实现具体地业务需求,例如,对图像数据进行美颜、添加滤镜等操作,与现有技术不同的是,本申请中业务程序不再是接收相机回调的图像数据并对其进行处理,而是接收由相机数据处理程序对相机回调的图像数据进行替换的结果,即,接收指定图像数据,并对指定图像数据进行处理,以实现具体的业务需求。
[0044]
请参考图2,由图2可知,第二种终端设备中包括:相机、设备系统层以及应用程序。与上一实施例不同的是,第二种终端设备对原相机驱动进行替换或修改,使相机数据处理程序设于系统层的相机驱动,任一上层应用程序获取相机采集的图像数据时,获取到的均是指定图像数据,从而无需修改在每个应用程序中一一设置相机数据处理程序。
[0045]
请参考图3,由图3可知,第三种终端设备中包括:虚拟相机与应用程序。虚拟相机也是应用层的一种程序,其是用来模仿相机功能的程序,但是输出的图像数据并不是真实采集到的,而是虚拟相机程序指定的数据。在本方案中通过修改虚拟相机程序,在其中添加相机数据处理程序,从而使虚拟相机输出的图像数据为经过替换的指定图像数据。
[0046]
举例说明,请参考图4,相机采集到一帧图像数据后,将当前帧相机图像数据进行回调,相机数据处理程序截获到回调的当前帧相机图像数据,并将一帧指定图像数据替换当前帧图像数据,相机数据处理程序将指定图像数据发送至业务程序,由业务程序利用指定图像数据进行相应的操作。
[0047]
结合以上共性,参见图5,其示出了本申请一种相机数据处理方法一个实施例的流程图,本实施例的方法可以包括:
[0048]
s101,截获相机回调的当前帧相机图像数据,所述当前帧相机图像数据为所述相机当前采集到的一帧图像数据。
[0049]
需要说明的是,传统的方案中,相机采集到相机图像数据后会回调给对应的业务
程序,而在本方案中,在相机图像数据回调的过程中对相机回调的当前帧相机图像数据进行截获。
[0050]
还需要说明的是,图像数据既可以是动态图像数据,即视频数据,也可以是静态图像数据,即图片,如果是视频数据,则会依次截获视频中每一帧数据并进行后续步骤,如果是静态图像数据则只截获当前的一帧图像数据。
[0051]
s102,解码指定数据源,获取所述指定数据源中的一帧指定图像数据。
[0052]
指定数据源即根据场景需求预先录制的数据源,可以是视频数据,也可以是图片数据,在指定数据源中确定一帧数据作为指定图像数据。
[0053]
s103,将所述一帧指定图像数据替换所述当前帧图像数据。
[0054]
具体的,将相机回调的当前帧相机图像数据替换为指定帧图像数据,从而使业务程序实际处理的是指定图像数据。
[0055]
需要说明的是,在一些应用程序只能够对相机数据进行处理,即,只适用相机数据的格式,因此,在本方案中为了避免出现数据不适用的情况,在获取到相机实际采集到的当前帧数据后,仅仅替换其中的图像数据,保留其他数据,如时间戳数据以及上下文描述信息,从而使替换后的结果出了画面不同外,均与相机数据一致,从而可以保证数据的通用性。
[0056]
需要说明的是,即便相机需要回调的完整图像数据为视频数据,指定数据源也可以是一图片数据,在进行替换时,可以使替换结果的每一帧数据均相同,即替换后的视频数据为每帧数据完全相同的视频数据。
[0057]
s104,利用所述指定图像数据进行与所述当前帧图像数据对应的操作。
[0058]
在完成替换后,指定图像数据作为相机回调的图像数据被进行相应的处理。需要说明的是,此处的处理操作应为业务程序对相机采集到的当前帧图像数据进行的处理操作,只是在本方案中,将当前帧图像数据做出了替换,但是业务程序不会做出调整。
[0059]
由此可见,本申请实施例提供的一种相机数据处理方法,首先截获相机回调的当前帧图像数据,并将指定图像数据替换当前帧图像数据,从而实现在实际的图像处理操作时,处理流程依然是从相机获取数据,但是处理的数据是指定图像数据。因此,在实时获取图像数据并进行处理的场景中,本方案对相机实际采集到的数据不做任何要求,在获取图像数据时避免了对实际场景的依赖,从而可以适配不同的场景。
[0060]
在一种可能的情况中,对指定图像数据进行的操作可以是任一种图像处理的操作,从而实现在对图像处理操作中获取图像的流程与实际获取图像的流程相同,但是数据可以是指定数据,可以满足对不同数据源的需求。
[0061]
在一个具体的实施方式中,所述利用所述指定图像数据进行与所述当前帧图像数据对应的操作,包括:
[0062]
利用图像处理技术对所述指定图像数据进行处理,得到处理结果帧图像数据。
[0063]
图像处理技术为对图像数据进行处理的任一技术,可以根据实际情况确定,例如,可以是美颜技术、添加滤镜技术、图像替换等等。
[0064]
在一种可能的情况中,数据处理技术具体可以是对图像进行美颜操作。请参见图6,本申请实施例提供的一种具体的相机数据处理方法,可以包括以下步骤:
[0065]
s201,截获相机回调的当前帧相机图像数据,所述当前帧相机图像数据为所述相
机当前采集到的一帧图像数据。
[0066]
s202,解码指定数据源,获取所述指定数据源中的一帧指定图像数据;所述指定数据源数据为包括人脸图像的数据源数据。
[0067]
在本方案中,指定源数据为包括人脸图像的数据源数据,该数据源数据既可以是静态图像数据,即图片数据,也可以是动态图像数据,即视频数据,这里需要说明的是,当指定数据源为动态图像数据时,可以是其中每一帧均有人脸图像,也可以是一帧或多帧有人脸图像,此处不做具体限定,可以结合实际的图像处理需求进行设定。
[0068]
当指定数据源为动态图像数据时,可以包括以下两种情况:
[0069]
第一种,即需要进行图像处理的完整数据就是一视频数据,则相机回调的数据就是满足该视频数据长短的多帧数据,此时指定数据源也需要为包括至少一帧人脸图像数据的数据源,并与回调的一帧相机图像数据进行替换,以使进行美颜处理的数据中至少一帧为人脸数据。
[0070]
第二种,即需要进行图像处理的完整数据就是一图片数据,则相机回调的数据仅需要为一帧数据,此时指定数据源也需要为包括至少一帧人脸图像数据的数据源,并与回调的一帧相机图像数据进行替换,以使进行美颜处理的数据为该帧为人脸数据。
[0071]
s203,将所述一帧指定图像数据替换所述当前帧图像数据。
[0072]
s204,利用图像美颜技术对所述指定图像数据进行处理,得到处理结果帧图像数据。
[0073]
需要说明的是,美颜技术是一种对图像数据中某个特定的图像进行处理的技术,本方案中的图像处理技术也可以是与美颜技术类似的图像处理技术,即,本方案的图像处理技术可以是识别到某个特定图像后进行特定处理的操作,如,识别到人脸图像后添加贴纸。
[0074]
可见,本申请在实现对图像数据进行美颜的技术需求时,特别是模拟事实获取数据并事实进行美颜处理的场景,如直播视频的美颜处理,可以做到不需要人工参与,利用包括人脸图像数据的指定数据源,即可模拟对实时图像数据进行处理的场景。
[0075]
在一种可能的情况中,数据处理技术具体可以是对图像添加指定滤镜。本申请实施例提供的一种具体的相机数据处理方法,所述利用图像处理技术对所述指定图像数据进行处理,包括:
[0076]
利用添加滤镜技术对所述指定图像数据进行处理。
[0077]
可见,本申请在实现对图像数据进行添加滤镜的技术需求时,特别是模拟事实获取数据并事实进行添加滤镜的场景,如直播视频的滤镜处理,可以做到不需要模拟实际的拍摄环境,利用指定数据源即可实现对不同场景的实时图像数据进行处理。
[0078]
在另一种可能的情况中,数据处理技术具体可以是对图像进行特效处理,即利用绿幕背景的图像数据与合成技术实现特殊的视频效果。本申请实施例提供的一种具体的相机数据处理方法,所述指定数据源为包括绿幕背景的数据源数据;
[0079]
相应的,所述利用图像处理技术对所述指定图像数据进行处理,包括:
[0080]
利用图像替换技术对所述指定图像数据进行处理。
[0081]
在本方案中,如测试图像替换技术,即测试对绿幕背景的图像数据进行特效处理的技术时,即可不实际布置绿幕背景在拍摄,而是利用指定的绿幕背景图像数据源按帧替
换相机回调数据,实现与实际拍摄绿幕背景相同的效果,从而简化了图像替换技术的实现难度。
[0082]
在一个可能情况中,需要对图像处理结果进行测试,即需要比对处理前后的图像数据,从而确定图像处理的效果。在实时获取数据并实时处理数据的场景中,就需要在完成图像数据处理后保存图像处理结果,并重新模拟相同的拍摄画面,使得测试的成本与难度都非常高,为此,本申请实施例在上述基础上对图像处理结果的测试过程做出进一步的说明。请参见图7,本申请实施例提供的一种具体的相机数据处理方法,包括:
[0083]
s301,截获相机回调的当前帧相机图像数据,所述当前帧相机图像数据为所述相机当前采集到的一帧图像数据。
[0084]
s302,解码指定数据源,获取所述指定数据源中的一帧指定图像数据。
[0085]
s303,记录所述指定图像数据。
[0086]
在本方案中,确定一帧指定图像数据后,对该帧指定图像数据进行保存,该帧指定图像数据即为处理前的图像数据。
[0087]
需要说明的是,在实际记录指定图像数据时,具体需要将指定图像数据编译为图片数据,即,只保留图像数据,而没有其他数据,如时间戳等数据,将指定图像数据作为处理前的图像数据,保存至指定存储位置。
[0088]
s304,将所述一帧指定图像数据替换所述当前帧图像数据。
[0089]
s305,利用图像处理技术对所述指定图像数据进行处理,得到处理结果帧图像数据。
[0090]
需要说明的是,此处的图像处理技术可以为任一图像处理技术,如上述实施例介绍的美颜处理技术、添加滤镜技术、图像替换技术。
[0091]
s306,对比所述处理结果帧图像数据与所述指定图像数据以测试所述图像处理技术的处理效果。
[0092]
具体地,再获取到处理结果帧图像数据后,将处理结果帧图像数据编译为图片数据,此时可以直接将处理结果帧图像数据与上述指定图像数据做对比,也可以是将处理结果帧图像数据保存至指定位置,从而根据需求进行测试,在测试时直接从指定位置获取数据进行对比测试,以确定图像处理技术是否生效。
[0093]
在本方案中,由于是对指定数据源进行图像处理操作,因此,仅保存指定数据源,并将指定数据源与处理后的处理结果帧图像数据进行对比,即可确定图像处理技术的处理效果,无需再重新布置完全相同的画面与拍摄角度,从而降低了对实时数据处理效果进行测试的难度。
[0094]
在一种可能的情况中,需要监测应用程序在获取到相机的数据时是否会出现异常情况,如是否出现白屏、黑屏、花屏、绿屏、马赛克,但是实际获取到的画面又不能完全避免实际场景中不会偶然出现与异常情况相同的画面,如画面本身就是白色,此时就会被系统监测为出现白屏异常,造成误判,为此,本申请实施例提供一种具体的实施方式,在上述实施例的基础上对技术方案做出进一步限定与说明,具体的,所述指定数据源包括非异常效果数据源;
[0095]
相应的,所述利用所述指定图像数据进行与所述当前帧图像数据对应的操作,包括:
[0096]
监控所述指定图像数据是否出现异常效果。
[0097]
在本方案中,可以根据实际的监测需求确定指定数据源,如监测白屏异常时,指定数据源为不包括白色画面的图像数据,从而实现对监测结果准确性的验证。
[0098]
在一种可能的情况中,对指定图像数据进行的操作可以是任一种图像识别的操作,从而实现在对图像识别操作中获取图像的流程与实际获取图像的流程相同,但是数据可以是指定数据,可以满足对不同数据源的需求。
[0099]
在一个具体的实施方式中,所述指定图像数据源包括具有待识别内容的数据源,相应的,所述解码指定数据源,获取所述指定数据源中的一帧指定图像数据,包括:
[0100]
利用图像识别技术识别所述指定图像数据中的待识别内容。
[0101]
此处不对待识别内容作出具体限定,可以根据实际的需求进行设定,如对特定的动作进行识别、对脸部图像进行识别,可以理解的是,在此种场景下,指定数据源即为包括待识别内容的数据源。
[0102]
可见,本申请在实现对图像数据进行图像识别的技术需求时,如对直播视频进行特定内容的识别,可以做到不需要人工参与,利用包括待识别图像数据的指定数据源,即可模拟对实时图像数据进行识别的场景。
[0103]
为了便于理解,请参考图8,结合本方案的一种应用场景进行介绍。
[0104]
首先初始化并设置相机回调函数,以使相机将采集到的图像数据回调至业务程序。
[0105]
解码指定数据源,指定数据源为视频数据,其中每帧数据包括其对应的图像数据、时间戳数据以及上下文信息等,此处获取一帧指定图像数据(pbuffer),即,在一帧指定数据源中仅获取其中的图像数据,而不获取时间戳数据、上下文信息等。
[0106]
相机采集一帧图像数据(sbuffer1)并回调。
[0107]
相机数据处理程序截获当前帧相机图像数据(sbuffer1),并将上述指定图像数据(pbuffer)替换当前帧相机图像数据(sbuffer1),并保留当前帧图像数据(sbuffer1)的其他数据,如,时间戳数据、上下文信息等,得到新数据(sbuffer2),即,新数据包括指定图像数据(sbuffer1)、当前帧图像数据的时间戳数据、当前帧图像数据的上下文信息等。
[0108]
将新数据(sbuffer2)传输至业务程序进行相应的操作,此处以图像处理为例进行具体的介绍。
[0109]
将标记位(flag)置于true后,获取新数据(sbuffer2)与对新数据(sbuffer2)进行图像处理后的处理结果帧图像数据(buffereffected),对新数据(sbuffer2)与处理结果帧图像数据(buffereffected)进行编码生成对应的图片,并保存至指定位置。
[0110]
在指定位置获取对应的图片对应的图片与处理结果帧图像数据(buffereffected)对应的图片,将两种图片进行对比,得到图像处理技术的测试结果。
[0111]
在上述实施例的基础上,本申请实施例以处理直播视频数据为例对技术方案进行更进一步的介绍,请参见图9,直播应用程序中,获取到的图像数据是相机回调的当前帧图像数据,为无人脸的图像数据,开启相机数据替换的功能,执行上述的相关步骤,将指定数据源,即包括人脸的图像数据替换详见回调的当前帧图像数据,显示为包括人脸的图像数据,随后对包括人脸的图像数据进行图像处理,例如添加滤镜(图中以斜线表示滤镜),得到处理后的图像数据,在本实施例中可以利用snapshot工具一键获取处理前后的图像数据,
并利用获取到的数据验证滤镜是否生效。
[0112]
另一方面,本申请还提供了一种相机数据处理系统。参见图10,本申请实施例提供的一种相机数据处理系统,包括:
[0113]
数据截获模块401,用于截获相机回调的当前帧相机图像数据,所述当前帧相机图像数据为所述相机当前采集到的一帧图像数据;
[0114]
数据源解码模块402,用于解码指定数据源,获取所述指定数据源中的一帧指定图像数据;
[0115]
数据替换模块403,用于将所述一帧指定图像数据替换所述当前帧图像数据;
[0116]
数据处理模块404,用于利用所述指定图像数据进行与所述当前帧图像数据对应的操作。
[0117]
可选地,所述数据处理模块404具体用于利用图像处理技术对所述指定图像数据进行处理,得到处理结果帧图像数据。
[0118]
可选地,所述指定数据源数据为包括人脸图像的数据源数据;
[0119]
数据处理模块404具体用于利用图像美颜技术对所述指定图像数据进行处理。
[0120]
可选地,所述数据处理模块404具体用于利用添加滤镜技术对所述指定图像数据进行处理。
[0121]
可选地,所述指定数据源为包括绿幕背景的数据源数据;
[0122]
所述数据处理模块404具体用于利用图像替换技术对所述指定图像数据进行处理。
[0123]
可选地,所述系统还包括:
[0124]
第一记录模块,用于记录所述指定图像数据;
[0125]
第二记录模块,用于对比所述处理结果帧图像数据与所述指定图像数据以测试所述图像处理技术的处理效果。
[0126]
可选地,所述指定数据源包括非异常效果数据源;
[0127]
所述数据处理模块404具体用于监控所述指定图像数据是否出现异常效果。
[0128]
可选地,所述指定图像数据源包括具有待识别内容的数据源;
[0129]
所述数据处理模块404具体用于利用图像识别技术识别所述指定图像数据中的待识别内容。
[0130]
进一步地,本申请实施例还提供了一种计算机设备。图10示出了本申请一种相机数据处理方法所适用的计算机设备示意图。
[0131]
由图11可知,该计算机设备10可以包括:处理器11、存储器12、通信接口13、输入单元14和显示器15和通信总线16。
[0132]
处理器11、存储器12、通信接口13、输入单元14、显示器15、均通过通信总线16完成相互间的通信。
[0133]
在本申请实施例中,该处理器11,可以为中央处理器(central processing unit,cpu),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。该处理器可以调用存储器12中存储的程序。具体的,处理器可以执行以下内存分配代码检测方法的实施例中计算机设备侧所执行的操作。
[0134]
存储器12中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码
包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以上任一内存分配代码检测方法的程序。
[0135]
在一种可能的实现方式中,该存储器12可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如对应用程序代码进行编译的功能)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,待检测应用成代码、中间语言代码、内存分配代码位置信息等等。
[0136]
此外,存储器12也可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
[0137]
该通信接口13可以为通信模块的接口,如gsm模块的接口。
[0138]
本申请还可以包括显示器14和输入单元15等等。
[0139]
当然,图11所示的计算机设备的结构并不构成对本申请实施例中计算机设备的限定,在实际应用中计算机设备可以包括比图1所示的更多或更少的部件,或者组合某些部件。
[0140]
其中,图11中的计算机设备10可以为终端(如pc机),也可以为性能高于普通终端的服务器。
[0141]
在本申请实施例中,计算机设备10可以根据通信接口13利用网络接收外界其他设备发送的待检测应用程序代码;也可以通过自身的输入单元14(如键盘、触摸屏、语音输入设备等)获取待检测应用程序代码。
[0142]
相应的,计算机设备10中处理器11可以通过通信总线16从通信接口13或者输入单元14接收待检测应用程序代码,并调用存储器12中存储的程序对待检测应用程序代码进行编译,并对编译得到的中间代码进行检测,以确定内存分配代码的位置信息,从而实现方便的在应用程序代码中检测所有内存分配代码的目的。
[0143]
另一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,用于实现如上任意一个实施例中所描述的内存分配代码检测方法。
[0144]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0145]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0146]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限
制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0147]
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1