专利名称:图像平移更新显示方法和系统的制作方法
技术领域:
本发明涉及图像处理技术领域,特别是涉及一种图像平移更新显示方法和系统。
背景技术:
传统技术在显示图像时,一般是渲染系统根据显示装置的显示范围,获取到需要显示的图像数据,然后将该图像数据绘制在一个内存上,然后再将其输出至显示装置进行显示。当平移更新图像时,根据重新计算的显示范围,并查找到平移更新后的图像数据,将该图像数据绘制在所述内存上,然后进行显示。上述技术中,由于每次进行图像平移更新时,都需要将整个显示装置的显示范围内的图像绘制一次,而实际上,大多图像进行平移更新时,很多一部分的图像数据在更新前后是相同的,这样造成大量重复的绘制过程,导致处理器资源浪费严重,特别是当显示装置分辨率较大时,每次重新绘制图像数据量是非常巨大的,降低平移操作的速度,甚至出现卡屏的现象。
发明内容
基于此,有必要针对上述问题,提供一种平移速度快及显示效率高的图像平移更新显示方法和系统。一种图像平移更新显示方法,包括如下步骤在图像平移更新时,从第一内存中获取公共图像数据,并将其拷贝至第二内存中;其中,所述第一内存用于保存完整的图像数据,所述公共图像数据为第一内存中图像平移更新前后相同区域的图像数据;将变化图像数据绘制至第三内存中;其中,所述变化图像数据为第一内存中图像平移更新前后变化区域的图像数据;将所述第二内存及第三内存中的图像数据拷贝至所述第一内存中;将所述第一内存中的图像数据进行显示。一种图像平移更新显示系统,包括相同数据拷贝模块,用于在图像平移更新时,从第一内存中获取公共图像数据,并将其拷贝至第二内存中;其中,所述第一内存用于保存完整的图像数据,所述公共图像数据为第一内存中图像平移更新前后相同区域的图像数据;变化数据绘制模块,用于将变化图像数据绘制至第三内存中;其中,所述变化图像数据为第一内存中图像平移更新前后变化区域的图像数据;数据重组模块,用于将所述第二内存及第三内存中的图像数据拷贝至所述第一内存中;图像显示模块,用于将所述第一内存中的图像数据进行显示。上述图像平移更新显示方法和系统,在图像进行平移更新时,通过计算出平移更新前后相同区域及变化区域,并从前一帧图像数据中直接拷贝相同区域内的图像数据,只需实时绘制变化区域的图像数据,从而较少了图像数据的绘制,有效较少每次平移操作所需要处理的数据量,提高平移操作速度,提高地图平移的显示效率。
图1为一个实施例的图像平移更新显示方法流程图;图2为一个实施例中图像平移更新前后示意图;图3为一个实施例的图像平移更新显示系统结构图。
具体实施例方式下面结合附图对本发明的图像平移更新显示方法的具体实施方式
作详细描述。参见图1所示,图1为一个实施例的图像平移更新显示方法流程图,包括如下步骤步骤SlO :在图像平移更新时,从第一内存中获取公共图像数据,并将其拷贝至第二内存中;其中,所述第一内存用于保存完整的图像数据,所述公共图像数据为第一内存中图像平移更新前后相同区域的图像数据。在本步骤中,主要是获取平移更新前后的图像坐标上的相交区域的图像数据,将其拷贝至第二内存中。在一个实施例中,可以包括如下步骤步骤S101,根据图像平移更新前的图像区域坐标所述跨度计算图像平移更新后的图像区域坐标。具体的,获取图像平移更新像素平移的跨度,确定图像平移更新前的图像区域坐标,在该图像区域坐标加上平移的跨度,即得到图像平移更新后的图像区域坐标。步骤S102,根据所述更新前的图像区域坐标与更新后的图像区域坐标计算图像平移更新前的图像区域与图像平移更新后的图像区域坐标的相交图像区域坐标。具体的,根据平移更新前的图像区域坐标和平移更新后的图像区域坐标,判断两个区域坐标的图像范围,取图像范围的交集部分,得到相交图像区域坐标。步骤S103,根据所述相交图像区域坐标从第一内存中提取相应的公共图像数据。具体的,根据相交图像区域坐标,从第一内存中读取该交图像区域坐标的图像数据,然后将其拷贝至第二内存中。由于图像数据是从内存中直接拷贝,速度快,提高了平移更新显示的效率。步骤S20 :将变化图像数据绘制至第三内存中;其中,所述变化图像数据为第一内存中图像平移更新前后变化区域的图像数据。在本步骤中,主要是绘制图像平移更新发生变化的图像数据至第三内存中,从而减少绘制图像平移更新前后相同区域的图像数据的处理过程。在一个实施例中,可以包括如下步骤步骤S201,计算图像平移更新后的变化图像区域坐标。具体的,根据前述计算的平移更新后的图像区域坐标,减去相交图像区域坐标,得到平移更新后的变化图像区域坐标。步骤S202,根据所述变化图像区域坐标从存储介质中读取对应的变化图像数据。
具体的,依据变化图像区域坐标,从硬盘、磁盘等存储介质读取该变化图像区域坐标像素范围内的图像数据。步骤S203,在所述第三内存中绘制所述变化图像数据。具体的,将变化图像区域坐标像素范围内的图像数据绘制到第三内存中,由于无需绘制公共图像数据,减少了绘制的过程,提高绘制速度及效率。步骤S30 :将所述第二内存及第三内存中的图像数据拷贝至所述第一内存中。在本步骤中,是图像数据重组过程,即将第二内存及第三内存中的图像数据按其坐标关系,依次拷贝至到第一内存中,得到完整的平移更新后的图像数据。步骤S40 :将所述第一内存中的图像数据进行显示。 在本步骤中,主要是实现平移更新后完整的图像数据在显示装置上进行显示的过程。在一个实施例中,首先将第一内存的图像数据拷贝到界面dc上;然后将所述界面dc上的图像数据进行显示。为了更加清晰本发明的技术方案,下面结合附图阐述基于本发明图像平移更新显示方法实现的应用示例。本应用示例是基于windows系统上实现GIS地图平移更新显示过程。在内存dc中创建内存MdcO、内存Mdcl以及内存Mdc2,其中,MdcO用于保存完整的GIS地图数据,Mdcl用于保存更新后不变的GIS地图数据,Mdc2用于保存更新后变化的GIS地图数据。首先,把显示装置上需要显示的GIS地图数据先绘制在MdcO中,然后使用⑶I的BitBlt方法把该MdcO中的GIS地图数据拷贝到界面dc上,将界面dc上的图像数据进行显示,从而完成GIS地图数据在界面上的初始显示,此时,在屏幕上显示第一帧图像。当进行GIS地图平移更新时,计算更新前后GIS地图不变的公共部分。如图2所示,具体地,初始状态下,根据显示GIS地图的显示范围,屏幕左上角对应的地理坐标为(xtl, ytl),右下角对应的坐标为(Xto, yto),在该显示范围内构成了一个矩形区域!\。需要说明的是,上述的坐标为指地理坐标,当显示的内容是普通图像时,在此区域的坐标可以使用屏幕坐标表示,例如,左上角为(0,0),右下角为(W,H)。假设GIS地图平移的地理跨度( ,%),其中,( ,%)表示GIS地图在横轴上进行了 Xtl个单位的移动、在纵轴上进行了 yo个单位的移动。移动后屏幕左上角对应的地理坐标为(χ’ tl, y’ tl),右下角对应的地理坐标为(χ’ br, y’ br),矩形区域用T2表示,则χ’ tl = xtl+x0,
y tl — Ytl+Yo ;X br — Xbr+X0,Y br — 5ν+Υ(Ι。矩形T为1\、T2中两个矩形的相交部分,则其坐标范围为(xtl。,ytlc),(xbrc, ybrc)。则矩形T内地所有像素点(X,Y) e T1 U (X,Y) e T2,使用⑶I的IntersectRect函数或GEOS的相关计算方法计算出两个矩形的相交部分的区域T (xtl。,ytlc), (xbrc, ybrc) 在MdcO中找到T区域的GIS地图数据,并将其拷贝到Mdcl中。计算平移更新前后需要更新的区域T3,其中,T3=T2-T,即T2矩形中除去T部分的范围;从磁盘获取T3的范围内的GIS地图数据绘制到Mdc2中。最后,根据Mdcl、Mdc2各自GIS地图数据的范围,把GIS地图数据复制到MdcO中,再把MdcO的场景拷贝到界面dc上进行显示,完成GIS地图平移更新的显示。
下面结合附图对本发明的图像平移更新显示系统的具体实施方式
作详细描述。参见图3所示,图3为一个实施例的图像平移更新显示系统结构图,包括相同数据拷贝模块、变化数据绘制模块、数据重组模块以及图像显示模块。相同数据拷贝模块,用于在图像平移更新时,从第一内存中获取公共图像数据,并将其拷贝至第二内存中;其中,所述第一内存用于保存完整的图像数据,所述公共图像数据为第一内存中图像平移更新前后相同区域的图像数据。变化数据绘制模块,用于将变化图像数据绘制至第三内存中;其中,所述变化图像数据为第一内存中图像平移更新前后变化区域的图像数据。数据重组模块,用于将所述第二内存及第三内存中的图像数据拷贝至所述第一内存中。图像显示模块,用于将所述第一内存中的图像数据进行显示。在一个实施例中,所述相同数据拷贝模块包括更新图像区域坐标计算单元、相交图像区域坐标计算单元以及公共图像数据提取单元。更新图像区域坐标计算单元,用于根据图像平移更新前的图像区域坐标及像素平移的跨度计算图像平移更新后的图像区域坐标。相交图像区域坐标计算单元,用于根据所述更新前的图像区域坐标与更新后的图像区域坐标计算图像平移更新前的图像区域与图像平移更新后的图像区域坐标的相交图像区域坐标。公共图像数据提取单元,用于根据所述相交图像区域坐标从第一内存中提取相应的公共图像数据。在一个实施例中,所述变化数据绘制模块包括变化图像区域坐标计算单元、变化图像数据读取单元以及变化图像数据绘制单元。变化图像区域坐标计算单元,用于计算图像平移更新后的变化图像区域坐标。变化图像数据读取单元,用于根据所述变化图像区域坐标从存储介质中读取对应的变化图像数据。变化图像数据绘制单元,用于在所述第三内存中绘制所述变化图像数据。在一个实施例中,所述图像显示模块进一步用于将第一内存的图像数据拷贝到界面dc上,再将所述界面dc上的图像数据进行显示。在一个实施例中,所述图像为GIS地图。本发明的图像平移更新显示系统与本发明的图像平移更新显示方法一一对应,在上述图像平移更新显示方法的实施例阐述的技术特征及其有益效果均适用于图像平移更新显示系统的实施例中,在此不再赘述。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种图像平移更新显示方法,其特征在于,包括如下步骤 在图像平移更新时,从第一内存中获取公共图像数据,并将其拷贝至第二内存中;其中,所述第一内存用于保存完整的图像数据,所述公共图像数据为第一内存中图像平移更新前后相同区域的图像数据; 将变化图像数据绘制至第三内存中;其中,所述变化图像数据为第一内存中图像平移更新前后变化区域的图像数据; 将所述第二内存及第三内存中的图像数据拷贝至所述第一内存中; 将所述第一内存中的图像数据进行显示。
2.根据权利要求1所述的图像更新显示方法,其特征在于,所述从第一内存中获取公共图像数据的步骤包括 根据图像平移更新前的图像区域坐标及像素平移的跨度计算图像平移更新后的图像区域坐标; 根据所述更新前的图像区域坐标与更新后的图像区域坐标计算图像平移更新前的图像区域与图像平移更新后的图像区域坐标的相交图像区域坐标; 根据所述相交图像区域坐标从第一内存中提取相应的公共图像数据。
3.根据权利要求1所述的图像更新显示方法,其特征在于,所述将变化图像数据绘制至第三内存中的步骤包括 计算图像平移更新后的变化图像区域坐标; 根据所述变化图像区域坐标从存储介质中读取对应的变化图像数据; 在所述第三内存中绘制所述变化图像数据。
4.根据权利要求1所述的图像更新显示方法,其特征在于,将所述第一内存中的图像数据进行显示的步骤包括 将第一内存的图像数据拷贝到界面dc上,再将所述界面dc上的图像数据进行显示。
5.根据权利要求1至4任一项所述的图像更新显示方法,其特征在于,所述图像为GIS地图。
6.一种图像平移更新显示系统,其特征在于,包括 相同数据拷贝模块,用于在图像平移更新时,从第一内存中获取公共图像数据,并将其拷贝至第二内存中;其中,所述第一内存用于保存完整的图像数据,所述公共图像数据为第一内存中图像平移更新前后相同区域的图像数据; 变化数据绘制模块,用于将变化图像数据绘制至第三内存中;其中,所述变化图像数据为第一内存中图像平移更新前后变化区域的图像数据; 数据重组模块,用于将所述第二内存及第三内存中的图像数据拷贝至所述第一内存中; 图像显示模块,用于将所述第一内存中的图像数据进行显示。
7.根据权利要求6所述的图像更新显示系统,其特征在于,所述相同数据拷贝模块包括 更新图像区域坐标计算单元,用于根据图像平移更新前的图像区域坐标及像素平移的跨度计算图像平移更新后的图像区域坐标; 相交图像区域坐标计算单元,用于根据所述更新前的图像区域坐标与更新后的图像区域坐标计算图像平移更新前的图像区域与图像平移更新后的图像区域坐标的相交图像区域坐标;公共图像数据提取单元,用于根据所述相交图像区域坐标从第一内存中提取相应的公共图像数据。
8.根据权利要求6所述的图像更新显示系统,其特征在于,所述变化数据绘制模块包括变化图像区域坐标计算单元,用于计算图像平移更新后的变化图像区域坐标;变化图像数据读取单元,用于根据所述变化图像区域坐标从存储介质中读取对应的变化图像数据;变化图像数据绘制单元,用于在所述第三内存中绘制所述变化图像数据。
9.根据权利要求6所述的图像更新显示系统,其特征在于,所述图像显示模块进一步用于将第一内存的图像数据拷贝到界面dc上,再将所述界面dc上的图像数据进行显示。
10.根据权利要求6至9任一项所述的图像更新显示系统,其特征在于,所述图像为 GIS地图。
全文摘要
一种图像平移更新显示方法和系统,该方法包括步骤在图像平移更新时,从第一内存中获取公共图像数据,并将其拷贝至第二内存中;其中,第一内存用于保存完整的图像数据,公共图像数据为第一内存中图像平移更新前后相同区域的图像数据;将变化图像数据绘制至第三内存中;其中,变化图像数据为第一内存中图像平移更新前后变化区域的图像数据;将第二内存及第三内存中的图像数据拷贝至所述第一内存中;将第一内存中的图像数据进行显示。本发明的计算,可以有效较少每次平移操作所需要处理的数据量,提高平移操作速度,提高地图平移的显示效率。
文档编号G06T1/00GK103020888SQ20121051812
公开日2013年4月3日 申请日期2012年12月5日 优先权日2012年12月5日
发明者陈泓坤 申请人:广东威创视讯科技股份有限公司