CN107945098A - 图像处理方法、装置、计算机设备和存储介质 - Google Patents

图像处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN107945098A
CN107945098A CN201711191814.8A CN201711191814A CN107945098A CN 107945098 A CN107945098 A CN 107945098A CN 201711191814 A CN201711191814 A CN 201711191814A CN 107945098 A CN107945098 A CN 107945098A
Authority
CN
China
Prior art keywords
image
block
gpu
cpu
monokaryon
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.)
Granted
Application number
CN201711191814.8A
Other languages
English (en)
Other versions
CN107945098B (zh
Inventor
戴宇榮
高立钊
付强
陈芳民
姚达
田恒锋
谢渝彬
周刘纪
王涛
黄俊洪
吴永坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711191814.8A priority Critical patent/CN107945098B/zh
Publication of CN107945098A publication Critical patent/CN107945098A/zh
Application granted granted Critical
Publication of CN107945098B publication Critical patent/CN107945098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种图像处理方法,该方法包括:获取输入图像;根据内存大小对输入图像进行分割,得到多个子图像块;获取图像处理器GPU与中央处理器CPU的运算能力;根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;通过GPU对所述第一图像子块进行处理,得到第一特征图,以及通过CPU对所述第二图像子块进行处理,得到第二特征图;对第一特征图和第二特征图进行拼接,得到最终图像。此外,还提供了一种图像处理装置、一种计算机设备和存储介质。

Description

图像处理方法、装置、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种图像处理方法、装置、计算机设备和存储介质。
背景技术
传统技术中,移动端中的应用程序如果要对图片进行渲染、风格转换、分辨率优化等操作,需要通过应用程序将图片上传,然后由相应的图像处理器对上传的图片进行处理,然后将处理结果返回给应用程序供用户查看。如果对于一张超高分辨率的图片,通过分布式图像处理器同构并行计算,不仅无法快速完成图像处理,而且处理效率低。
发明内容
基于此,有必要针对上述问题,提供一种提高图像处理效率的图像处理方法、装置、计算机设备和存储介质。
一种图像处理方法,该方法包括:。
获取输入图像;
根据内存大小对输入图像进行分割,得到多个子图像块;
获取图像处理器GPU与中央处理器CPU的运算能力;
根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;
通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图;
对第一特征图和第二特征图进行拼接,得到最终图像。
一种图像处理装置,该装置包括:
第一获取模块,用于获取输入图像;
第一分割模块,用于根据内存大小对输入图像进行分割,得到多个子图像块;
第二获取模块,用于获取图像处理器GPU与中央处理器CPU的运算能力;
第二分割模块,用于根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;
处理模块,用于通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图;
拼接模块,用于对第一特征图和第二特征图进行拼接,得到最终图像。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行所述程序时实现以下步骤:
获取输入图像;
根据内存大小对输入图像进行分割,得到多个子图像块;
获取图像处理器GPU与中央处理器CPU的运算能力;
根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;
通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图;
对第一特征图和第二特征图进行拼接,得到最终图像。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取输入图像;
根据内存大小对输入图像进行分割,得到多个子图像块;
获取图像处理器GPU与中央处理器CPU的运算能力;
根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;
通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图;
对第一特征图和第二特征图进行拼接,得到最终图像。
上述图像处理方法、装置、计算机设备和存储介质,通过对输入的图像进行分割得到若干个子图像块,根据图像处理器GPU和中央处理器CPU的运算能力对每个子图像块进行异构分割得到应分配给GPU处理的第一图像子块以及应分配给CPU处理的第二图像子块,通过GPU以及CPU对相应的第一图像子块以及第二图像子块进行处理得到相对应的第一特征图以及第二特征图,对第一特征图以及第二特征图进行拼接得到最终的图像。由此,终端不需要将图像上传到服务器端或者云端进行处理,可就在本地对输入的图像进行处理。对于采集到的图像可通过GPU和CPU的异构并行计算加速完成图像处理得到最终的图像,不仅提高了图像处理的速度,而且减少计算量。
附图说明
图1为一个实施例中图像处理方法的流程图;
图2为另一个实施例中图像处理方法的流程图;
图3为一个实施例中根据内存大小对输入图像进行分割的流程图;
图4为一个实施例中对每个子图像块进行异构结构分割的流程图;
图5为又一个实施例中图像处理方法的流程图;
图6为一个实施例中图像处理方法的原理图;
图7为一个实施例中图像处理装置的结构框图;
图8为一个实施例中第一分割模块的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的一种图像处理方法,可应用于视频直播、游戏、视频聊天、网络相册等应用场景中。以视频直播为例,终端通过运行终端上的直播相关的应用建立视频直播时,可通过直播应用提供的拍摄模式进行图像的采集,获取采集得到的每一图像帧,将采集的图像帧作为原始图像采用本发明实施例所提供的图像处理方法进行图像处理,得到最终的完整图像后,再将图像进行传输。由于终端本地对采集的图像按照内存大小进行了分割,且进一步根据终端的GPU和CPU的运算能力进行了异构结构分割,使得终端本地可以异构并行加速处理采集的图像。且每处理一帧图像,可以将该帧图像实时传输,本地加速处理确保了传输的实时性。终端采用GPU和CPU对图像进行并行处理,实际是对每一分割得到的图像块进行卷积运算,实现图像压缩,以节省传输带宽。而接收端接收处理后的图像,可再对图像进行超分辨处理,恢复图像的原始分辨率,使得图像可以清晰呈现,确保接收端能够显示更加清晰的视频直播画面。
以网络相册为例,终端需要将图片上传到网络相册时,可对拍摄得到的图像或者本地存储的图像采用本发明实施例提供的图像处理方法进行处理,得到最终的完整图像后,再将图像进行上传。由于终端本地对采集的图像按照内存大小进行了分割,且进一步根据终端的GPU和CPU的运算能力进行了异构结构分割,使得终端本地可以异构并行加速处理需要上传的图像,确保了图像传输的实时性,而由于图像处理过程中会对分割得到的图像块进行卷积运算,缩小了图像的大小,在传输处理得到的完整图像时能够更加节省带宽。相应的,当需要从网络相册上下载图片时,为了能够获得更好的图像清晰度,需要对之前采用本申请提供的图像处理方法处理后的图像再进行超分辨处理,以得到清晰度高的图像,以便用户浏览和编辑。
如图1所示,在一个实施例中,提供了一种图像处理方法,该方法以应用于终端中进行举例说明,包括:
步骤102,获取输入图像。
这里的输入图像,包括但不限于图片、照片、影片等。可以是通过终端的相机拍摄的照片、通过终端截屏获取的图片或者是通过可上传图像的应用程序上传的图像等等。这里的终端包括但不限于是各种具有图像处理功能的个人计算机、笔记本电脑、个人数字助理、智能手机、平板电脑、便携式可穿戴式设备等。
步骤104,根据内存大小对输入图像进行分割,得到多个子图像块。
由于很多终端中的图像处理器GPU和中央处理器CPU共享内存,且内存较小,因此对于一张输入图像,可支配的内存无法全部读取,需要根据内存大小进行分割后,分别进行读取。具体的,终端在获取到输入图像后,会根据终端的内存大小对输入的图像按照一定的比例进行分割,得到多个子图像块。
步骤106,获取图像处理器GPU与中央处理器CPU的运算能力。
图像处理GPU的运算能力可以是GPU的运算速度,中央处理器CPU的运算能力可以是CPU的运算速度。可预先通过对样本图像进行超分辨计算得到GPU和CPU的运算速度,其中GPU的运算速度是GPU在单位时间内对样本图像进行超分辨计算的次数,CPU的运算速度是CPU在单位时间内对样本图像进行超分辨计算的次数。所谓超分辨率计算是指通过硬件或软件的方法提高原有图像的分辨率,通过对低分辨率的图像进行一系列处理得到一幅高分辨率的图像。
步骤108,根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块。
如上所示,GPU的运算能力和CPU的运算能力可以分别是GPU的运算速度以及CPU的运算速度,对于按内存大小分割得到的每个子图像块,可进一步根据GPU的运算能力和CPU的运算能力进行异构结构分割。所谓异构是指有多个异构计算系统(如GPU/CPU)并发执行,异构结构分割是指按照终端内部的异构结构来进行分割。具体是指根据GPU的运算能力和CPU的运算能力来进行分割,得到每个子图像块中应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块,可按照运算能力强的能够进行更多的处理的原则进行分割,例如GPU的运算能力强,则子图像块中第一图像子块占比更大,反之,若CPU的运算能力更强,则子图像块中第二图像子块占比更大。
步骤110,通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图。
在对每个子图像块分割得到第一图像子块和第二图像子块后,可通过GPU将第一图像子块与滤波器进行卷积运算得到第一特征图。同样的,可通过CPU将第二图像子块与滤波器进行卷积运算得到第二特征图。这里的特征图是指图像和滤波器进行卷积后得到的特征图,特征图可以和滤波器进行卷积生成新的特征图,所谓的卷积运算是卷积神经网络中对输入的图像做卷积运算提取特征的方式。
步骤112,对第一特征图和第二特征图进行拼接,得到最终图像。
由于是将输入图像进行分割后,将第一图像子块和第二图像子块分别通过GPU和CPU进行并行处理,因此需要对第一特征图与第二特征图进行拼接,得到完整的图像。具体可根据第一特征图与第二特征图对应在原图像中的位置关系进行拼接。
本实施例中,终端通过对输入的图像进行分割得到若干个子图像块,根据终端内的图像处理器GPU和中央处理器CPU的运算能力对每个子图像块进行异构分割得到应分配给GPU处理的第一图像子块以及应分配给CPU处理的第二图像子块,通过GPU以及CPU对相应的第一图像子块以及第二图像子块进行处理得到相对应的第一特征图以及第二特征图,对第一特征图以及第二特征图进行拼接得到最终的图像。终端不需要将图像上传到服务器端或云端进行处理,可在终端的本地对输入的图像进行处理,不仅提高了图像处理的速度,而且减少计算量。
在一个实施例中,在获取图像处理器GPU与中央处理器CPU的运算能力之前,还包括:对终端的硬件配置情况进行检测;当检测到终端支持GPU时,则进入所述获取图像处理器GPU与中央处理器CPU的运算能力的步骤。
在一个实施例中,在对终端的硬件配置情况进行检测之后,还包括:当检测到终端不支持GPU时,则通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图;对多个所述子特征图进行拼接,得到最终的图像。
图2示出一个实施例中图像处理方法的流程图,该方法以应用于终端中进行举例说明,包括:
步骤202,获取输入图像。
输入图像可以是通过终端的相机拍摄的照片、通过终端截屏获取的图片或者通过可上传图像的应用程序上传的图像等等。
步骤204,根据内存大小对输入图像进行分割,得到多个子图像块。
由于很多终端的GPU和CPU共享内存,且内存较小,因此输入一张较大的图像,可支配内存无法全部读取,需要根据内存大小进行分割后,分别进行读取。具体的,终端在获取到输入图像后,会根据终端的内存大小对输入的图像按照一定的比例进行分割,得到多个子图像块。
步骤206,对终端的硬件配置情况进行检测。
终端的硬件配置情况会决定终端的处理能力,不同终端的硬件配置情况都会有所不同。例如,有的终端同时配置有GPU和CPU,则可通过GPU和CPU共同对输入的图像进行处理。而有些终端的硬件配置只有CPU,只能通过CPU对输入的图像进行处理。具体的,通过对终端的硬件配置情况进行检测,检测终端的硬件配置是否支持GPU,若终端支持GPU,则进入步骤208;若终端不支持GPU,则进入步骤216。
步骤208,获取图像处理器GPU与中央处理器CPU的运算能力。
图像处理GPU的运算能力可以是GPU的运算速度,中央处理器CPU的运算能力可以是CPU的运算速度。可预先通过对样本图像进行超分辨计算得到GPU和CPU的运算速度,其中GPU的运算速度是GPU在单位时间内对样本图像进行超分辨计算的次数,CPU的运算速度是CPU在单位时间内对样本图像进行超分辨计算的次数。其中,超分辨率计算是指通过硬件或软件的方法提高原有图像的分辨率。具体的,若通过对终端的硬件配置进行检测得到终端支持GPU,则获取GPU的运算能力以及CPU的运算能力,即获取GPU的运算速度以及CPU的运算速度。
步骤210,根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块。
对于配置既有GPU又有CPU的终端,可以通过GPU和CPU进行并行处理,以提高图像的处理速度。因此,对于每个子图像块还可根据终端中配置的GPU的运算能力和CPU的运算能力再进行分割。如上所示,GPU的运算能力和CPU的运算能力可以是GPU的运算速度和CPU的运算速度。具体可依据运算能力强的能够进行更多的处理的原则进行分割,例如,GPU的运算能力强,则子图像块中第一图像子块占比更大,反之,若CPU的运算能力更强,则子图像块中第二图像子块占比更大。具体地,可根据单核GPU的运算速度和单核CPU的运算速度的占比来进行分割。
步骤212,通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图。
在对每个子图像块进行分割得到第一图像子块和第二图像子块后,可通过GPU将第一图像子块与滤波器进行卷积运算得到第一特征图。同样的,可通过CPU将第二图像子块与滤波器进行卷积运算得到第一特征图。这里的特征图是指图像和滤波器进行卷积后得到的特征图,特征图可以和滤波器进行卷积生成新的特征图,所谓的卷积运算是卷积神经网络中对输入的图像做卷积运算提取特征的方式。
步骤214,对第一特征图和第二特征图进行拼接,得到最终图像。
支持GPU的终端是将输入图像进行分割后,将第一图像子块和第二图像子块分别通过GPU和CPU进行并行处理,因此需要对第一特征图与第二特征图进行拼接,得到完整的图像。具体的,根据第一特征图和第二特征图对应在原图像中的位置关系进行拼接,得到完整的图像。
步骤216,通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图。
若通过对终端的硬件配置进行检测得到终端不支持GPU,也即终端未配置有GPU,则只能通过CPU对图像进行处理。在按内存大小进行分割得到的每个子图像块后,根据终端内的CPU的个数将每个子图像块平均分配进行同构并行处理,通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图。所谓同构是指有多个同构计算系统(如CPU)并发执行,同构并行处理是指按照终端内部的同构结构来进行处理。具体的,单核CPU将每个子图像块与滤波器进行卷积运算提取每个子图像块的特征得到对应的子特征图。
步骤218,对多个子特征图进行拼接,得到最终的图像。
不支持GPU的终端是将输入图像进行分割后,将分割后得到的每个子图像块通过单核CPU进行同构并行处理,因此需要对多个子特征图按照子特征图对应在原图像中的位置关系进行拼接,得到完整的图像。
上述实施例中,不管是只配置了CPU的终端还是既配置了GPU又配置了CPU的终端,最终都能够完整的图像,终端不仅可将完整的图像存储在终端的本地供终端显示,而且也可以将最终完整的图像传输到其他终端,使得其他终端能够下载最终的图像,对最终的图像进行放大查看或者还原高清处理。
本实施例中,对于支持GPU的终端,终端可对输入的图像进行分割得到若干个子图像块,通过GPU和CPU对每个子图像块进行异构分割得到应分配给GPU处理的第一图像子块以及应分配给CPU处理的第二图像子块,通过GPU以及CPU对第一图像子块以及第二图像子块进行处理得到第一特征图以及第二特征图,对第一特征图以及第二特征图进行拼接得到完整的图像。对于不支持GPU的终端,可对输入的图像进行分割得到若干个子图像块,根据CPU的个数将若干个子图像块进行平均分配,通过单核CPU将分配到的子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图,对所有子特征图进行拼接得到完整的图像。不仅可通过终端的GPU和CPU对图像进行异构并行处理,对卷积神经网络进行分割加速得到处理后的图像,而且对于不支持GPU的设备,也可以在纯CPU的架构下通过多个单核CPU对图像进行同构并行处理,在本地也可进行分割加速处理图像,设计灵活。
在一个实施例中,如图3所示,根据内存大小对输入图像进行分割,得到多个子图像块,包括:
步骤304,对输入图像按照内存大小进行分割并对分割得到的每个图像向四周额外读取预设数量的像素,得到分割后的每个图像块。
如上所示,由于很多终端中的图像处理器GPU和中央处理器CPU共享内存,且内存较小,因此对于一张输入图像,可支配的内存无法全部读取,需要根据内存大小进行分割后,分别进行读取分割后得到的每个图像块。具体的,终端在获取到输入图像后,会根据终端的内存大小对输入的图像按照一定的比例进行分割,得到多个图像块。进一步,为了后续的拼接能够完整,对根据终端的内存大小对输入的图像按照一定的比例进行分割得到的每个图像向四周额外读取预设数量的像素,得到每个图像对应的图像块,其中,四周指的是分割得到的每个图像的上下左右。例如,可以对分割得到的图像向四周额外读取2个像素。
步骤306,将每个图像块与滤波器进行卷积运算得到多个子图像块。
在对每个图像向四周额外读取预设数量的像素得到每个图像对应的每个图像块,将每个图像块与滤波器进行卷积运算得到多个子图像块。具体的,将每个图像块与滤波器进行卷积运算提取每个图像块的特征得到对应的子图像块。
本实施例中,通过对输入图像按照内存大小进行分割并对分割得到的每个图像向四周额外读取预设数量的像素,给GPU和CPU在拼接图像时,预留足够的大小使得图像能够无缝拼接,这样,在最后拼接成完整图像时能够确保拼接的完整性。
在一个实施例中,如图4所示,根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块,包括:
步骤402,对于每个子图像块,获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占该比例的面积分割为第一图像子块。
对于配置有GPU和CPU的终端,由于GPU和CPU的运算能力可能会有差别,需要根据GPU和CPU的运算能力再对每个子图像块进行分割。这里的运算能力可以是运算速度。具体的,对于每个子图像块,可获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占该比例的面积分割为第一图像子块,也即子图像块中该比例与子图像块的面积的乘积所确定的图像面积范围为第一图像子块。其中,单核GPU的运算速度可以是终端中的GPU的运算总速度与单核GPU个数的比值,单核CPU的运算速度可以是终端中的CPU的运算总速度与单核CPU个数的比值。
步骤404,将子图像块中剩余的面积确定为第二图像子块。
在获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占该比例的面积分割为第一图像子块后,将子图像块中剩余的面积分割为第二图像子块。这里的子图像块中剩余的面积即单核CPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例。因此,根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,也可先确定第二图像子块,将子图像块中其他剩余的面积确定为第一图像子块。具体的,可先获取单核CPU的运算速度,该单核CPU的运算速度为终端中的CPU的运算总速度与单核CPU个数的比值,然后获取单核CPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,该比例与子图像块的面积所确定的范围分割为第二图像子块,剩余的部分则为第一图像子块。
进一步的,在一个实施例中,在将子图像块分割为第一图像子块和第二图像子块时,可以按照上下划分或者左右划分的形式进行分割。例如,获取到单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,则将子图像块中占该比例的面积位于子图像块的上部分的范围确定为第一图像子块。
在一个实施例中,通过GPU对第一图像子块进行处理,得到第一特征图,包括:根据单核GPU的个数对第一图像子块进行平均分割,通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第一子特征图,将第一子特征图进行拼接得到第一特征图。
从子图像块中确定了应该分配给GPU处理的第一图像子块后,则需要通过GPU对第一图像子块进行处理。由于终端中的单核GPU的个数可能有多个,为了实现同构并行计算,提高图像的处理速度,可根据单核GPU的个数对第一图像子块进行平均分割,实现终端中的多个单核GPU并行处理平均分割得到的每个子块。具体可通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算,得到每个子块对应的第一子特征图,对得到的第一子特征图进行拼接即可得到第一特征图。
在一个实施例中,通过CPU对所述第二图像子块进行处理,得到第二特征图,包括:根据单核GPU的个数对第二图像子块进行平均分割,通过每个单核CPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第二子特征图,将第二子特征图进行拼接得到第二特征图。
从子图像块中确定了应该分配给CPU处理的第二图像子块后,则需要通过CPU对第一图像子块进行处理。由于终端中的单核CPU的个数可能有多个,为了实现同构并行计算,提高图像的处理速度,可根据单核CPU的个数对第二图像子块进行平均分割,实现终端中的多个单核CPU并行处理平均分割得到的每个子块。具体可通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算,得到每个子块对应的第二子特征图,对得到的第二子特征图进行拼接即可得到第二特征图。
在一个实施例中,在对第一图像子块或第二图像子块进行平均分割时,对分割得到的每个子块额外向四周读取预设数量的像素后再与滤波器进行卷积运算。
本实施例中,为了实现在拼接完整图像时能够确保图像的完整性,在对第一图像子块或第二图像子块进行平均分割时,可以对分割得到的每个子块额外向四周读取预设数量的像素后,再与滤波器进行卷积运算。例如,额外读取2个像素。
图5示出一个实施例中图像处理方法的流程图,该方法以应用于终端中进行举例说明,包括:
步骤502,获取输入图像。
输入图像包括但不限于图片、照片、影片等。可以是通过终端的相机拍摄的照片、通过终端截屏获取的图片或者是通过可上传图像的应用程序上传的图像等等。
步骤504,对输入图像按照内存大小进行分割并对分割得到的每个图像向四周额外读取预设数量像素,得到分割后的每个图像块。
由于很多终端中的图像处理器GPU和中央处理器CPU共享内存,且内存较小,因此对于一张输入图像,可支配的内存无法全部读取,需要根据内存大小进行分割后,分别进行读取分割后得到的图像块。具体的,终端在获取到输入图像后,会根据终端的内存大小对输入的图像按照一定的比例进行分割,得到多个图像块。进一步,为了后续的拼接能够完整,对根据终端的内存大小对输入的图像按照一定的比例进行分割得到的每个图像向四周额外读取预设数量的像素,得到每个图像对应的图像块。例如,对于既有GPU又有CPU的终端,在获取到输入图像后,会根据终端内的GPU以及CPU个数的总和的倍数对输入的图像按照一定的比例进行分割,确保每个单核GPU或者每个单核CPU都能够处理至少一个分割后得到的图像块;对于只有CPU的终端,同样的,在获取到输入图像后,会根据终端内的CPU个数的总和的倍数对输入的图像按照一定的比例进行分割,确保每个单核CPU都能够处理至少一个分割后得到的图像块。
如图6所示,终端在获取到一张1080*1080*3的输入图像A后,会根据终端的内存大小对输入图像A按照一定的比例进行分割,例如按照2*2的比例对输入图像A进行分割,得到分割后的四块540*540*3的图像块,如图6中的图像块a、图像块b、图像块c以及图像块d。再对四块图像块的四周额外读取预设数量的像素,例如,预设的数量的像素可为2个像素。图6中的图像块a、图像块b、图像块c以及图像块d的大小实际上为542*542*3。
步骤506,将每个图像块与滤波器进行卷积运算得到多个子图像块。
在对输入图像按内存大小进行分割得到多个图像块后,将每个图像块与滤波器进行卷积运算得到多个子图像块。具体的,将每个图像块与滤波器进行卷积运算提取每个图像块的特征得到对应的子图像块。如图6所示,对输入图像A进行分割后得到图像块a、图像块b、图像块c以及图像块d。对于图像块a,将图像块a与滤波器进行卷积运算得到图像块a对应的子图像块B。
步骤508,对终端的硬件配置情况进行检测。
由于有些终端的硬件配置包括GPU和CPU,通过GPU和CPU共同对输入的图像进行处理,但有些终端的硬件配置只有CPU,只能通过CPU对输入图像进行处理。具体的,通过对终端的硬件配置情况进行检测,检测终端的硬件配置是否支持GPU,若终端支持GPU,则进入步骤510;若终端不支持CPU,则进入步骤522。
步骤510,获取图像处理器GPU与中央处理器CPU的运算能力。
如上所示,图像处理器GPU的运算能力可以是GPU的运算速度,中央处理器CPU的运算能力可以是CPU的运算速度。GPU和CPU的运算速度可以是GPU和CPU在单位时间内对样本图像进行超分辨率计算的次数。具体的,若通过对终端的硬件配置进行检测得到终端支持GPU,则获取GPU的运算速度以及CPU的运算速度。
步骤512,对于每个子图像块,获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占该比例的面积分割为第一图像子块。
对于每个子图像块,获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占该比例的面积分割为第一图像子块。其中,单核GPU的运算速度可以是终端中的GPU运算总速度与单核GPU的个数的比值,单核CPU的运算速度可以是终端中的CPU的运算总速度与单核CPU个数的比值。进一步的,在确定哪一部分该比例的面积为第一图像子块时,可按照上下划分或者左右划分的形式进行分割。例如,如图6所示,若终端中的单核CPU运算速度为v1,单核GPU的运算速度为v2。如图6所示,对于根据内存大小进行分割后的子图像块B,则第一图像子块的面积为v2/(v1+v2)*S,其中,S为子图像块的总面积,在分割子图像块B时,可将子图像B中上部分的v2/(v1+v2)*S的面积划分为第一图像子块(如图6中的GPU1和GPU2所占的部分)。
步骤514,将子图像块中剩余的面积确定为第二图像子块。
在获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占该比例的面积分割为第一图像子块后,将子图像块的剩余的面积确定为第二图像子块。如图6所示,对于子图像块B,上部分面积v2/(v1+v2)*S的部分确定为第一图像子块,则剩余的部分确定为第二图像子块(如图6中的CPU1、CPU2、CPU3和CPU4的部分),第二图像子块的总面积为v1/(v1+v2)*S,其中,S为子图像块的总面积。
步骤516,根据单核GPU的个数对第一图像子块进行平均分割,通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第一子特征图,将第一子特征图进行拼接得到第一特征图。
在对每个图像块分割得到第一图像子块和第二图像子块后,可根据单核GPU的个数对第一图像子块进行平均分割,以实现多个GPU可以并行处理图像,提高图像处理效率。可通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算提取子块的特征得到每个子块对应的第一子特征图。进一步的,在根据GPU的个数对第一图像子块进行平均分割后,对平均分割得到的每个子块可额外向四周读取预设的数量,再将额外向四周读取预设数量的像素的子块与滤波器进行卷积运算得到对应的第一特征图。
步骤518,根据单核CPU的个数对第二图像子块进行平均分割,通过每个单核CPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第二子特征图,将第二子特征图进行拼接得到第二特征图。
同样的,根据单核CPU的个数对第二图像子块进行平均分割,以实现多个CPU可以并行处理图像,提高图像处理效率。通过每个单核CPU将平均分割得到的子块与滤波器进行卷积运算提取子块的特征得到每个子块对应的第二子特征图。进一步的,在根据CPU的个数对第二图像子块进行平均分割后,对平均分割得到的每个子块可额外向四周读取预设的数量,再将子块与滤波器进行卷积运算得到对应的第二特征图。
如图6所示,假设终端配置有4个单核CPU,2个单核GPU。第一图像子块的面积为v2/(v1+v2)*S,第二图像子块的面积为v1/(v1+v2)*S。可根据单核GPU的个数将第一图像子块平均分割为2个子块,如图6中,子图像块B中第一图像子块被平均分割为GPU1部分和GPU2部分。在分割时,对于每个子块可额外向四周读取2个像素。同样的,可根据单核CPU的个数将第二图像子块平均分割为4个子块,如图6中,子图像块B中的第二图像子块被平均分割为了CPU1部分、CPU2部分、CPU3部分和CPU4部分。
步骤520,对第一特征图和第二特征图进行拼接,得到最终图像。
支持GPU的终端时将输入图像进行分割后,将第一图像子块和第二图像子块分别通过GPU和CPU进行并行处理,因此需要对第一特征图与第二特征图进行拼接,得到完整的图像。
如图6所示,子图像块B被分割为由GPU处理的GPU1部分和GPU2部分,由CPU处理的CPU1部分、CPU2部分、CPU3部分以及CPU4部分,将每个部分与滤波器进行卷积运算得到每个部分对应的子特征图,将由GPU处理得到的所有子特征图进行拼接得到第一特征图(如图6C中GPU1和GPU2的部分),由CPU处理得到的所有子特征图进行拼接得到第二特征图(如图6C中CPU1、CPU2、CPU3以及CPU4的部分),最后将第一特征图和第二特征图进行拼接得到最终图像C。其中,因为给GPU1部分和GPU2部分的四周都额外读取了预设的数量的像素,所以在对GPU1部分和GPU2部分与滤波器进行卷积运算得到对应的子特征图,所有的子特征图能够无缝拼接成第一特征图。同样的,CPU1部分、CPU2部分、CPU3部分以及CPU4部分的四周都额外读取了预设的数量的像素,在对CPU1部分、CPU2部分、CPU3部分以及CPU4部分分别与滤波器进行卷积运算得到对应的子特征图,所有的子特征图都能够无缝拼接成第二特征图。
步骤522,通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图。
对于只配置有CPU而未配置有GPU的终端,在按内存大小进行分割得到的每个子图像块后,若通过对终端的硬件配置进行检测得到终端不支持GPU,则根据终端内的CPU的个数将每个子图像块平均分配进行同构并行处理,通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图。具体的,单核CPU将每个子图像块与滤波器进行卷积运算提取每个子图像块的特征得到对应的子特征图。例如,对于只配置了八核CPU的终端,终端按照CPU个数的倍数对输入图像进行分割,如将输入图像分割为八块子图像块,将这八块子图像块平均分配至八个CPU进行同构并行处理,各个单核CPU将分配到的每个子图像块与滤波器进行卷积运算得到共八个子特征图。
步骤524,对多个子特征图进行拼接,得到最终图像。
不支持GPU的终端是将输入图像进行分割后,将分割后得到的每个子图像块通过单核CPU进行同构并行处理,因此需要对多个子特征图进行拼接,得到完整的图像。例如,如上所示,将与滤波器进行卷积运算得到的8个子特征图按照这8个子特征图对应在原图像中的位置关系进行拼接得到最终图像。
上述实施例中,不管是既配置了GPU又配置了CPU的终端,还是只配置了CPU的终端,最终都能够得到完整的图像。在直播、视频聊天、游戏等应用程序中,可通过调用图像获取接口,将最终图像显示在应用程序的相应界面中。该图像处理方法不仅能够做到真正的实时性,而且能够提高图像处理的速度。
如图7所示,在一个实施例中,提供了一种图像处理装置700,该装置包括:
第一获取模块702,用于获取输入图像;
第一分割模块704,用于根据内存大小对输入图像进行分割,得到多个子图像块;
第二获取模块706,用于获取图像处理器GPU与中央处理器CPU的运算能力;
第二分割模块708,用于根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;
处理模块710,用于通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图;
拼接模块712,用于对第一特征图和第二特征图进行拼接,得到最终图像。
如图8所示,在一个实施例中,第一分割模块704包括读取模块802和第一运算模块804,其中:
读取模块802,用于对输入图像按照内存大小进行分割并对分割得到的每个图像向四周额外读取预设数量的像素,得到分割后的每个图像块;
运算模块804,用于将每个图像块与滤波器进行卷积运算得到多个子图像块。
在一个实施例中,第二分割模块708用于对于每个子图像块,获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占该比例的面积分割为第一图像子块,将子图像块中剩余的面积确定为第二图像子块。
在一个实施例中,处理模块710用于根据单核GPU的个数对第一图像子块进行平均分割,通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第一子特征图,将第一子特征图进行拼接得到第一特征图。
在另一个实施例中,处理模块710还用于根据单核CPU的个数对第二图像子块进行平均分割,通过每个单核CPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第二子特征图,将第二子特征图进行拼接得到第二特征图。
在一个实施例中,提供了一种图像处理装置,该装置还包括:
检测模块,用于对终端的硬件配置情况进行检测;
获取模块,用于当检测到终端支持GPU时,则获取图像处理器GPU与中央处理器CPU的运算能力。
拼接模块,用于当检测到终端不支持GPU时,则通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图;对多个子特征图进行拼接,得到最终图像。
图9为一个实施例中计算机设备的内部结构示意图。该计算机设备可以是终端。如图9所示,该终端包括通过系统总线连接的处理器(包括图像处理器和中央处理器)、存储器(包括非易失性存储介质和内存储器)、显示屏、输入装置和网络接口。其中,该终端的非易失性存储介质存储有操作系统和一种图像处理装置的计算机程序,该图像处理装置的计算机程序被图像处理器和中央处理器执行时,用于实现一种图像处理方法。该终端的图像处理器和中央处理器用于提供计算和控制能力,支撑整个终端的运行。该终端的内存储器也可存储有计算机程序,该计算机程序被图像处理器和中央处理器执行时,可使得图像处理器和中央处理器执行一种图像处理方法。该终端的网络接口用于与其他终端或者服务器进行通信,比如将最终的图像,通过网络接口传输到其他终端或者服务器等。该输入装置可以是显示屏上覆盖的触摸层,也可以是外接的键盘、触控板或鼠标等,该显示屏用于显示应用界面等,该终端可以是液晶显示屏或者电子墨水显示屏,触摸层与显示屏构成触控屏。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取输入图像;根据内存大小对输入图像进行分割,得到多个子图像块;获取图像处理器GPU与中央处理器CPU的运算能力;根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;通过GPU对第一图像子块进行处理,得到第一特征图,以及通过CPU对第二图像子块进行处理,得到第二特征图;对第一特征图和第二特征图进行拼接,得到最终图像。
在一个实施例中,获取图像处理器GPU与中央处理器CPU的运算能力之前,还包括:对终端的硬件配置情况进行检测;当检测到终端支持GPU时,则进入获取图像处理器GPU与中央处理器CPU的运算能力的步骤。
在一个实施例中,对终端的硬件配置情况进行检测之后,还包括:当检测到终端不支持GPU时,则通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图;对多个子特征图进行拼接,得到最终图像。
在一个实施例中,根据内存大小对输入图像进行分割,得到多个子图像块,包括:对输入图像按照内存大小进行分割并对分割得到的每个图像向四周额外读取预设数量的像素,得到分割后的每个图像块;将每个图像块与滤波器进行卷积运算得到多个子图像块。
在一个实施例中,根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块,包括:对于每个子图像块,获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将子图像块中占比例的面积分割为第一图像子块;将子图像块中剩余的面积确定为第二图像子块。
在一个实施例中,通过GPU对第一图像子块进行处理,得到第一特征图,包括:根据单核GPU的个数对第一图像子块进行平均分割,通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第一子特征图,将第一子特征图进行拼接得到第一特征图。
在一个实施例中,通过CPU对第二图像子块进行处理,得到第二特征图,包括:根据单核CPU的个数对第二图像子块进行平均分割,通过每个单核CPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第二子特征图,将第二子特征图进行拼接得到第二特征图。
在一个实施例中,对第一图像子块或第二图像子块进行平均分割时,对分割得到的每个子块额外向四周读取预设数量的像素后再与滤波器进行卷积运算。
需要说明的是,本申请各实施例中的“第一”、“第二”只是相对概念,仅用作区分,并不用于大小、从属、先后等其他方面的限定。例如,“第一图像子块”和“第二图像子块”用于区分应分配给GPU处理的图像块和应分配给CPU处理的图像子块,“第一特征图”和“第二特征图”是为了区分不同处理器处理后得到的特征图。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的非易失性存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种图像处理方法,其特征在于,所述方法包括:
获取输入图像;
根据内存大小对所述输入图像进行分割,得到多个子图像块;
获取图像处理器GPU与中央处理器CPU的运算能力;
根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;
通过GPU对所述第一图像子块进行处理,得到第一特征图,以及通过CPU对所述第二图像子块进行处理,得到第二特征图;
对所述第一特征图和第二特征图进行拼接,得到最终图像。
2.根据权利要求1所述的方法,其特征在于,在所述获取图像处理器GPU与中央处理器CPU的运算能力之前,还包括:
对终端的硬件配置情况进行检测;
当检测到终端支持GPU时,则进入所述获取图像处理器GPU与中央处理器CPU的运算能力的步骤。
3.根据权利要求2所述的方法,其特征在于,在所述对终端的硬件配置情况进行检测之后,还包括:
当检测到终端不支持GPU时,则通过单核CPU将每个子图像块与滤波器进行卷积运算得到每个子图像块对应的子特征图;
对多个所述子特征图进行拼接,得到最终图像。
4.根据权利要求1所述的方法,其特征在于,所述根据内存大小对所述输入图像进行分割,得到多个子图像块,包括:
对所述输入图像按照内存大小进行分割并对分割得到的每个图像向四周额外读取预设数量的像素,得到分割后的每个图像块;
将所述每个图像块与滤波器进行卷积运算得到多个所述子图像块。
5.根据权利要求1所述的方法,其特征在于,所述根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块,包括:
对于每个子图像块,获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将所述子图像块中占所述比例的面积分割为所述第一图像子块;
将所述子图像块中剩余的面积确定为所述第二图像子块。
6.根据权利要求1所述的方法,其特征在于,所述通过GPU对所述第一图像子块进行处理,得到第一特征图,包括:
根据单核GPU的个数对所述第一图像子块进行平均分割,通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第一子特征图,将所述第一子特征图进行拼接得到第一特征图。
7.根据权利要求1所述的方法,其特征在于,所述通过CPU对所述第二图像子块进行处理,得到第二特征图,包括:
根据单核CPU的个数对所述第二图像子块进行平均分割,通过每个单核CPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第二子特征图,将所述第二子特征图进行拼接得到第二特征图。
8.根据权利要求6或7所述的方法,其特征在于,在对所述第一图像子块或第二图像子块进行平均分割时,对分割得到的每个子块额外向四周读取预设数量的像素后再与滤波器进行卷积运算。
9.一种图像处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取输入图像;
第一分割模块,用于根据内存大小对所述输入图像进行分割,得到多个子图像块;
第二获取模块,用于获取图像处理器GPU与中央处理器CPU的运算能力;
第二分割模块,用于根据GPU的运算能力和CPU的运算能力对每个子图像块进行异构结构分割,得到每个子图像块中包括的应分配给GPU处理的第一图像子块和应分配给CPU处理的第二图像子块;
处理模块,用于通过GPU对所述第一图像子块进行处理,得到第一特征图,以及通过CPU对所述第二图像子块进行处理,得到第二特征图;
拼接模块,用于对所述第一特征图和第二特征图进行拼接,得到最终图像。
10.根据权利要求9所述的装置,其特征在于,所述第一分割模块包括:
读取模块,用于对所述输入图像按照内存大小进行分割并对分割得到的每个图像向四周额外读取预设数量的像素,得到分割后的每个图像块;
运算模块,用于将所述每个图像块与滤波器进行卷积运算得到多个所述子图像块。
11.根据权利要求9所述的装置,其特征在于,所述第二分割模块用于对于每个子图像块,获取单核GPU的运算速度占单核CPU的运算速度和单核GPU的运算速度的总和的比例,将所述子图像块中占所述比例的面积分割为所述第一图像子块,将所述子图像块中剩余的面积确定为所述第二图像子块。
12.根据权利要求9所述的装置,其特征在于,所述处理模块用于根据单核GPU的个数对所述第一图像子块进行平均分割,通过每个单核GPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第一子特征图,将所述第一子特征图进行拼接得到第一特征图。
13.根据权利要求9所述的装置,其特征在于,所述处理模块还用于根据单核CPU的个数对所述第二图像子块进行平均分割,通过每个单核CPU将平均分割得到的子块与滤波器进行卷积运算得到每个子块对应的第二子特征图,将所述第二子特征图进行拼接得到第二特征图。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8任意一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-8任意一项所述方法的步骤。
CN201711191814.8A 2017-11-24 2017-11-24 图像处理方法、装置、计算机设备和存储介质 Active CN107945098B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711191814.8A CN107945098B (zh) 2017-11-24 2017-11-24 图像处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711191814.8A CN107945098B (zh) 2017-11-24 2017-11-24 图像处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN107945098A true CN107945098A (zh) 2018-04-20
CN107945098B CN107945098B (zh) 2022-03-01

Family

ID=61949710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711191814.8A Active CN107945098B (zh) 2017-11-24 2017-11-24 图像处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN107945098B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108960408A (zh) * 2018-06-12 2018-12-07 杭州米绘科技有限公司 一种面向超高清分辨率图案的风格化系统及方法
CN110309855A (zh) * 2019-05-30 2019-10-08 上海联影智能医疗科技有限公司 图像分割的训练方法、计算机设备及存储介质
CN110348537A (zh) * 2019-07-18 2019-10-18 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN110533742A (zh) * 2019-09-03 2019-12-03 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质
CN111489281A (zh) * 2020-04-09 2020-08-04 常州奥创医疗科技有限公司 一种基于gpu和cpu协同运算的检测方法
CN111640142A (zh) * 2019-12-25 2020-09-08 珠海大横琴科技发展有限公司 一种遥感图像多特征匹配方法、装置及电子设备
CN111861852A (zh) * 2019-04-30 2020-10-30 百度时代网络技术(北京)有限公司 用于处理图像的方法和装置、电子设备
CN111984417A (zh) * 2020-08-26 2020-11-24 展讯通信(天津)有限公司 用于移动终端的图像处理方法及装置、存储介质、终端
CN112991172A (zh) * 2021-03-08 2021-06-18 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备及存储介质
CN113362219A (zh) * 2021-07-02 2021-09-07 展讯通信(天津)有限公司 一种图像数据处理方法及装置
WO2023093474A1 (zh) * 2021-11-24 2023-06-01 北京字跳网络技术有限公司 一种多媒体处理方法、装置、设备及介质
CN116483587A (zh) * 2023-06-21 2023-07-25 湖南马栏山视频先进技术研究院有限公司 一种基于图像分割的视频超分并行方法、服务器及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100118041A1 (en) * 2008-11-13 2010-05-13 Hu Chen Shared virtual memory
CN103593850A (zh) * 2013-11-26 2014-02-19 北京航空航天大学深圳研究院 一种在cuda平台上基于递归高斯滤波的sift并行化系统及方法
CN104331858A (zh) * 2014-11-24 2015-02-04 厦门美图之家科技有限公司 一种同时利用cpu和gpu进行图像处理的加速方法
CN106530285A (zh) * 2016-10-21 2017-03-22 国网山东省电力公司电力科学研究院 一种基于gpu与cpu混合数据处理的输电线路部件识别方法
CN106951322A (zh) * 2017-02-28 2017-07-14 中国科学院深圳先进技术研究院 一种cpu/gpu异构环境的图像协同处理程序获取方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100118041A1 (en) * 2008-11-13 2010-05-13 Hu Chen Shared virtual memory
CN103593850A (zh) * 2013-11-26 2014-02-19 北京航空航天大学深圳研究院 一种在cuda平台上基于递归高斯滤波的sift并行化系统及方法
CN104331858A (zh) * 2014-11-24 2015-02-04 厦门美图之家科技有限公司 一种同时利用cpu和gpu进行图像处理的加速方法
CN106530285A (zh) * 2016-10-21 2017-03-22 国网山东省电力公司电力科学研究院 一种基于gpu与cpu混合数据处理的输电线路部件识别方法
CN106951322A (zh) * 2017-02-28 2017-07-14 中国科学院深圳先进技术研究院 一种cpu/gpu异构环境的图像协同处理程序获取方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SIDDHARTH RAI等: "Improving CPU Performance Through Dynamic GPU Access Throttling in CPU-GPU Heterogeneous Processors", 《IEEE XPLORE》 *
刘颖等: "异构并行编程模型研究与进展", 《软件学报》 *
肖汉等: "面向CPU+GPU异构计算的SIFT特征匹配并行算法", 《同济大学学报(自然科学版)》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108960408B (zh) * 2018-06-12 2021-07-13 杭州米绘科技有限公司 一种面向超高清分辨率图案的风格化系统及方法
CN108960408A (zh) * 2018-06-12 2018-12-07 杭州米绘科技有限公司 一种面向超高清分辨率图案的风格化系统及方法
CN111861852A (zh) * 2019-04-30 2020-10-30 百度时代网络技术(北京)有限公司 用于处理图像的方法和装置、电子设备
CN110309855A (zh) * 2019-05-30 2019-10-08 上海联影智能医疗科技有限公司 图像分割的训练方法、计算机设备及存储介质
CN110309855B (zh) * 2019-05-30 2021-11-23 上海联影智能医疗科技有限公司 图像分割的训练方法、计算机设备及存储介质
CN110348537A (zh) * 2019-07-18 2019-10-18 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN110533742B (zh) * 2019-09-03 2021-05-11 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质
CN110533742A (zh) * 2019-09-03 2019-12-03 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质
CN111640142A (zh) * 2019-12-25 2020-09-08 珠海大横琴科技发展有限公司 一种遥感图像多特征匹配方法、装置及电子设备
CN111489281A (zh) * 2020-04-09 2020-08-04 常州奥创医疗科技有限公司 一种基于gpu和cpu协同运算的检测方法
CN111984417A (zh) * 2020-08-26 2020-11-24 展讯通信(天津)有限公司 用于移动终端的图像处理方法及装置、存储介质、终端
WO2022042587A1 (zh) * 2020-08-26 2022-03-03 展讯通信(天津)有限公司 用于移动终端的图像处理方法及装置、存储介质、终端
CN112991172A (zh) * 2021-03-08 2021-06-18 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备及存储介质
CN113362219A (zh) * 2021-07-02 2021-09-07 展讯通信(天津)有限公司 一种图像数据处理方法及装置
CN113362219B (zh) * 2021-07-02 2023-08-11 展讯通信(天津)有限公司 一种图像数据处理方法及装置
WO2023093474A1 (zh) * 2021-11-24 2023-06-01 北京字跳网络技术有限公司 一种多媒体处理方法、装置、设备及介质
CN116483587A (zh) * 2023-06-21 2023-07-25 湖南马栏山视频先进技术研究院有限公司 一种基于图像分割的视频超分并行方法、服务器及介质
CN116483587B (zh) * 2023-06-21 2023-09-08 湖南马栏山视频先进技术研究院有限公司 一种基于图像分割的视频超分并行方法、服务器及介质

Also Published As

Publication number Publication date
CN107945098B (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN107945098A (zh) 图像处理方法、装置、计算机设备和存储介质
CN107967669A (zh) 图片处理的方法、装置、计算机设备及存储介质
CN112184738B (zh) 一种图像分割方法、装置、设备及存储介质
Yu et al. Towards efficient and scale-robust ultra-high-definition image demoiréing
CN109308681A (zh) 图像处理方法和装置
CN112102164B (zh) 一种图像处理方法、装置、终端及存储介质
CN110516678B (zh) 图像处理方法和装置
CN108961183B (zh) 图像处理方法、终端设备及计算机可读存储介质
CN108288252B (zh) 图像批处理方法、装置及电子设备
CN111062854B (zh) 检测水印的方法、装置、终端及存储介质
CN107578373A (zh) 全景图像拼接方法、终端设备及计算机可读存储介质
CN110062157A (zh) 渲染图像的方法、装置、电子设备和计算机可读存储介质
CN111709879B (zh) 图像处理方法、图像处理装置及终端设备
CN109272526B (zh) 图像处理方法、系统及电子设备
CN108805799A (zh) 全景图像合成装置、方法及计算机可读存储介质
US20240112299A1 (en) Video cropping method and apparatus, storage medium and electronic device
CN108595211A (zh) 用于输出数据的方法和装置
CN111562869B (zh) 截图方法及装置、存储介质、电子装置
CN107317973A (zh) 一种信息处理方法及装置、计算机装置及可读存储介质
CN108734712A (zh) 背景分割的方法、装置及计算机存储介质
CN115115538A (zh) 视频处理方法、装置、设备及存储介质
CN113538268A (zh) 图像处理方法及装置、计算机可读存储介质和电子设备
CN115409719A (zh) 数据处理方法、装置、终端设备及计算机可读存储介质
CN108012191B (zh) 视频数据处理方法及装置、计算设备、介质
CN113313642A (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
GR01 Patent grant
GR01 Patent grant