一种采集图像数据的方法及装置制造方法

文档序号:6524046阅读:144来源:国知局
一种采集图像数据的方法及装置制造方法
【专利摘要】本发明公开了一种采集图像数据的方法及装置,首先生成仿真图像,在生成仿真图像的过程中,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。基于上述方法,能够实时在线采集图像数据,且实现过程简单,适用于采集三维视景仿真图像数据。
【专利说明】 一种采集图像数据的方法及装置
【技术领域】
[0001]本发明涉及三维视景仿真及图像处理【技术领域】,更具体的说,是涉及一种采集图像数据的方法及装置。
【背景技术】
[0002]三维视景仿真技术在城市仿真、军事仿真、驾驶训练及航空操作管理等领域有着广泛的应用。该技术可以模拟不同的场景,并以不同的视角产生不同的三维视景仿真图像来显示场景中的物体。在很多研究领域,都需要实时在线采集三维视景仿真图像的数据,以便对采集到的数据应用图像处理算法进行相关处理,将图像处理结果即时输出给其他系统进行相关的在线工作。
[0003]现有的采集图像数据的方法有以下几种:
[0004]方法一:利用DirectShow技术构造图像捕捉过滤器实现实时获取视频流中图像数据。
[0005]方法二:通过Hook机制,将hook插入到多媒体图像API例程中进行图像数据获取和保存。
[0006]方法三:根据一定的图像压缩算法将生成的图像进行压缩,并按照特定的通信协议进行网络传输,另一端的计算机对接收到的图像进行解压缩而得到原始图像,并将该图像作为图像处理算法的输入。
[0007]但是,方法一和方法二只适用于视频文件中图像数据的获取,不适用在线采集三维视景仿真图像的数据,而方法三受到图像数据量、网络带宽、压缩算法和解压缩算法的限制,采集过程繁琐,也不适用于在线采集三维视景仿真图像的数据。
[0008]综上所述,现有技术中的采集图像数据的方法,不能实时在线采集三维视景仿真图像数据。

【发明内容】

[0009]有鉴于此,本发明提供了一种采集图像数据的方法及装置,以克服现有技术中不存在一种适用于在线采集三维视景仿真图像数据的方法的问题。
[0010]为实现上述目的,本发明提供如下技术方案:
[0011]一种采集图像数据的方法,包括:
[0012]生成仿真图像;
[0013]在生成仿真图像的同时,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。
[0014]优选的,所述生成仿真图像包括:
[0015]对仿真场景中的几何实体进行建模,生成几何实体模型;
[0016]根据所述几何实体模型生成相应的场景文件;
[0017]调用所述场景文件,生成所述仿真图像。[0018]优选的,所述获取已生成的仿真图像数据,包括:
[0019]通过应用程序编程接口 API函数获取所述已生成的仿真图像;
[0020]通过图形程序接口 OpenGL的位图处理函数获取所述已生成的仿真图像的数据。
[0021]优选的,所述通过图形程序接口 OpenGL的位图处理函数获取所述已生成的仿真图像的数据,包括:
[0022]调用pf Get Chan Size函数获取所述已生成的仿真图像的长和宽;
[0023]调用g I Read Pixels函数获取所述已生成图像的每个像素点的R、G、B值。
[0024]优选的,所述将所述已生成的仿真图像数据传输至预先设定的存储器包括:
[0025]将所述每个像素点的R、G、B值保存至内存中。
[0026]优选的,所述将所述已生成的仿真图像数据传输至预先设定的存储器包括:
[0027]调用OpenGL的API函数,根据所述已生成的仿真图像的长和宽获得所述已生成的仿真图像的大小;
[0028]根据所述已生成的仿真图像的大小创建帧缓存对象FBO ;
[0029]将所述每个像素点的R、G、B值保存至所述FBO中。
[0030]优选的,所述仿真图像包括三维视景仿真图像。
[0031]一种采集图像数据的装置,包括:
[0032]仿真图像生成单元,用于生成仿真图像;
[0033]传输单元,用于在生成仿真图像的同时,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。
[0034]优选的,所述仿真图像生成单元包括:
[0035]建模子单元,用于对仿真场景中的几何实体进行建模,生成几何实体模型;
[0036]场景文件生成子单元,用于根据所述几何实体模型生成相应的场景文件;
[0037]仿真图像生成子单元,用于调取所述场景文件,生成所述仿真图像。
[0038]优选的,所述传输单元包括:
[0039]图像获取子单元,用于通过应用程序编程接口 API函数获取所述已生成的仿真图像;
[0040]数据获取子单元,用于通过图形程序接口 OpenGL的位图处理函数获取所述已生成的仿真图像的数据;
[0041]其中,所述数据获取子单元具体用于调用pf Get Chan Size函数获取所述已生成的仿真图像的长和宽;调用g I Read Pixels函数获取所述已生成图像的每个像素点的R、G、B 值;
[0042]则所述传输单元包括:
[0043]第一存储单元,用于将所述每个像素点的R、G、B值保存至内存中;
[0044]和/或,第二存储单元,用于调用OpenGL的API函数,根据所述已生成的仿真图像的长和宽获得所述已生成的仿真图像的大小;根据所述已生成的仿真图像的大小创建帧缓存对象FBO ;将所述每个像素点的R、G、B值保存至所述FBO中。
[0045]经由上述的技术方案可知,与现有技术相比,本发明公开了一种采集图像数据的方法及装置,首先生成仿真图像,在生成仿真图像的过程中,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。基于上述方法,能够实时在线 采集图像数据,且实现过程简单,适用于采集三维视景仿真图像数据。
【专利附图】

【附图说明】
[0046]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0047]图1为本发明实施例一公开的一种采集图像数据的方法的具体流程示意图;
[0048]图2为本发明实施例二公开的另一种采集图像数据的方法的具体流程示意图;
[0049]图3为本发明实施例三公开的另一种采集图像数据的方法的具体流程示意图;
[0050]图4为本发明实施例四公开的一种采集图像数据的装置的具体结构示意图。
【具体实施方式】
[0051]为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
[0052]API Application Programming Interface,应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
[0053]RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
[0054]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055]由【背景技术】可知,现有技术中并不存在一种适用于在线采集三维视景仿真图像数据的方法。
[0056]为此,本发明公开了一种采集图像数据的方法及装置,首先生成仿真图像,在生成仿真图像的过程中,图像数据首先存储在第一帧缓存中,基于此,从第一帧缓存中获取所述仿真图像的图像数据,将图像数据保存至预先设定的存储器中,即可完成图像数据的采集。基于上述方法,能够在线采集图像数据,且实现过程简单,适用于采集三维视景仿真图像数据。
[0057]有关于上述采集图像数据的方法的具体流程及上述采集图像数据的装置的具体结构将通过以下实施例进行详细说明。
[0058]实施例一
[0059]请参阅附图1,为本发明实施例一公开的一种采集图像数据的方法具体流程示意图,该方法具体包括如下步骤:
[0060]SlOl:生成仿真图像。
[0061 ] 在本实施例中,仿真图像是在计算机上在线生成的。[0062]S102:在生成仿真图像的同时,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。
[0063]需要说明的是,这里所述的预先设定的存储器可以为计算机内存也可以为帧缓存。
[0064]本实施例一公开了一种采集图像数据的方法,首先生成仿真图像,在生成仿真图像的过程中,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。基于上述方法,能够实时在线采集图像数据,且实现过程简单,适用于采集三维视景仿真图像数据。
[0065]在上述本发明公开的实施例的基础上,本发明实施例还公开了另外一种采集图像数据的方法,下面将通过以下实施例进行详细说明。
[0066]实施例二
[0067]请参阅附图2,为本发明实施例二公开的另一种采集图像数据的方法的具体流程示意图,该实施例中,仿真图像为三维视景仿真图像,该方法具体包括如下步骤:
[0068]S201:生成三维视景仿真图像。
[0069]本实施例中,通过三维视景仿真软件中的图像生成模块在线生成三维视景仿真图像,生成的三维视景仿真图像可以是静态图像也可以是动态连续帧图像。需要说明的是,上述图像生成模块时利用三维视景仿真软件(如,Vega、Vega Prime等)与VC++开发环境生成的。具体的,通过VC工程对三维视景仿真软件的图像生成模块进行管理与启动,以实现在线生成三维视景仿真图像。
[0070]在本实施例中,在线生成三维视景仿真图像的具体过程如下:
[0071]首先,利用三维建模软件,对仿真场景中的三维几何实体进行建模;
[0072]然后,利用三维几何实体模型生成相应的场景文件;
[0073]最后,利用三维视景仿真软件提供的API函数获取三维视景仿真图像对应的通道,在VC工程环境下搭建场景驱动程序,调用场景文件,通过仿真数据对场景中的运动体的位置和姿态进行更新,以实现仿真图像的生成与更新。
[0074]需要说明的是,在生成三维视景仿真图像之后,即可对上述仿真图像进行实时显
/Jn ο
[0075]S202:在生成三维视景仿真图像的同时,通过应用程序编程接口 API函数获取所述已生成的三维视景仿真图像。
[0076]S203:通过图形程序接口 OpenGL的位图处理函数获取所述已生成的三维视景仿真图像的数据。
[0077]需要说明的是,在本实施例中,在对三维视景仿真图像显示的过程中,调用pf GetChan Size函数获取所述已生成的仿真图像的长和宽,并调用g I Read Pixels函数获取所述已生成图像的每个像素点的R、G、B值。上述图像每个像素点的R、G、B值即为三维视景仿真图像的图像数据。
[0078]S204:将所述三维视景仿真图像的图像数据保存至预先设定的内存中。
[0079]在本实施例中,是将所述三维视景仿真图像的图像数据保存至预先设定的内存中的。
[0080]S205:对所述三维视景仿真图像的图像数据进行图像处理,获取处理后的仿真图像,所述图像处理包括去噪和/或轮廓提取。
[0081]本实施例二公开了一种采集图像数据的方法,首先生成仿真图像,在生成仿真图像的过程中,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的内存中,即可完成图像数据的采集,在内存中可以对图像数据进行处理。基于上述方法,能够在线采集图像数据,且实现过程简单,适用于采集三维视景仿真图像数据。
[0082]实施例三
[0083]请参阅附图3,为本发明实施例三公开的另一种采集图像数据的方法的具体流程示意图,该实施例中,仿真图像为三维视景仿真图像,该方法具体包括如下步骤:
[0084]S301:生成三维视景仿真图像。
[0085]S302:在生成三维视景仿真图像的同时,通过应用程序编程接口 API函数获取所述已生成的三维视景仿真图像。
[0086]需要说明的是,本实施例中步骤S301?S302与实施例二中的步骤S201?S202是相似步骤,本实施例不再详细说明,具体请参见实施例二中的相关描述。
[0087]S303:通过图形程序接口 OpenGL的位图处理函数获取所述已生成的三维视景仿真图像的数据。
[0088]需要说明的是,在本实施例中,在对三维视景仿真图像显示的过程中,调用pf GetChan Size函数获取所述已生成的仿真图像的长和宽,并调用g I Read Pixels函数获取所述已生成图像的每个像素点的R、G、B值。上述图像每个像素点的R、G、B值即为三维视景仿真图像的图像数据。
[0089]S304:调用OpenGL的API函数,根据所述已生成的仿真图像的长和宽获得所述已生成的仿真图像的大小。
[0090]S305:根据所述已生成的仿真图像的大小创建帧缓存对象FB0。
[0091]需要说明的是,巾贞缓存对象FBO (Frame Buffer Object)与最初保存仿真图像的缓存并不等同。
[0092]S306:将所述每个像素点的R、G、B值保存至所述FBO中。
[0093]每个像素点的R、G、B值在生成之初是保存在某一帧缓存中的,在FBO创建之后,上述帧缓存中的每个像素点的R、G、B值能够渲染到FBO中进行存储及后续处理。
[0094]S307:对所述三维视景仿真图像的图像数据进行图像处理,获取处理后的仿真图像,所述图像处理包括处理生成CXD图像。
[0095]S308:显示所述处理后的仿真图像。
[0096]需要说明的是,此处显示的处理后的仿真图像,处理之前的仿真图像是之前在获取三维视景仿真图像之后显示的仿真图像。
[0097]本实施例三公开了一种采集图像数据的方法,首先生成仿真图像,在生成仿真图像的过程中,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的帧缓存中,在帧缓存中可以对图像数据进行处理,并可显示处理后的仿真图像。基于上述方法,能够在线采集图像数据,且实现过程简单,适用于采集三维视景仿真图像数据。
[0098]上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
[0099]实施例四[0100]请参阅附图4,为本发明实施例四公开的一种采集图像处理的装置具体结构示意图,该装置具体包括:
[0101]仿真图像生成单元11,用于生成仿真图像;
[0102]传输单元12,用于在生成仿真图像的同时,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。
[0103]需要说明的是,仿真图像生成单元11包括:
[0104]建模子单元,用于对仿真场景中的几何实体进行建模,生成几何实体模型;
[0105]场景文件生成子单元,用于根据所述几何实体模型生成相应的场景文件;
[0106]仿真图像生成子单元,用于调取所述场景文件,生成所述仿真图像。
[0107]所述传输单元12包括:
[0108]图像获取子单元,用于通过应用程序编程接口 API函数获取所述已生成的仿真图像;
[0109]数据获取子单元,用于通过图形程序接口 OpenGL的位图处理函数获取所述已生成的仿真图像的数据;
[0110]其中,所述数据获取子单元具体用于调用pf Get Chan Size函数获取所述已生成的仿真图像的长和宽;调用g I Read Pixels函数获取所述已生成图像的每个像素点的R、G、B 值;
[0111]则所述传输单元包括:
[0112]第一存储单元,用于将所述每个像素点的R、G、B值保存至内存中;
[0113]和/或,第二存储单元,用于调用OpenGL的API函数,根据所述已生成的仿真图像的长和宽获得所述已生成的仿真图像的大小;根据所述已生成的仿真图像的大小创建帧缓存对象FBO ;将所述每个像素点的R、G、B值保存至所述FBO中。
[0114]进一步需要说明的是,上述各个单元的功能实现已在方法实施例中进行说明,本实施例不再赘述,具体请参见方法实施例中的相关描述。
[0115]综上所述:本发明公开了一种采集图像数据的方法及装置,首先生成仿真图像,在生成仿真图像的过程中,图像数据首先存储在第一帧缓存中,基于此,从第一帧缓存中获取所述仿真图像的图像数据,将图像数据保存至预先设定的存储器中,即可完成图像数据的采集。基于上述方法,能够在线采集图像数据,且实现过程简单,适用于采集三维视景仿真图像数据。
[0116]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0117]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种采集图像数据的方法,其特征在于,包括: 生成仿真图像; 在生成仿真图像的同时,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。
2.根据权利要求1所述的方法,其特征在于,所述生成仿真图像包括: 对仿真场景中的几何实体进行建模,生成几何实体模型; 根据所述几何实体模型生成相应的场景文件; 调用所述场景文件,生成所述仿真图像。
3.根据权利要求1所述的方法,其特征在于,所述获取已生成的仿真图像数据,包括: 通过应用程序编程接口 API函数获取所述已生成的仿真图像; 通过图形程序接口 OpenGL的位图处理函数获取所述已生成的仿真图像的数据。
4.根据权利要求3所述的方法,其特征在于,所述通过图形程序接口OpenGL的位图处理函数获取所述已生成的仿真图像的数据,包括: 调用pf Get Chan Size函数获取所述已生成的仿真图像的长和宽; 调用g I Read Pixels函数获取所述已生成图像的每个像素点的R、G、B值。
5.根据权利要求4所述的方法,其特征在于,所述将所述已生成的仿真图像数据传输至预先设定的存储器包括: 将所述每个像素点的R、G、B值保存至内存中。
6.根据权利要求4所述的方法,其特征在于,所述将所述已生成的仿真图像数据传输至预先设定的存储器包括: 调用OpenGL的API函数,根据所述已生成的仿真图像的长和宽获得所述已生成的仿真图像的大小; 根据所述已生成的仿真图像的大小创建帧缓存对象FBO ; 将所述每个像素点的R、G、B值保存至所述FBO中。
7.根据权利要求1~6任意一项所述的方法,其特征在于,所述仿真图像包括三维视景仿真图像。
8.一种采集图像数据的装置,其特征在于,包括: 仿真图像生成单元,用于生成仿真图像; 传输单元,用于在生成仿真图像的同时,获取已生成的仿真图像数据,并将所述已生成的仿真图像数据传输至预先设定的存储器。
9.根据权利要求8所述的装置,其特征在于,所述仿真图像生成单元包括: 建模子单元,用于对仿真场景中的几何实体进行建模,生成几何实体模型; 场景文件生成子单元,用于根据所述几何实体模型生成相应的场景文件; 仿真图像生成子单元,用于调取所述场景文件,生成所述仿真图像。
10.根据权利要求8所述的装置,其特征在于,所述传输单元包括: 图像获取子单元,用于通过应用程序编程接口 API函数获取所述已生成的仿真图像;数据获取子单元,用于通过图形程序接口 OpenGL的位图处理函数获取所述已生成的仿真图像的数据; 其中,所述数据获取子单元具体用于调用Pf Get Chan Size函数获取所述已生成的仿真图像的长和宽;调用g I Read Pixels函数获取所述已生成图像的每个像素点的R、G、B值; 则所述传输单元包括: 第一存储单元,用于将所述每个像素点的R、G、B值保存至内存中; 和/或,第二存储单元,用于调用OpenGL的API函数,根据所述已生成的仿真图像的长和宽获得所述已生成的仿真图像的大小;根据所述已生成的仿真图像的大小创建帧缓存对象FBO ;将所述每个像素点的 R、G、B值保存至所述FBO中。
【文档编号】G06T19/00GK103646427SQ201310690352
【公开日】2014年3月19日 申请日期:2013年12月16日 优先权日:2013年12月16日
【发明者】张永丽, 罗喜霜 申请人:北京经纬恒润科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1