本公开属于图像处理领域,特别涉及一种视频目标轨迹提取方法及装置。
背景技术:
在安防领域中,存在很多针对视频中指定目标的轨迹提取的需求。
然而,现有技术中,虽然存在足够多的提取视频目标轨迹的方案,但是关于如何利用前景背景像素对和灰度信息来提取视频前景目标并进一步提取目标轨迹,尚未有相关新颖的实现方法。
技术实现要素:
本公开提供了一种视频目标轨迹提取方法,包括如下步骤:
s100,对于视频中的第一图像,划分该图像中的所有前景像素集合f、所有背景像素集合b和所有未知像素集合z;其中,所述第一图像是从所述视频中提取的某一帧图像;
s200,给定某些前景背景像素对(fi,bj),根据如下公式度量每个未知像素zk的透明度
其中,ik为未知像素zk的rgb颜色值,所述前景像素fi为距离未知像素zk最近的m个前景像素、所述背景像素bj也为距离未知像素zk最近的m个背景像素,所述前景背景像素对(fi,bj)总计m2组;
s300,对于所述m2组中的每一组前景背景像素对(fi,bj)及其对应的
其中,σ取值0.1,并选取可信度最高的max(nij)所对应的那一组前景背景像素对为(fimax,bjmax);
s400,根据如下公式计算每个未知像素zk的透明度估计值
s500,根据所述每个未知像素zk的透明度估计值
s600,对第一图像叠加灰度信息以生成第二图像,并对所述第二图像划分其所有前景像素集合、所有背景像素集合和所有未知像素集合;
s700,针对所述第二图像,执行步骤s200至s500,以确定第二图像的第一透明度遮罩,并将所述第二图像的第一透明度遮罩作为第一图像的第二透明度遮罩;
s800,利用所述第一图像的第二透明度遮罩,修正所述第一图像的第一透明度遮罩;
s900,根据步骤s800修正所得的第一图像的第一透明度遮罩,对所述视频的第一图像中的前景目标进行提取,并在所有前景目标中检索指定目标,然后按照所有帧的时间顺序,根据包括所述指定目标的所有图像生成所述指定目标的轨迹。
此外,本公开还揭示了一种视频目标轨迹提取装置,包括:
第一划分模块,用于:对于视频中的第一图像,划分该图像中的所有前景像素集合f、所有背景像素集合b和所有未知像素集合z;其中,所述第一图像是从所述视频中提取的某一帧图像;
第一度量模块,用于:给定某些前景背景像素对(fi,bj),根据如下公式度量每个未知像素zk的透明度
其中,ik为未知像素zk的rgb颜色值,所述前景像素fi为距离未知像素zk最近的m个前景像素、所述背景像素bj也为距离未知像素zk最近的m个背景像素,所述前景背景像素对(fi,bj)总计m2组;
第二度量模块,用于:对于所述m2组中的每一组前景背景像素对(fi,bj)及其对应的
其中,σ取值0.1,并选取可信度最高的max(nij)所对应的那一组前景背景像素对为(fimax,bjmax);
计算模块,用于:根据如下公式计算每个未知像素zk的透明度估计值
确定模块,用于:根据所述每个未知像素zk的透明度估计值
第二划分模块,用于:对第一图像叠加灰度信息以生成第二图像,并对所述第二图像划分其所有前景像素集合、所有背景像素集合和所有未知像素集合;
再次调用模块,用于:针对所述第二图像,再次调用所述第一度量模块、第二度量模块、计算模块和确定模块,以确定第二图像的第一透明度遮罩,并将所述第二图像的第一透明度遮罩作为第一图像的第二透明度遮罩;
修正模块,用于:利用所述第一图像的第二透明度遮罩,修正所述第一图像的第一透明度遮罩;
提取模块,用于:根据修正模块所得的第一图像的第一透明度遮罩,对所述视频的第一图像中的前景目标进行提取,并在所有前景目标中检索指定目标,然后按照所有帧的时间顺序,根据包括所述指定目标的所有图像生成所述指定目标的轨迹。
通过所述方法及装置,本公开能够综合利用前景背景像素对的可信度和灰度信息,提供一种新的视频目标轨迹提取的方案。
附图说明
图1是本公开中一个实施例所述方法的示意图;
图2是本公开中另一个实施例所述装置的示意图。
具体实施方式
为了使本领域技术人员理解本公开所披露的技术方案,下面将结合实施例及有关附图,对各个实施例的技术方案进行描述,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。本公开所采用的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,“包括”和“具有”以及它们的任何变形,意图在于覆盖且不排他的包含。例如包含了一系列步骤或单元的过程、或方法、或系统、或产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、系统、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本公开的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员可以理解的是,本文所描述的实施例可以与其他实施例相结合。
参见图1,图1是本公开中一个实施例提供的一种视频目标轨迹提取方法的流程示意图。如图所示,所述方法包括如下步骤:
s100,对于视频中的第一图像,划分该图像中的所有前景像素集合f、所有背景像素集合b和所有未知像素集合z;其中,所述第一图像是从所述视频中提取的某一帧图像;
能够理解,对图像划分前景像素、背景像素以及未知像素的手段很多,可以是人工标注,还可以通过机器学习或数据驱动的方式,还可以是根据相应的前景阈值、背景阈值来划分出所有前景和背景像素及其对应的集合;一旦前景和背景像素被划分出来,未知像素、其对应集合也就自然被划分出来;
此外,当对视频前景目标进行提取时,所述第一图像可以是:当视频被播放时,响应于用户的操作,对当前视频播放进行暂停,并对暂停画面即时进行当前帧的截取,以便获得第一图像;所述第一图像也可以是:当视频并没有被播放时,响应于用户的操作,随机挑选视频中的某一帧或某几帧,以其中某一帧图像作为第一图像。不管怎样,能够理解,该方法可以用于视频中的每一帧图像的前景目标提取。优选的,所述第一图像是视频中第一帧图像。
s200,给定某些前景背景像素对(fi,bj),根据如下公式度量每个未知像素zk的透明度
其中,ik为未知像素zk的rgb颜色值,所述前景像素fi为距离未知像素zk最近的m个前景像素、所述背景像素bj也为距离未知像素zk最近的m个背景像素,所述前景背景像素对(fi,bj)总计m2组;
对于本领域技术人员而言,理论上,m的选取,可以使得对应的前景背景像素对是部分样本,也可以穷尽整个图像;就步骤s200而言,其意在通过未知像素的颜色和前景背景像素对的颜色关系来估计未知像素的透明度;另外,m的选取也可以进一步结合邻域像素与未知像素之间在颜色、纹理、灰度、亮度、空间距离等方面的特征;
s300,对于所述m2组中的每一组前景背景像素对(fi,bj)及其对应的
其中,σ取值0.1,并选取可信度最高的max(nij)所对应的那一组前景背景像素对为(fimax,bjmax);
能够理解,σ的取值为经验值或统计值或仿真值,步骤s300利用可信度进一步筛选前景背景像素对,并用于后续步骤通过进一步筛选的前景背景像素对来估计未知像素透明度;
s400,根据如下公式计算每个未知像素zk的透明度估计值
s500,根据所述每个未知像素zk的透明度估计值
这就是说,当每个未知像素的透明度估计值获得之后,本实施例就自然初步确定了所述第一图像的第一透明度遮罩;之所以说是自然的,是因为透明度遮罩可以视为由
s600,对第一图像叠加灰度信息以生成第二图像,并对所述第二图像划分其所有前景像素集合、所有背景像素集合和所有未知像素集合;
就该步骤而言,本实施例考虑到每个像素除rgb颜色的作用之外,应当考虑灰度信息对像素的影响;因此,叠加灰度信息后,利用如下步骤对透明度遮罩进行修正。
s700,针对所述第二图像,执行步骤s200至s500,以确定第二图像的第一透明度遮罩,并将所述第二图像的第一透明度遮罩作为第一图像的第二透明度遮罩;
s800,利用所述第一图像的第二透明度遮罩,修正所述第一图像的第一透明度遮罩;
s900,根据步骤s800修正所得的第一图像的第一透明度遮罩,对所述视频的第一图像中的前景目标进行提取,并在所有前景目标中检索指定目标,然后按照所有帧的时间顺序,根据包括所述指定目标的所有图像生成所述指定目标的轨迹。
至此,本公开综合利用前景背景像素对的可信度和灰度信息,提供一种新的视频目标轨迹提取的方案。能够理解,在该方案中,其中的视频前景目标的提取,是一个无限逼近的过程,由于视频的图像画面中颜色、灰度的过渡,因此很难说某种方法所获得的透明度遮罩是唯一正确的。理论上,上述实施例融合更多信息、考虑更多因素,有利于更加全面的对视频中的图像进行考察,从而提取出相对满意的视频前景目标。能够理解,在上述实施例中,当根据所述第一透明度遮罩对所述视频的第一图像中的前景目标进行提取时,也可以借鉴、综合现有技术中的有关手段。也就是说,上述实施例的关键在于如何以新的方式获得透明度遮罩并实施最终指定目标的轨迹提取,而不在于如何根据透明度遮罩提取视频前景目标。
在另一个实施例中,所述指定目标来源于一照片,或者来源于一图像数据库。例如,指定目标是犯罪嫌疑人,照片为该犯罪嫌疑人的近照,图像数据库为通缉人员图像数据库。
在另一个实施例中,所述步骤s900之后还包括如下步骤:
s1000,从所述视频中提取剩余的每一帧图像,并分别将其作为所述第一图像,重复执行前述步骤s100至s900,以提取所述视频的所有前景目标;或者
s1100,从所述视频中提取剩余的每一帧图像,分别将其作为所述第一图像,并根据上一帧修正后的第一图像的第一透明度遮罩划分该当前帧所对应的第一图像中的所有前景像素集合fc、所有背景像素集合bc和所有未知像素集合zc,重复执行前述步骤s200至s900,以提取所述视频的所有前景目标,其中,划分该当前帧所对应的第一图像中的所有前景像素集合fc、所有背景像素集合bc和所有未知像素集合zc具体包括以下步骤:
s11001,将上一帧修正后的第一图像的第一透明度遮罩进行二值化,阈值取0.5,获得前景目标的第一二值图像;
s11002,将第一二值图像作为第二二值图像初始值;
s11003,使用大小为3x3的圆形结构元素对第二二值图像进行形态学腐蚀操作,并用获得的结果更新第二二值图像:
s11004,重复步骤s1003五次;
s11005,将第一二值图像作为第三二值图像初始值;
s11006,使用大小为3x3的圆形结构元素对第三二值图像进行形态学膨胀操作,并用获得的结果更新第三二值图像:
s11007,重复步骤s1006五次;
s11008,将第二二值图像中为真的对应像素作为所有前景像素集合fc、将第三二值图像中为假的对应像素作为所有背景像素集合bc、其余像素作为所有未知像素集合zc。
能够理解,对视频中的每一帧图像,重复执行上述步骤s100至s900,将能够提取视频中的所有前景目标。但是,考虑到视频画面往往每一帧图像与其后一帧图像具有画面内容上的连贯性和相似性,因此,为了能够充分利用这种连贯性和相似性,上述实施例也可以根据上一帧修正后的第一图像的第一透明度遮罩来划分当前帧所对应的第一图像中的所有前景像素集合fc、所有背景像素集合bc和所有未知像素集合zc,从而能够在图像处理的精度和效率之间取得平衡;也就是说,该实施例具备了继承的特性,其:继承了前一帧的透明度遮罩,并利用该透明度遮罩划分后一帧的前景像素集合、背景像素集合以及未知像素集合,鉴于画面内容上的连贯性和相似性,因此这种划分不仅依据了前一帧的透明度遮罩而且利用了形态学腐蚀和形态学膨胀的手段,这属于本公开的一个创新点。
在另一个实施例中,步骤s600中,通过如下方式对第一图像叠加灰度信息以生成第二图像:
s601,对第一图像进行均值滤波得到第三图像;
s602,所述第一图像和第三图像通过如下公式生成第二图像:
其中,im2表示叠加后第二图像上第k个像素的灰度值,xr表示第一图像上第k个像素xk的邻域像素,nk表示以xk为中心的邻域内的像素个数,
对于上述实施例,其通过经验值和有关公式,给出了具体叠加灰度信息的方式。
在另一个实施例中,步骤s800还包括:
s801,根据第一图像的第二透明度遮罩和第一图像的第一透明度遮罩,分别寻找其第二透明度遮罩的边缘、第一透明度遮罩的边缘;
s802,获得第二透明度遮罩的边缘的所有像素的位置,和第一透明度遮罩的边缘的所有像素的位置,并判定第二透明度遮罩的边缘的所有像素的位置和第一透明度遮罩的边缘的所有像素的位置重合的区域,进而确定位置相同的像素zsp;
s803,分别查找像素zsp对应于第一图像的第一透明度遮罩的透明度估计值,和对应于第一图像的第二透明度遮罩的透明度估计值,并以二者的平均值作为像素zsp修正后的透明度估计值;
s804,以像素zsp修正后的透明度估计值,修正所述第一图像的第一透明度遮罩。
就上述实施例而言,其意在寻找、对比两种透明度遮罩中位置相同的像素,并利用所述位置相同的像素在各自透明度遮罩中的透明度估计值,取平均值以修正第一图像的第一透明度遮罩。
在另一个实施例中,所述步骤s802进一步包括:
s8021,根据判定的第二透明度遮罩的边缘的所有像素的位置和第一透明度遮罩的边缘的所有像素的位置重合的区域,进一步确定位置不同的像素zdp,包括两种情形:位于第二透明度遮罩的边缘的像素zdp2和位于第一透明度遮罩的边缘的像素zdp1;
与前一个实施例不同的是,本实施例额外关注两个透明度遮罩所确定出来的边缘中位置不同的像素,并找出彼此不同位置的这些像素;
s8022,利用所述位置不同的像素zdp和位置相同的像素zsp,获得第二透明度遮罩的边缘与第一透明度遮罩的边缘所确定的:边缘与边缘之间所封闭的闭合区域,以及所述闭合区域的所有封闭像素的位置;
就该步骤而言,由于每个遮罩所对应的边缘都可以一定程度视为一个连通或闭合的曲线,那么无论两个遮罩所对应的闭合曲线是怎样的重叠或不重叠的关系:对于两个遮罩所对应的边缘上的那些位置不对应(即位置不同,或称位置不重合)的像素而言,共同确定了两个遮罩的边缘与边缘之间所封闭的闭合区域,以及所述闭合区域的所有封闭像素的位置;
s8023,执行如下子步骤:
(1)查找像素zdp1的位置所对应的像素于第一图像的第一透明度遮罩的透明度估计值,并查找该对应的像素于第二图像中的透明度值,并以二者的平均值作为像素zdp1修正后的透明度估计值;
(2)查找像素zdp2的位置所对应的像素于第一图像的第二透明度遮罩的透明度估计值,并查找该对应的像素于第一图像中的透明度值,并以二者的平均值作为像素zdp2修正后的透明度估计值;
对于该步骤而言,其意在寻找前述闭合区域内每个像素在两个不同体系下的透明度估计值或透明度值,并以二者的平均值作为对应像素修正后的透明度估计值,然后在下一步骤s8024中用于修正第一图像的第一透明度遮罩。也就是说,本实施例类似于前一个实施例的修正思路那样,只不过本实施例解决的是两个遮罩对应的边缘所共同封闭的区域。其中,以像素zdp1为例,其属于第一图像的第一透明度遮罩的像素,其于第一图像的第一透明度遮罩存在一透明度估计值,另外,于第二图像中,该像素zdp1位置所对应的第二图像中的像素具备第二图像中的透明度值,本实施例以该透明度估计值和透明度值的平均值作为对应像素zdp1修正后的透明度估计值。像素zdp1类似。
s8024,结合像素zdp1修正后的透明度估计值和像素zdp2修正后的透明度估计值,修正所述第一图像的第一透明度遮罩。例如,将像素zdp1修正后的透明度估计值和像素zdp2修正后的透明度估计值,作为第一透明度遮罩对应位置处像素的透明度值。
本公开的实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
此外,参见图2,本公开在另一个实施例中还揭示了一种视频目标轨迹提取装置,包括:
第一划分模块,用于:对于视频中的第一图像,划分该图像中的所有前景像素集合f、所有背景像素集合b和所有未知像素集合z;其中,所述第一图像是从所述视频中提取的某一帧图像;
第一度量模块,用于:给定某些前景背景像素对(fi,bj),根据如下公式度量每个未知像素zk的透明度
其中,ik为未知像素zk的rgb颜色值,所述前景像素fi为距离未知像素zk最近的m个前景像素、所述背景像素bj也为距离未知像素zk最近的m个背景像素,所述前景背景像素对(fi,bj)总计m2组;
第二度量模块,用于:对于所述m2组中的每一组前景背景像素对(fi,bj)及其对应的
其中,σ取值0.1,并选取可信度最高的max(nij)所对应的那一组前景背景像素对为(fimax,bjmax);
计算模块,用于:根据如下公式计算每个未知像素zk的透明度估计值
确定模块,用于:根据所述每个未知像素zk的透明度估计值
第二划分模块,用于:对第一图像叠加灰度信息以生成第二图像,并对所述第二图像划分其所有前景像素集合、所有背景像素集合和所有未知像素集合;
再次调用模块,用于:针对所述第二图像,再次调用所述第一度量模块、第二度量模块、计算模块和确定模块,以确定第二图像的第一透明度遮罩,并将所述第二图像的第一透明度遮罩作为第一图像的第二透明度遮罩;
修正模块,用于:利用所述第一图像的第二透明度遮罩,修正所述第一图像的第一透明度遮罩;
提取模块,用于:根据修正模块所得的第一图像的第一透明度遮罩,对所述视频的第一图像中的前景目标进行提取,并在所有前景目标中检索指定目标,然后按照所有帧的时间顺序,根据包括所述指定目标的所有图像生成所述指定目标的轨迹。
就该实施例而言,正如图2所示,上述各个模块可以与处理器和存储器构成系统以便实施;但是,图2并不妨碍:各个模块也可以自身具备处理单元以实现数据处理能力。
在另一个实施例中,所述装置还包括如下模块:
依次调用模块,用于:从所述视频中提取剩余的每一帧图像,并分别将其作为所述第一图像,依次调用所述:第一划分模块、第一度量模块、第二度量模块、计算模块、确定模块、第二划分模块、再次调用模块、修正模块和提取模块,以提取所述视频的所有前景目标;或者包括:
继承调用模块,用于:从所述视频中提取剩余的每一帧图像,分别将其作为所述第一图像,并输入到第三划分模块,其中,所述第三划分模块用于根据上一帧修正后的第一图像的第一透明度遮罩划分该当前帧所对应的第一图像中的所有前景像素集合fc、所有背景像素集合bc和所有未知像素集合zc;然后所述继承调用模块依次调用所述第一度量模块、第二度量模块、计算模块、确定模块、第二划分模块、再次调用模块、修正模块和提取模块,以提取所述视频的所有前景目标,其中,第三划分模块包括:
第一二值图像处理单元,用于将上一帧修正后的第一图像的第一透明度遮罩进行二值化,阈值取0.5,获得前景目标的第一二值图像;
第二二值图像初始单元,用于:将第一二值图像作为第二二值图像初始值;
第二二值图像处理单元,用于:使用大小为3x3的圆形结构元素对第二二值图像进行形态学腐蚀操作,并用获得的结果更新第二二值图像;
第一重复调用单元,用于重复调用第二二值处理单元五次;
第三二值图像初始单元,用于:将第一二值图像作为第三二值图像初始值;
第三二值图像处理单元,用于:使用大小为3x3的圆形结构元素对第三二值图像进行形态学膨胀操作,并用获得的结果更新第三二值图像:
第一重复调用单元,用于重复调用第三二值处理单元五次;
真假划分单元,用于:将第二二值图像处理单元最后更新的第二二值图像中为真的对应像素作为所有前景像素集合fc、将第三二值图像处理单元最后更新的第三二值图像中为假的对应像素作为所有背景像素集合bc、其余像素作为所有未知像素集合zc。
在另一个实施例中,其中,第二划分模块还包括:
均值滤波单元,用于:对第一图像进行均值滤波得到第三图像;
第二图像生成单元,用于:所述第一图像和第三图像通过如下公式生成第二图像:
其中,im2表示叠加后第二图像上第k个像素的灰度值,xr表示第一图像上第k个像素xk的邻域像素,nk表示以xk为中心的邻域内的像素个数,
在另一个实施例中,其中,修正模块还包括:
寻找边缘单元,用于:根据第一图像的第二透明度遮罩和第一图像的第一透明度遮罩,分别寻找其第二透明度遮罩的边缘、第一透明度遮罩的边缘;
确定位置单元,用于:获得第二透明度遮罩的边缘的所有像素的位置,和第一透明度遮罩的边缘的所有像素的位置,并判定第二透明度遮罩的边缘的所有像素的位置和第一透明度遮罩的边缘的所有像素的位置重合的区域,进而确定位置相同的像素zsp;
第一修正单元,用于:分别查找像素zsp对应于第一图像的第一透明度遮罩的透明度估计值,和对应于第一图像的第二透明度遮罩的透明度估计值,并以二者的平均值作为像素zsp修正后的透明度估计值;
第二修正单元,用于:以像素zsp修正后的透明度估计值,修正所述第一图像的第一透明度遮罩。
能够理解,所述装置能够实施前文第一个实施例所述的方法。
在另一个实施例中,其中,所述确定位置单元进一步包括:
不同位置子单元,用于:根据判定的第二透明度遮罩的边缘的所有像素的位置和第一透明度遮罩的边缘的所有像素的位置重合的区域,进一步确定位置不同的像素zdp,包括:位于第二透明度遮罩的边缘的像素zdp2和位于第一透明度遮罩的边缘的像素zdp1;
闭合子单元,用于:利用所述位置不同的像素zdp和位置相同的像素zsp,获得第二透明度遮罩的边缘与第一透明度遮罩的边缘所确定的:边缘与边缘之间所封闭的闭合区域,以及所述闭合区域的所有封闭像素的位置;
多次查找子单元,用于:
(3)查找像素zdp1的位置所对应的像素于第一图像的第一透明度遮罩的透明度估计值,并查找该对应的像素于第二图像中的透明度值,并以二者的平均值作为像素zdp1修正后的透明度估计值;
(4)查找像素zdp2的位置所对应的像素于第一图像的第二透明度遮罩的透明度估计值,并查找该对应的像素于第一图像中第一透明度遮罩的透明度值,并以二者的平均值作为像素zdp2修正后的透明度估计值;
复杂修正子单元,用于:结合像素zdp1修正后的透明度估计值和像素zdp2修正后的透明度估计值,修正所述第一图像的第一透明度遮罩。
本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作、模块、单元并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的方法,可实现为对应的功能单元、处理器乃至系统,其中所述系统的各部分既可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,各功能单元可以集成在一个处理单元中,也可以是各个单元单独存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为智能手机、个人数字助理、可穿戴设备、笔记本电脑、平板电脑)执行本公开的各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开的各实施例技术方案的范围。