CN113449721A - 图像预处理方法、装置、计算机设备及存储介质 - Google Patents
图像预处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113449721A CN113449721A CN202110745535.1A CN202110745535A CN113449721A CN 113449721 A CN113449721 A CN 113449721A CN 202110745535 A CN202110745535 A CN 202110745535A CN 113449721 A CN113449721 A CN 113449721A
- Authority
- CN
- China
- Prior art keywords
- image
- format
- processed
- library
- libyuv
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007781 pre-processing Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 44
- 238000006243 chemical reaction Methods 0.000 claims abstract description 43
- 230000009466 transformation Effects 0.000 claims description 40
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 238000007906 compression Methods 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明实施例公开了一种图像预处理方法,通过获取待处理图像,待处理图像的格式为YUV数据;利用libyuv库对待处理图像进行变换处理,得到格式为YUV数据的变换图像;利用android底层的预设计算引擎对变换图像进行格式转换,得到格式为bitmap的目标图像,通过使用性能更优且处理速度更高的libyuv库和计算引擎,大大提高了将YUV数据转换为业务需要的bitmap速度,从而提高图像预处理的响应速度,提高了对图像预处理的效率。此外,还提出了一种图像预处理装置、计算机设备及存储介质。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种图像预处理方法、装置、计算机设备及存储介质。
背景技术
随着科技技术的不断发展,一些电子设备如点读机、家教机等得到了广泛使用。然而对于点读机等电子设备使用过程,会涉及到图像的处理,例如,相机对预览帧图像数据预处理,传统的方法是通过OpenCV算法将YUV数据(一种颜色编码方式,也称YCrCb)转换为业务需要的bitmap(位图文件),即对YUV数据对每个像素的数据进行逐一的处理,处理的数据量很大,需要400ms左右,影响处理速度,导致处理耗时长,降低了图像预处理的速度,影响用户体验。
发明内容
基于此,有必要针对上述问题,提出一种能够加速图像处理的图像预处理方法、装置、计算机设备及存储介质。
一种图像预处理方法,所述方法包括:
获取待处理图像,所述待处理图像的格式为YUV数据;
利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;
利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
一种图像预处理装置,所述装置包括:
获取模块,用于获取待处理图像,所述待处理图像的格式为YUV数据;
变换模块,用于利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;
转换模块,用于利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取待处理图像,所述待处理图像的格式为YUV数据;
利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;
利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
一种计算机可读介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取待处理图像,所述待处理图像的格式为YUV数据;
利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;
利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
上述图像预处理方法、系统、计算机设备及存储介质,获取待处理图像,所述待处理图像的格式为YUV数据;利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。通过使用性能更优且处理速度更高的libyuv库和计算引擎,大大提高了将YUV数据转换为业务需要的bitmap速度,从而提高图像预处理的响应速度,提高了对图像预处理的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中图像预处理方法的流程图;
图2为一个实施例中对待处理图像进行变换处理方法的流程图;
图3为另一个实施例中对待处理图像进行变换处理方法的流程图;
图4为一个实施例中图像预处理装置的结构框图;
图5为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一个实施例中,提供了一种图像预处理方法,该图像预处理方法既可以应用于终端,也可以应用于服务器,本实施例以应用于服务器举例说明。该图像预处理方法具体包括以下步骤:
步骤102,获取待处理图像,待处理图像的格式为YUV数据。
其中,待处理图像是指需要进行格式转换的图像,例如,点读机中用户对待处理的图像的预览。具体地,可以通过相机拍摄采集得到该待处理图像,且该待处理图像的格式为YUV数据,在一个具体实施方式中该YUV数据为yuvi420格式。
步骤104,利用libyuv库对待处理图像进行变换处理,得到格式为YUV数据的变换图像。
其中,libyuv库是Google(谷歌)开源的实现各种YUV与RGB之间相互转换、旋转、缩放的库。它是跨平台的,可在Windows、Linux、Mac、Android等操作系统,x86、x64、arm架构上进行编译运行,支持SSE、AVX、NEON等simd指令加速。具体地,利用libyuv库自带的图像变换算法如旋转算法、压缩算法或者镜像算法等对待处理图像对应的YUV数据进行快速旋转、镜像和裁剪等处理,生成格式为YUV数据的变换图像。可以理解地,由于libyuv库是libyuv源码可以直接对待处理图像进行变换处理,相较于传统的OPENCV的变换处理,无需编译源码或者借助二进制库,提高了对待处理图像的变换处理效率。进一步地,libyuv库还支持simd指令加速,因此,还可以利用ibyuv库中的simd指令对变换处理的过程进行加速,进一步加快了对待处理图像的变换处理速度。
步骤106,利用android底层的预设计算引擎对变换图像进行格式转换,得到格式为bitmap的目标图像。
其中,android底层的计算引擎是用于计算对数据进行并计算处理并将合适的计算结果根据要求给予返回的数据处理框架,例如,RenderScript计算引擎。具体地,利用android底层的预设计算引擎,通过YUV数据与RGB数据的转换格式实现了将YUV格式的变换图像快速转换为格式为bitmap的目标图像,进而在电子设备上进行快速显示,从而提升了用户的体验。可以理解地,由于android底层的计算引擎具有更高的计算性能,因此,利用预设计算引擎对变换图像进行格式转换,大大提高了图像的格式转变速度,从而提高图像预处理的响应速度,提高了对图像预处理的效率。
在一具体实施方式中,将一幅格式为YUV数据的待处理图像转换为得到格式为bitmap的目标图像,耗时30ms。
上述图像预处理方法,通过获取待处理图像,待处理图像的格式为YUV数据;利用libyuv库对待处理图像进行变换处理,得到格式为YUV数据的变换图像;利用android底层的预设计算引擎对变换图像进行格式转换,得到格式为bitmap的目标图像,通过使用性能更优且处理速度更高的libyuv库和计算引擎,大大提高了将YUV数据转换为业务需要的bitmap速度,从而提高图像预处理的响应速度,提高了对图像预处理的效率。
如图2所示,在一个实施例中,利用libyuv库对待处理图像进行变换处理,得到格式为YUV数据的变换图像,包括:
步骤104A,将待处理图像的YUV数据划分为多组数据;
步骤104B,利用libyuv库中的simd指令对各组数据并行变换处理,得到变换图像。
在这个实施例中,将一幅待处理图像的YUV数据划分为多组数据,例如,可以将待处理图像分块,每组数据对应一幅待处理图像的一块区域,然后利用simd指令同时对每组数据分别进行变换处理,进而变换后的每组数据,且该变换后的每组数据按照划分方式组合,得到格式为YUV数据的变换图像。可以理解地,通过利用simd指令实现了对待处理图像的加速处理并且通过并行处理,大大提高了对待处理图像的变换处理速度。
如图3所示,在一个实施例中,利用libyuv库中的simd指令对各组数据并行变换处理,得到变换图像,包括:
步骤104B1,利用libyuv库中的图像旋转算法对各组数据进行并行旋转处理,得到旋转图像;
步骤104B2,利用libyuv库中的图像压缩算法对旋转图像进行压缩处理,得到压缩图像;
步骤104B3,利用libyuv库中的镜像变换算法对压缩图像进行镜像变换,生成格式为YUV数据的变换图像。
在这个实施例中,首先通过libyuv库中的图像旋转算法对各组数据同时按照图像旋转算法的计算公式进行计算,得到旋转处理后的各组数据,基于各组数据组合成旋转图像,然后,利用libyuv库中的图像压缩算法对压缩图像按照图像压缩算法的计算公式进行计算,得到压缩图像,最后,利用libyuv库中的镜像变换算法对压缩图像按照镜像变换算法的计算公式进行计算,得到YUV数据的变换图像。值得说明是,可以直接对一幅旋转图像或压缩图像进行一次压缩处理,也可以将旋转图像或压缩图像进行划分,对划分后的每组数据进行并行计算。此处不做限制。可以理解地,本实施例中,通过利用libyuv库中的simd指令对待处理图像的各组数据进行变换处理,提高了对待处理图像的YUV数据变换速度。
在一个实施例中,利用android底层的预设计算引擎对变换图像进行格式转换,得到格式为bitmap的目标图像,包括:利用RenderScript计算引擎中的计算框架对变换图像的YUV数据并行计算,得到bitmap的目标图像。
其中,RenderScript计算引擎是Android自带一个高效的计算框架,能够自动利用CPU、GPU、DSP来做并行计算,能在处理图片、数学模型计算等场景提供高效的计算能力。语法类似C/C++,但它是在运行时编译,是跨平台的,用于运行计算密集任务的框架。本实施例中通过RenderScript计算引擎中的计算框架对变换图像的YUV数据并行计算,充分利用了RenderScript计算引擎的高性能计算能力,实现了对变换图像进行格式变换的加速处理。
在一个实施例中,利用RenderScript计算引擎中的计算框架对变换图像的YUV数据并行计算,得到bitmap的目标图像,包括:将变换图像的YUV数据划分为多组矩阵;利用RenderScript计算引擎中的计算框架对各组矩阵进行并行计算,得到bitmap的目标图像。
在这个实施例中,将变换图像的YUV数据划分为多组矩阵,即将变换图像对应的YUV数据形成的矩阵划分为多组矩阵,利用RenderScript计算引擎中的计算框架对各组矩阵进行并行计算,得到bitmap的目标图像。利用RenderScript计算引擎的并行计算的的高性能提高了对变换图像的格式变换处理的速度。
在一个实施例中,利用RenderScript计算引擎中的计算框架对各组矩阵进行并行计算,得到bitmap的目标图像,包括:获取每组矩阵中的亮度值、色彩值及饱和度值;利用计算框架,基于浮点矩阵乘法公式并行计算各组矩阵的红色通道值、绿色通道值及蓝色通道值;根据各组矩阵的红色通道值、绿色通道值及蓝色通道值生成目标图像。
其中,浮点矩阵乘法公式如下:
公式中,Y表示亮度值、U表示色彩值、V表示饱和度值、R表示红色通道值、G表示绿色通道值、B表示蓝色通道值。具体地,根据每组矩阵获取对应的的亮度值、色彩值及饱和度值;利用计算框架,采用上述浮点矩阵乘法公式并行计算各组矩阵的红色通道值、绿色通道值及蓝色通道值;根据计算的带各组矩阵的红色通道值、绿色通道值及蓝色通道值生成目标图像,从而得到RGB图像,也即格式为bitmap的目标图像。可以理解地,本实施例中,利用浮点矩阵乘法公式实现了对变换图像的各组矩阵的并行转换,将YUV格式的变换图像快速转换为RGB数据图像,提高了对图像预处理的响应速度,从而解决了用户浏览图像存在的耗时长的问题,提高了用户的体验度。
在一个实施例中,在利用android底层的预设计算引擎对变换图像进行格式转换,得到格式为bitmap的目标图像之后,还包括:对目标图像进行视频图像压缩编码,得到压缩码流,用于网络传输。
在这个实施例中,为了方便进行存储或通过网络传输目标图像,可以对目标图像进行视频图像压缩编码,得到压缩码流,以提高对目标图像的处理速度,进一步提升用户体验,
如图4所示,在一个实施例中,提出了一种图像预处理装置,所述装置包括:
获取模块402,用于获取待处理图像,所述待处理图像的格式为YUV数据;
变换模块404,用于利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;
转换模块406,用于利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
在一个实施例中,变换模块包括:
分块单元,用于将所述待处理图像的YUV数据划分为多组数据;
变换单元,用于利用所述libyuv库中的simd指令对各组数据并行变换处理,得到所述变换图像。
在一个实施例中,变换单元包括:
旋转子单元,用于利用所述libyuv库中的图像旋转算法对所述各组数据进行并行旋转处理,得到旋转图像;
压缩子单元,用于利用所述libyuv库中的图像压缩算法对所述旋转图像进行压缩处理,得到压缩图像;
镜像子单元,用于利用所述libyuv库中的镜像变换算法对所述压缩图像进行镜像变换,生成格式为YUV数据的所述变换图像。
在一个实施例中,转换模块包括:转换子模块,用于利用RenderScript计算引擎中的计算框架对所述变换图像的YUV数据并行计算,得到所述bitmap的目标图像。
在一个实施例中,转换子模块包括:
划分单元,用于将所述变换图像的YUV数据划分为多组矩阵;
计算单元,用于利用所述RenderScript计算引擎中的计算框架对各组所述矩阵进行并行计算,得到所述bitmap的目标图像。
在一个实施例中,计算单元包括:
获取子单元,用于获取每组矩阵中的亮度值、色彩值及饱和度值;
计算子单元,用于利用所述计算框架,基于浮点矩阵乘法公式并行计算各组矩阵的红色通道值、绿色通道值及蓝色通道值;
声场子单元,用于根据各组矩阵的红色通道值、绿色通道值及蓝色通道值生成所述目标图像。
在一个实施例中,图像预处理装置还包括:压缩编码模块,用于对所述目标图像进行视频图像压缩编码,得到压缩码流,用于网络传输。
图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是服务器,所述服务器包括但不限于高性能计算机和高性能计算机集群。如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现图像预处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行图像预处理方法。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的图像预处理方法可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成图像预处理装置的各个程序模板。比如,获取模块402,变换模块404,转换模块406。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:获取待处理图像,所述待处理图像的格式为YUV数据;利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
在一个实施例中,所述利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像,包括:将所述待处理图像的YUV数据划分为多组数据;利用所述libyuv库中的simd指令对各组数据并行变换处理,得到所述变换图像。
在一个实施例中,所述利用所述libyuv库中的simd指令对各组数据并行变换处理,得到所述变换图像,包括:利用所述libyuv库中的图像旋转算法对所述各组数据进行并行旋转处理,得到旋转图像;利用所述libyuv库中的图像压缩算法对所述旋转图像进行压缩处理,得到压缩图像;利用所述libyuv库中的镜像变换算法对所述压缩图像进行镜像变换,生成格式为YUV数据的所述变换图像。
在一个实施例中,所述利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像,包括:利用RenderScript计算引擎中的计算框架对所述变换图像的YUV数据并行计算,得到所述bitmap的目标图像。
在一个实施例中,所述利用所述RenderScript计算引擎中的计算框架对所述变换图像的YUV数据并行计算,得到所述bitmap的目标图像,包括:将所述变换图像的YUV数据划分为多组矩阵;利用所述RenderScript计算引擎中的计算框架对各组所述矩阵进行并行计算,得到所述bitmap的目标图像。
在一个实施例中,所述利用所述RenderScript计算引擎中的计算框架对各组所述矩阵进行并行计算,得到所述bitmap的目标图像,包括:获取每组矩阵中的亮度值、色彩值及饱和度值;利用所述计算框架,基于浮点矩阵乘法公式并行计算各组矩阵的红色通道值、绿色通道值及蓝色通道值;根据各组矩阵的红色通道值、绿色通道值及蓝色通道值生成所述目标图像。
在一个实施例中,在所述利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像之后,还包括:对所述目标图像进行视频图像压缩编码,得到压缩码流,用于网络传输。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下步骤:获取待处理图像,所述待处理图像的格式为YUV数据;利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
在一个实施例中,所述利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像,包括:将所述待处理图像的YUV数据划分为多组数据;利用所述libyuv库中的simd指令对各组数据并行变换处理,得到所述变换图像。
在一个实施例中,所述利用所述libyuv库中的simd指令对各组数据并行变换处理,得到所述变换图像,包括:利用所述libyuv库中的图像旋转算法对所述各组数据进行并行旋转处理,得到旋转图像;利用所述libyuv库中的图像压缩算法对所述旋转图像进行压缩处理,得到压缩图像;利用所述libyuv库中的镜像变换算法对所述压缩图像进行镜像变换,生成格式为YUV数据的所述变换图像。
在一个实施例中,所述利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像,包括:利用RenderScript计算引擎中的计算框架对所述变换图像的YUV数据并行计算,得到所述bitmap的目标图像。
在一个实施例中,所述利用所述RenderScript计算引擎中的计算框架对所述变换图像的YUV数据并行计算,得到所述bitmap的目标图像,包括:将所述变换图像的YUV数据划分为多组矩阵;利用所述RenderScript计算引擎中的计算框架对各组所述矩阵进行并行计算,得到所述bitmap的目标图像。
在一个实施例中,所述利用所述RenderScript计算引擎中的计算框架对各组所述矩阵进行并行计算,得到所述bitmap的目标图像,包括:获取每组矩阵中的亮度值、色彩值及饱和度值;利用所述计算框架,基于浮点矩阵乘法公式并行计算各组矩阵的红色通道值、绿色通道值及蓝色通道值;根据各组矩阵的红色通道值、绿色通道值及蓝色通道值生成所述目标图像。
在一个实施例中,在所述利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像之后,还包括:对所述目标图像进行视频图像压缩编码,得到压缩码流,用于网络传输。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种图像预处理方法,其特征在于,所述方法包括:
获取待处理图像,所述待处理图像的格式为YUV数据;
利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;
利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
2.根据权利要求1所述的图像预处理方法,其特征在于,所述利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像,包括:
将所述待处理图像的YUV数据划分为多组数据;
利用所述libyuv库中的simd指令对各组数据并行变换处理,得到所述变换图像。
3.根据权利要求1所述的图像预处理方法,其特征在于,所述利用所述libyuv库中的simd指令对各组数据并行变换处理,得到所述变换图像,包括:
利用所述libyuv库中的图像旋转算法对所述各组数据进行并行旋转处理,得到旋转图像;
利用所述libyuv库中的图像压缩算法对所述旋转图像进行压缩处理,得到压缩图像;
利用所述libyuv库中的镜像变换算法对所述压缩图像进行镜像变换,生成格式为YUV数据的所述变换图像。
4.根据权利要求1所述的图像预处理方法,其特征在于,所述利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像,包括:
利用RenderScript计算引擎中的计算框架对所述变换图像的YUV数据并行计算,得到所述bitmap的目标图像。
5.根据权利要求4所述的图像预处理方法,其特征在于,所述利用所述RenderScript计算引擎中的计算框架对所述变换图像的YUV数据并行计算,得到所述bitmap的目标图像,包括:
将所述变换图像的YUV数据划分为多组矩阵;
利用所述RenderScript计算引擎中的计算框架对各组所述矩阵进行并行计算,得到所述bitmap的目标图像。
6.根据权利要求5所述的图像预处理方法,其特征在于,所述利用所述RenderScript计算引擎中的计算框架对各组所述矩阵进行并行计算,得到所述bitmap的目标图像,包括:
获取每组矩阵中的亮度值、色彩值及饱和度值;
利用所述计算框架,基于浮点矩阵乘法公式并行计算各组矩阵的红色通道值、绿色通道值及蓝色通道值;
根据各组矩阵的红色通道值、绿色通道值及蓝色通道值生成所述目标图像。
7.根据权利要求1所述的图像预处理方法,其特征在于,在所述利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像之后,还包括:
对所述目标图像进行视频图像压缩编码,得到压缩码流,用于网络传输。
8.一种图像预处理装置,其特征在于,所述图像预处理装置包括:
获取模块,用于获取待处理图像,所述待处理图像的格式为YUV数据;
变换模块,用于利用libyuv库对所述待处理图像进行变换处理,得到格式为YUV数据的变换图像;
转换模块,用于利用android底层的预设计算引擎对所述变换图像进行格式转换,得到格式为bitmap的目标图像。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述图像预处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述图像预处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745535.1A CN113449721A (zh) | 2021-06-30 | 2021-06-30 | 图像预处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745535.1A CN113449721A (zh) | 2021-06-30 | 2021-06-30 | 图像预处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113449721A true CN113449721A (zh) | 2021-09-28 |
Family
ID=77814845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110745535.1A Pending CN113449721A (zh) | 2021-06-30 | 2021-06-30 | 图像预处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449721A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115661325A (zh) * | 2022-12-21 | 2023-01-31 | 麒麟软件有限公司 | 一种基于neon指令的纹理格式转换优化方法及系统 |
-
2021
- 2021-06-30 CN CN202110745535.1A patent/CN113449721A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115661325A (zh) * | 2022-12-21 | 2023-01-31 | 麒麟软件有限公司 | 一种基于neon指令的纹理格式转换优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403069B2 (en) | Accelerated mathematical engine | |
CN107967669B (zh) | 图片处理的方法、装置、计算机设备及存储介质 | |
EP3525138A1 (en) | Operation apparatus, operation execution device, operation excecution method and non-transitory computer-readable storage medium | |
WO2020177701A1 (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN111951167B (zh) | 超分辨率图像重建方法、装置、计算机设备和存储介质 | |
CN109493297B (zh) | 低质量人脸图像增强方法、系统、设备及存储介质 | |
US11570477B2 (en) | Data preprocessing and data augmentation in frequency domain | |
CN113034358A (zh) | 一种超分辨率图像处理方法以及相关装置 | |
CN111382867A (zh) | 神经网络压缩的方法、数据处理的方法及相关装置 | |
CN110648284B (zh) | 一种光照不均匀的图像处理方法及装置 | |
CN113421189A (zh) | 图像超分辨率处理方法和装置、电子设备 | |
JP2020123953A (ja) | イメージファイルのブロック間の差を利用した圧縮率向上方法およびシステム | |
CN111681165A (zh) | 图像处理方法、装置、计算机设备和计算机可读存储介质 | |
CN107808394B (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN113449721A (zh) | 图像预处理方法、装置、计算机设备及存储介质 | |
CN113781318A (zh) | 一种图像颜色映射方法、装置、终端设备及存储介质 | |
CN109447239B (zh) | 一种基于arm的嵌入式卷积神经网络加速方法 | |
Li et al. | Gamma-enhanced spatial attention network for efficient high dynamic range imaging | |
CN107920252B (zh) | 一种全景视频数据处理方法、装置及系统 | |
WO2023272652A1 (zh) | 图像预处理方法、装置、计算机设备及存储介质 | |
CN114494006A (zh) | 图像重建模型的训练方法、装置、电子设备及存储介质 | |
CN110930290B (zh) | 一种数据处理方法及装置 | |
CN115115538A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN110572652B (zh) | 一种静态图像的处理方法及装置 | |
CN110428453B (zh) | 数据处理方法、装置、数据处理设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |