基于CUDA的数字图像几何变换方法、装置、设备及介质与流程

文档序号:21785498发布日期:2020-08-07 20:29阅读:130来源:国知局
基于CUDA的数字图像几何变换方法、装置、设备及介质与流程

本发明涉及计算机图像处理技术领域,特别是涉及一种基于cuda的数字图像几何变换方法、基于cuda的数字图像几何变换装置、计算机设备及计算机可读存储介质。



背景技术:

随着数字电网的建设不断推进,海量的电网数据给电网的大数据挖掘工作了大量的机遇和挑战。人们通过数据可视化,即利用计算机图像转换技术将电网数据转换为可视化的图像,使得便于直观的呈现电网数据,从而高效的进行大规模的数据分析,以提高电网管理业务水平。

传统的计算机图像转换技术中,常通过读取全局内存或常量内存以得到所需要的参数,从而进行计算机图像转换,但是这种方式耗费时间长、需要遵循相应的访问模式才能得到较好的性能,应用限制较多。



技术实现要素:

基于此,有必要针对传统的计算机图像转换技术耗费时间长、需要遵循相应的访问模式才能得到较好性能使得应用受限制的技术问题,提供一种基于cuda的数字图像几何变换方法、基于cuda的数字图像几何变换装置、计算机设备及计算机可读存储介质。

一种基于cuda的数字图像几何变换方法,所述方法包括以下步骤:

根据纹理内存拾取纹理参数;

根据所述纹理参数,得到源图片的纹理坐标;

对所述纹理坐标进行坐标变换,以得到参考图像坐标;以及

根据所述参考图像坐标,得到并显示数字图像。

上述基于cuda的数字图像几何变换方法,根据纹理内存拾取纹理参数,并根据纹理参数得到源图片的纹理坐标;对纹理坐标进行坐标变换以得到参考图像坐标;最后,根据参考图像坐标得到数字图像并进行显示。拾取纹理内存与读取全局内存或常量内存相比,能够进行高速缓存从而提高图像转换速度,并且,拾取纹理内存并不受访问模式的约束,从而相对于读取全局内存或常量内存的应用所受限制较少。此外,拾取纹理内存寻址计算的延迟隐藏的更好,从而能够改善应用程序执行随机访问数据的性能。

在其中一个实施例中,所述根据纹理内存拾取纹理参数,包括:

获取纹理拾取函数,并从所述纹理内存中获取纹理函数初值;

将所述纹理函数初值代入所述纹理拾取函数,以计算所述纹理参数。

在其中一个实施例中,所述根据所述参考图像坐标,得到并显示数字图像,包括:

cpu读取所述参考图像坐标;

将所述cpu读取的所述参考图像坐标复制给gpu,并利用所述gpu对所述参考图像坐标进行并行计算,以得到所述数字图像;

将所述数字图像复制给主机,并由主机显示所述数字图像。

在其中一个实施例中,所述基于cuda的数字图像几何变换方法还包括:

对所述参考图像坐标进行归一化处理。

在其中一个实施例中,所述根据纹理内存拾取纹理参数的步骤之前,还包括:

初始化cuda。

在其中一个实施例中,所述纹理内存包括cuda数组。

一种基于cuda的数字图像几何变换装置,包括:

获取模块,用于根据纹理内存拾取纹理参数;

计算模块,用于根据所述纹理参数,得到源图片的纹理坐标;

坐标变换模块,用于对所述纹理坐标进行坐标变换,以得到参考图像坐标;以及

处理模块,用于根据所述参考图像坐标,得到并显示数字图像。

上述基于cuda的数字图像几何变换装置,根据纹理内存拾取纹理参数,并根据纹理参数得到源图片的纹理坐标;对纹理坐标进行坐标变换以得到参考图像坐标;最后,根据参考图像坐标得到数字图像并进行显示。拾取纹理内存与读取全局内存或常量内存相比,能够进行高速缓存从而提高图像转换速度,并且,拾取纹理内存并不受访问模式的约束,从而相对于读取全局内存或常量内存的应用所受限制较少。此外,拾取纹理内存寻址计算的延迟隐藏的更好,从而能够改善应用程序执行随机访问数据的性能。

在其中一个实施例中,所述获取模块在执行所述根据纹理内存拾取纹理参数步骤时:

获取纹理拾取函数,并从所述纹理内存中获取纹理函数初值;

将所述纹理函数初值代入所述纹理拾取函数,以计算所述纹理参数。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一项所述基于cuda的数字图像几何变换方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述基于cuda的数字图像几何变换方法的步骤。

附图说明

图1为一个实施例中基于cuda的数字图像几何变换方法的流程图。

图2为另一个实施例中基于cuda的数字图像几何变换方法的流程图。

图3为一个实施例中基于cuda的数字图像几何变换装置的结构框图。

图4为一实施例中的计算机设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

随着数字电网的建设不断推进,海量的电网数据给电网的大数据挖掘工作了大量的机遇和挑战。人们通过数据可视化,即利用计算机图像转换技术将电网数据转换为可视化的图像,使得便于直观的呈现电网数据,从而高效的进行大规模的数据分析,以提高电网管理业务水平。

传统的计算机图像转换技术中,常通过读取全局内存或常量内存以得到所需要的参数,从而进行计算机图像转换,但是这种方式耗费时间长、需要遵循相应的访问模式才能得到较好的性能,应用限制较多。

基于此,有必要针对传统的计算机图像转换技术耗费时间长、需要遵循相应的访问模式才能得到较好性能使得应用受限制的技术问题,提供一种基于cuda的数字图像几何变换方法。

图1为一实施例中的基于cuda的数字图像几何变换方法的流程图。如图1所示,基于cuda的数字图像几何变换方法包括以下步骤:

步骤s12,根据纹理内存拾取纹理参数。

具体的,传统的计算机图像并不自然,缺乏各种纹路,例如,磨损、裂痕、指纹和污渍等,而这些纹路会增加三维物体的真实感。在计算机图形学中,纹理指的是一张表示物体表面细节的位图。纹理内存可以指线性内存或者cuda数组。拾取纹理参数也即对存在于线性内存或cuda数组中的纹理参数进行读取。在拾取纹理参数时,拾取的第一个参数就是纹理参考,纹理参考定义要拾取哪部分纹理内存。后续根据纹理参考选择对应的纹理内存拾取其余的纹理参数。

拾取纹理内存与读取全局内存或常量内存相比,能够进行高速缓存从而提高图像转换速度,并且,拾取纹理内存并不受访问模式的约束,从而相对于读取全局内存或常量内存的应用所受限制较少。此外,拾取纹理内存寻址计算的延迟隐藏的更好,从而能够改善应用程序执行随机访问数据的性能。

根据纹理内存拾取纹理参数,从而进行数字图像几何变换可以增加数字图像的真实感,有利于将电网数据转换为更加直观的可视化图像,从而能够更好的对电网数据进行分析。

步骤s14,根据纹理参数,得到源图片的纹理坐标。

具体的,纹理坐标位于纹理空间中,当把纹理贴到三维空间中图元的表面时,源图片中各部分的人坐标可以映射为纹理空间中的一个纹理坐标。源图片可以是拍摄装置拍摄的图片,例如,在对电网数据进行分析时,可以先采集各用电区域的三维图片,从而便于对该三维图片中的供电、用电等数据进行分析,用电区域的三维图片可以作为源图片。根据纹理参数,得到该源图片中各部分的坐标对应的纹理坐标。源图片中的各部分可以包括供电变压器、居民楼、道路、树木等。

步骤s16,对纹理坐标进行坐标变换,以得到参考图像坐标。

步骤s18,根据参考图像坐标,得到并显示数字图像。

具体的,对纹理坐标进行变换得到参考图像坐标,对参考图像坐标进行处理可以得到根据电网数据转换得到的数字图像。由于数据量较大,因此可以通过gpu辅助进行参考图像坐标的并行计算最终得到数字图像,从而提高图像转换速度。

上述基于cuda的数字图像几何变换方法,根据纹理内存拾取纹理参数,并根据纹理参数得到源图片的纹理坐标;对纹理坐标进行坐标变换以得到参考图像坐标;最后,根据参考图像坐标得到数字图像并进行显示。拾取纹理内存与读取全局内存或常量内存相比,能够进行高速缓存从而提高图像转换速度,并且,拾取纹理内存并不受访问模式的约束,从而相对于读取全局内存或常量内存的应用所受限制较少。此外,拾取纹理内存寻址计算的延迟隐藏的更好,从而能够改善应用程序执行随机访问数据的性能。

图2为另一实施例中的基于cuda的数字图像几何变换方法的流程图。如图2所示,基于cuda的数字图像几何变换方法包括以下步骤:

步骤s10,初始化cuda。

具体的,在电网数据中,对各地图区域的实时指标计算,如负荷监控、重过载监控等热力图播放场景。在计算过程中,由于计算的数据量过大,可以采用gpu并行计算的方式进行计算。本实施例中的gpu并行计算框架采用cuda框架,该框架使得gpu能够解决复杂的计算问题。对cuda初始化,从而便于后续利用cuda框架进行后续计算。gpu并行运算技术在执行过程中线程之间的通行总是难以解决,各个线程之间的通行过程总是会存在很长的延迟,而cuda因为共享寄存器的存在,其在保存共用计数器或者线程块内的公共结果时,省去大量时间进行线程间通行,所以相应的速率会提升很多。

步骤s12,根据纹理内存拾取纹理参数。

具体的,传统的计算机图像并不自然,缺乏各种纹路,例如,磨损、裂痕、指纹和污渍等,而这些纹路会增加三维物体的真实感。在计算机图形学中,纹理指的是一张表示物体表面细节的位图。纹理内存可以指线性内存或者cuda数组。拾取纹理参数也即对存在于线性内存或cuda数组中的纹理参数进行读取。拾取纹理参数也即对存在于线性内存或cuda数组中的纹理参数进行读取。在拾取纹理参数时,拾取的第一个参数就是纹理参考,纹理参考定义要拾取哪部分纹理内存。后续根据纹理参考选择对应的纹理内存拾取其余的纹理参数。

本实施例中的纹理内存包括cuda数组,根据cuda数组拾取纹理参数。若cuda数组中的纹理参数在片上的高速缓存中,则可以潜在的获得较高带宽。并且,cuda数组相对于在线性内存中分配的纹理能够具有更多维度,支持纹理过滤,可以使用归一化或非归一化的整数纹理坐标寻址,寻址模式多样化等好处。

拾取纹理内存与读取全局内存或常量内存相比,能够进行高速缓存从而提高图像转换速度,并且,拾取纹理内存并不受访问模式的约束,从而相对于读取全局内存或常量内存的应用所受限制较少。此外,拾取纹理内存寻址计算的延迟隐藏的更好,从而能够改善应用程序执行随机访问数据的性能。

根据纹理内存拾取纹理参数,从而进行数字图像几何变换可以增加数字图像的真实感,有利于将电网数据转换为更加直观的可视化图像,从而能够更好的对电网数据进行分析。

步骤s12包括步骤s122和步骤s124。

步骤s122,获取纹理拾取函数,并从纹理内存中获取纹理函数初值。

步骤s124,将纹理函数初值代入纹理拾取函数,以计算纹理参数。

具体的,纹理拾取函数可以是根据经验获得的,纹理参数为纹理拾取函数中各未知数的因数,纹理函数初值为纹理函数中的未知数的其中一个或多个值。将从纹理内存中获取的纹理函数初值代理纹理函数,通过计算可以得到纹理参数。

步骤s14,根据纹理参数,得到源图片的纹理坐标。

具体的,纹理坐标位于纹理空间中,当把纹理贴到三维空间中图元的表面时,源图片中各部分的人坐标可以映射为纹理空间中的一个纹理坐标。源图片可以是拍摄装置拍摄的图片,例如,在对电网数据进行分析时,可以先采集各用电区域的三维图片,从而便于对该三维图片中的供电、用电等数据进行分析,用电区域的三维图片可以作为源图片。根据纹理参数,得到该源图片中各部分的坐标对应的纹理坐标。源图片中的各部分可以包括供电变压器、居民楼、道路、树木等。

步骤s16,对纹理坐标进行坐标变换,以得到参考图像坐标。

步骤s18,根据参考图像坐标,得到并显示数字图像。

具体的,对纹理坐标进行变换得到参考图像坐标。可选的,还可以在得到参考图像坐标后进行归一化处理等。对参考图像坐标进行处理可以得到根据电网数据转换得到的数字图像。由于数据量较大,因此可以通过gpu辅助进行参考图像坐标的并行计算最终得到数字图像,从而提高图像转换速度。

步骤s18包括步骤s182和步骤s184。

步骤s182,cpu读取参考图像坐标。

步骤s184,将cpu读取的参考图像坐标复制给gpu,并利用gpu对参考图像坐标进行并行计算,以得到数字图像。

具体的,cpu为结果分配内存,配置阵列和复制图像数据,设置纹理参数,绑定数组纹理,由gpu完成并行化核心程序参考图像坐标。图形处理器(gpu,graphicsprocessingunit),又称显示核心、视觉处理器、显示芯片。gpu是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。对于电网数据中的海量数据,利用高性能存储加载海量数据,利用服务端gpu并行计算,可以在毫秒级实现大规模的全景规模数据可视化展示。因为整个全景数据从加载到出图时间很短,所以可以支持基于时间序列的全景热力图播放,可以做到像动画一样的随着时间变化的热力效果变化。即,gpu的并行计算有利于有效的提高将电网数据转换为可视化数字图像的效率。

步骤s186,将数字图像复制给主机,并由主机显示数字图像。

具体的,gpu运行完毕后,将数字图像复制给主机。数字图像的存储空间由主机进行配置,之后主机显示该存储空间内的数字图像。

本申请还提供一种基于cuda的数字图像几何变换装置。图3为一实施例中的基于cuda的数字图像几何变换装置的结构框图。如图3所示,基于cuda的数字图像几何变换装置包括获取模块310、计算模块320、坐标变换模块330以及处理模块340。

获取模块310用于根据纹理内存拾取纹理参数。

具体的,传统的计算机图像并不自然,缺乏各种纹路,例如,磨损、裂痕、指纹和污渍等,而这些纹路会增加三维物体的真实感。在计算机图形学中,纹理指的是一张表示物体表面细节的位图。纹理内存可以指线性内存或者cuda数组。拾取纹理参数也即对存在于线性内存或cuda数组中的纹理参数进行读取。在拾取纹理参数时,拾取的第一个参数就是纹理参考,纹理参考定义要拾取哪部分纹理内存。后续根据纹理参考选择对应的纹理内存拾取其余的纹理参数。

拾取纹理内存与读取全局内存或常量内存相比,能够进行高速缓存从而提高图像转换速度,并且,拾取纹理内存并不受访问模式的约束,从而相对于读取全局内存或常量内存的应用所受限制较少。此外,拾取纹理内存寻址计算的延迟隐藏的更好,从而能够改善应用程序执行随机访问数据的性能。

根据纹理内存拾取纹理参数,从而进行数字图像几何变换可以增加数字图像的真实感,有利于将电网数据转换为更加直观的可视化图像,从而能够更好的对电网数据进行分析。

计算模块320用于根据纹理参数,得到源图片的纹理坐标。

具体的,纹理坐标位于纹理空间中,当把纹理贴到三维空间中图元的表面时,源图片中各部分的人坐标可以映射为纹理空间中的一个纹理坐标。源图片可以是拍摄装置拍摄的图片,例如,在对电网数据进行分析时,可以先采集各用电区域的三维图片,从而便于对该三维图片中的供电、用电等数据进行分析,用电区域的三维图片可以作为源图片。根据纹理参数,得到该源图片中各部分的坐标对应的纹理坐标。源图片中的各部分可以包括供电变压器、居民楼、道路、树木等。

坐标变换模块330用于对纹理坐标进行坐标变换,以得到参考图像坐标。

处理模块340用于根据参考图像坐标,得到并显示数字图像。

具体的,对纹理坐标进行变换得到参考图像坐标,对参考图像坐标进行处理可以得到根据电网数据转换得到的数字图像。由于数据量较大,因此可以通过gpu辅助进行参考图像坐标的并行计算最终得到数字图像,从而提高图像转换速度。

在一实施例中,处理模块340在执行根据参考图像坐标,得到并显示数字图像时,具体包括:cpu读取参考图像坐标;将cpu读取的参考图像坐标复制给gpu,并利用gpu对参考图像坐标进行并行计算,以得到数字图像;将数字图像复制给主机,并由主机显示数字图像。

具体的,cpu为结果分配内存,配置阵列和复制图像数据,设置纹理参数,绑定数组纹理,由gpu完成并行化核心程序参考图像坐标。图形处理器(gpu,graphicsprocessingunit),又称显示核心、视觉处理器、显示芯片。gpu是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。对于电网数据中的海量数据,利用高性能存储加载海量数据,利用服务端gpu并行计算,可以在毫秒级实现大规模的全景规模数据可视化展示。因为整个全景数据从加载到出图时间很短,所以可以支持基于时间序列的全景热力图播放,可以做到像动画一样的随着时间变化的热力效果变化。即,gpu的并行计算有利于有效的提高将电网数据转换为可视化数字图像的效率。gpu运行完毕后,将数字图像复制给主机。数字图像的存储空间由主机进行配置,之后主机显示该存储空间内的数字图像。

上述基于cuda的数字图像几何变换方法,根据纹理内存拾取纹理参数,并根据纹理参数得到源图片的纹理坐标;对纹理坐标进行坐标变换以得到参考图像坐标;最后,根据参考图像坐标得到数字图像并进行显示。拾取纹理内存与读取全局内存或常量内存相比,能够进行高速缓存从而提高图像转换速度,并且,拾取纹理内存并不受访问模式的约束,从而相对于读取全局内存或常量内存的应用所受限制较少。此外,拾取纹理内存寻址计算的延迟隐藏的更好,从而能够改善应用程序执行随机访问数据的性能。

在一实施例中,基于cuda的数字图像几何变换装置300还包括初始化模块,初始化模块用于初始化cuda。具体的,在电网数据中,对各地图区域的实时指标计算,如负荷监控、重过载监控等热力图播放场景。在计算过程中,由于计算的数据量过大,可以采用gpu并行计算的方式进行计算。本实施例中的gpu并行计算框架采用cuda框架,该框架使得gpu能够解决复杂的计算问题。对cuda初始化,从而便于后续利用cuda框架进行后续计算。gpu并行运算技术在执行过程中线程之间的通行总是难以解决,各个线程之间的通行过程总是会存在很长的延迟,而cuda因为共享寄存器的存在,其在保存共用计数器或者线程块内的公共结果时,省去大量时间进行线程间通行,所以相应的速率会提升很多。

在一实施例中,获取模块310在执行根据纹理内存拾取纹理参数步骤时:获取纹理拾取函数,并从纹理内存中获取纹理函数初值;将纹理函数初值代入纹理拾取函数,并计算得到纹理参数。

具体的,纹理拾取函数可以是根据经验获得的,纹理参数为纹理拾取函数中各未知数的因数,纹理函数初值为纹理函数中的未知数的其中一个或多个值。将从纹理内存中获取的纹理函数初值代理纹理函数,通过计算可以得到纹理参数。

上述方法和系统可以在计算机设备中实现。该计算机设备的内部结构图如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现前述任一实施例中的基于cuda的数字图像几何变换方法的步骤。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本申请还提供一种存储介质,其上存储有计算机程序。该计算机程序被处理器执行时实现如上任意一个实施例中的基于cuda的数字图像几何变换方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1