图像处理方法、装置、计算机设备及介质与流程

文档序号:23544615发布日期:2021-01-05 20:56阅读:49来源:国知局
图像处理方法、装置、计算机设备及介质与流程

本申请实施例涉及图像处理技术领域,特别涉及一种图像处理方法、装置、计算机设备及介质。



背景技术:

随着图像处理技术的发展,用户对图像的显示效果要求也越来越高。由于智能硬件设备的性能、拍摄环境或滤镜等因素的影响,所拍摄图像的色彩可能会失真,影响图像显示效果。因此,需要对图像进行色彩增强处理。



技术实现要素:

本申请实施例提供了一种图像处理方法、装置、计算机设备及介质,提高了图像显示效果。所述技术方案如下:

一方面,提供了一种图像处理方法,所述方法包括:

根据第一图像中的原始像素值的分布情况,确定第一像素值范围,所述第一像素值范围为所述第一图像中进行色彩增强的像素值的范围;

确定第二像素值范围与所述第一像素值范围之间的拉伸比例,所述第一像素值范围与所述第二像素值范围不同,且所述第二像素值范围包括所述第一像素值范围;

根据所述拉伸比例,对所述第一图像中属于所述第一像素值范围的原始像素值进行线性拉伸处理,得到所述原始像素值对应的目标像素值,所述目标像素值属于所述第二像素值范围;

将所述第一图像中的所述原始像素值更新为对应的目标像素值,得到色彩增强后的第二图像。

可选地,所述按照所述第一图像中的原始像素值从小到大的顺序,确定目标序号对应的第一像素值之前,所述方法还包括:

获取参考比例与所述第一图像中的像素点数量的乘积,得到目标数量,将所述目标数量作为所述目标序号。

可选地,所述确定第二像素值范围与所述第一像素值范围之间的拉伸比例,包括:

确定所述第二像素值范围与所述通道对应的所述第一像素值范围之间的拉伸比例;

所述根据所述拉伸比例,对所述第一图像中属于所述第一像素值范围的原始像素值进行线性拉伸处理,得到所述原始像素值对应的目标像素值,包括:

根据所述拉伸比例,对所述通道中属于所述第一像素值范围的原始像素值进行线性拉伸处理,得到所述通道中所述原始像素值对应的目标像素值。

可选地,所述对于每个通道,按照所述通道中的原始像素值从小到大的顺序,确定所述目标序号对应的第一像素值之前,所述方法还包括:

对于所述每个通道,获取所述通道对应的直方图,所述直方图用于指示所述通道中的每个原始像素值对应的像素点数量;

按照所述每个原始像素值对应的像素点数量,对所述通道的原始像素值从小到大进行排序;

按照所述每个原始像素值对应的像素点数量,对所述通道的原始像素值从大到小进行排序。

可选地,所述方法还包括:

将所述第一图像中小于所述第一像素值的多个原始像素值更新为第一参考像素值;

将所述第一图像中大于所述第二像素值的多个原始像素值更新为第二参考像素值;

其中,所述第一参考像素值小于所述第一像素值范围中的最小像素值,所述第二参考像素值大于所述第一像素值范围中的最大像素值。

可选地,所述对包括所述第一图像的视频片段进行亮度检测,确定所述视频片段对应的亮度类型,包括:

对所述视频片段中的每个图像进行检测,得到所述每个图像的亮度;

根据所述每个图像的亮度与参考亮度范围,确定所述视频片段对应的亮度类型。

可选地,所述根据所述每个图像的亮度与参考亮度范围,确定所述视频片段对应的亮度类型,包括:

若所述视频片段中的任一图像的亮度不属于所述参考亮度范围,确定所述视频片段对应的亮度类型为所述异常类型;或者,

若所述视频片段中的每个图像的亮度均属于所述参考亮度范围,确定所述视频片段对应的亮度类型为所述正常类型。

可选地,所述对包括所述第一图像的视频片段进行亮度检测,确定所述视频片段对应的亮度类型,包括:

若所述视频片段中包括人脸区域,对所述人脸区域进行亮度检测,确定所述人脸区域对应的亮度;

根据所述人脸区域对应的亮度与参考亮度范围,确定所述人脸区域对应的亮度类型,将所述人脸区域对应的亮度类型确定为所述视频片段对应的亮度类型。

可选地,所述将所述第一图像中的所述原始像素值更新为对应的目标像素值,得到色彩增强后的第二图像之后,所述方法还包括:

对所述第二图像进行饱和度调整,得到饱和度调整后的第四图像。

可选地,所述第一图像为目标视频中的任一图像,所述将所述第一图像中的所述原始像素值更新为对应的目标像素值,得到色彩增强后的第二图像之后,所述方法还包括:

将所述目标视频中色彩增强后的多个图像按照顺序进行拼接,得到色彩增强后的目标视频。

另一方面,提供了一种图像处理装置,所述装置包括:

范围确定模块,用于根据第一图像中的原始像素值的分布情况,确定第一像素值范围,所述第一像素值范围为所述第一图像中进行色彩增强的像素值的范围;

拉伸比例确定模块,用于确定第二像素值范围与所述第一像素值范围之间的拉伸比例,所述第一像素值范围与所述第二像素值范围不同,且所述第二像素值范围包括所述第一像素值范围;

像素值拉伸模块,用于根据所述拉伸比例,对所述第一图像中属于所述第一像素值范围的原始像素值进行线性拉伸处理,得到所述原始像素值对应的目标像素值,所述目标像素值属于所述第二像素值范围;

色彩增强模块,用于将所述第一图像中的所述原始像素值更新为对应的目标像素值,得到色彩增强后的第二图像。

可选地,所述拉伸比例确定模块,用于:

确定所述第一像素值范围对应的第一像素值跨度,所述第一像素值跨度为所述第一像素值范围中的最大像素值与最小像素值之间的差值;

确定所述第二像素值范围对应的第二像素值跨度,所述第二像素值跨度为所述第二像素值范围中的最大像素值与最小像素值之间的差值;

将所述第二像素值跨度与所述第一像素值跨度之间的比例,确定为所述拉伸比例。

可选地,所述像素值拉伸模块,用于:

确定所述原始像素值对应的目标数值,所述目标数值为所述原始像素值与所述第一像素值范围中的最小像素值之间的差值;

获取所述目标数值与所述拉伸比例的乘积,将所述乘积与所述第二像素值范围中的最小像素值之和,确定为所述目标像素值。

可选地,所述范围确定模块,包括:

像素值确定单元,用于根据所述第一图像中的原始像素值的分布情况,从所述第一图像中选取第一像素值和第二像素值,所述第二像素值大于所述第一像素值;

范围确定单元,用于将所述第一像素值作为所述第一像素值范围的最小像素值,将所述第二像素值作为所述第一像素值范围的最大像素值,得到所述第一像素值范围;或者,

所述范围确定单元,还用于根据调整系数,对所述第一像素值和所述第二像素值进行调整,得到调整后的第一像素值和调整后的第二像素值,将所述调整后的第一像素值作为所述第一像素值范围的最小像素值,将所述调整后的第二像素值作为所述第一像素值范围的最大像素值,得到所述第一像素值范围。

可选地,所述像素值确定单元,用于按照所述第一图像中的原始像素值从小到大的顺序,确定目标序号对应的所述第一像素值,按照所述第一图像中的原始像素值从大到小的顺序,确定所述目标序号对应的所述第二像素值。

可选地,所述装置还包括:

序号确定模块,用于获取参考比例与所述第一图像中的像素点数量的乘积,得到目标数量,将所述目标数量作为所述目标序号。

可选地,所述第一图像包括多个通道,所述像素值确定单元,用于对于每个通道,按照所述通道中的原始像素值从小到大的顺序,确定所述目标序号对应的第一像素值,按照所述通道中的原始像素值从大到小的顺序,确定所述目标序号对应的第二像素值。

可选地,所述像素值确定单元,用于:

对于所述每个通道,按照所述通道中的原始像素值从小到大的顺序,确定所述目标序号对应的第一备选像素值,按照所述通道中的原始像素值从大到小的顺序,确定所述目标序号对应的第二备选像素值;

获取所述多个通道对应的像素值跨度中的最小像素值跨度,所述像素值跨度为所述第二备选像素值与所述第一备选像素值的差值;

分别获取参考像素值与每个像素值跨度的差值,将获取到的多个差值之和作为像素值总跨度;

若所述最小像素值跨度小于第一参考数值,且所述像素值总跨度大于第二参考数值,将所述每个通道对应的第一备选像素值确定为所述第一像素值,将所述每个通道对应的第二备选像素值确定为所述第二像素值。

可选地,所述像素值确定单元,用于:

若所述最小像素值跨度不小于所述第一参考数值或所述像素值总跨度不大于所述第二参考数值,增大所述目标序号,重新确定增大后的目标序号对应的第一备选像素值和第二备选像素值,直至得到的最小像素值跨度小于所述第一参考数值,且得到的像素值总跨度大于所述第二参考数值,将所述每个通道对应的第一备选像素值确定为所述第一像素值,将所述每个通道对应的第二备选像素值确定为所述第二像素值。

可选地,所述拉伸比例确定模块,用于确定所述第二像素值范围与所述通道对应的所述第一像素值范围之间的拉伸比例;

所述像素值拉伸模块,用于根据所述拉伸比例,对所述通道中属于所述第一像素值范围的原始像素值进行线性拉伸处理,得到所述通道中所述原始像素值对应的目标像素值。

可选地,所述装置还包括:

直方图获取模块,用于对于所述每个通道,获取所述通道对应的直方图,所述直方图用于指示所述通道中的每个原始像素值对应的像素点数量;

排序模块,用于按照所述每个原始像素值对应的像素点数量,对所述通道的原始像素值从小到大进行排序;

所述排序模块,还用于按照所述每个原始像素值对应的像素点数量,对所述通道的原始像素值从大到小进行排序。

可选地,所述装置还包括:

像素值调整模块,用于获取所述多个通道对应的多个第一像素值中的最小像素值以及对应的多个第二像素值中的最大像素值;

所述像素值调整模块,还用于根据所述调整系数和所述多个第一像素值中的最小像素值,分别对所述多个第一像素值进行调整,得到多个调整后的第一像素值;

所述像素值调整模块,还用于根据所述调整系数和所述多个第二像素值中的最大像素值,分别对所述多个第二像素值进行调整,得到多个调整后的第二像素值。

可选地,所述色彩增强模块,还用于:

将所述第一图像中小于所述第一像素值的多个原始像素值更新为第一参考像素值;

将所述第一图像中大于所述第二像素值的多个原始像素值更新为第二参考像素值;

其中,所述第一参考像素值小于所述第一像素值范围中的最小像素值,所述第二参考像素值大于所述第一像素值范围中的最大像素值。

可选地,所述范围确定模块,用于若所述第一图像对应的亮度类型为正常类型,执行所述根据第一图像中的原始像素值的分布情况,确定第一像素值范围的步骤。

可选地,所述装置还包括:

通道转换模块,用于若所述第一图像对应的亮度类型为异常类型,将所述第一图像从rgb通道转换为lab通道,所述lab通道中的l通道表示所述第一图像中每个像素点的亮度;

亮度调整模块,用于按照调整参数,增大所述l通道中小于参考亮度的亮度,减小所述l通道中大于所述参考亮度的亮度,得到所述每个像素点调整后的亮度;

通道确定模块,用于根据所述每个像素点调整后的亮度,确定调整后的lab通道;

所述色彩增强模块,还用于将所述调整后的lab通道转换为对应的rgb通道,得到色彩增强后的第三图像。

可选地,所述第一图像为目标视频中的任一图像,所述装置还包括:

视频分割模块,用于对所述目标视频进行场景分割,得到所述目标视频中的至少一个视频片段,每个视频片段中包括属于同一场景的至少一个图像;

类型确定模块,用于对包括所述第一图像的视频片段进行亮度检测,确定所述视频片段对应的亮度类型,所述亮度类型包括正常类型或异常类型;

所述类型确定模块,还用于将所述视频片段对应的亮度类型,作为所述第一图像对应的亮度类型。

可选地,所述类型确定模块,用于:

对所述视频片段中的每个图像进行检测,得到所述每个图像的亮度;

根据所述每个图像的亮度与参考亮度范围,确定所述视频片段对应的亮度类型。

可选地,所述类型确定模块,用于:

若所述视频片段中的任一图像的亮度不属于所述参考亮度范围,确定所述视频片段对应的亮度类型为所述异常类型;或者,

若所述视频片段中的每个图像的亮度均属于所述参考亮度范围,确定所述视频片段对应的亮度类型为所述正常类型。

可选地,所述类型确定模块,用于:

若所述视频片段中包括人脸区域,对所述人脸区域进行亮度检测,确定所述人脸区域对应的亮度;

根据所述人脸区域对应的亮度与参考亮度范围,确定所述人脸区域对应的亮度类型,将所述人脸区域对应的亮度类型确定为所述视频片段对应的亮度类型。

可选地,所述装置还包括:

饱和度调整模块,用于对所述第二图像进行饱和度调整,得到饱和度调整后的第四图像。

可选地,所述第一图像为目标视频中的任一图像,所述装置还包括:

图像拼接模块,用于将所述目标视频中色彩增强后的多个图像按照顺序进行拼接,得到色彩增强后的目标视频。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如上述方面所述的图像处理方法中所执行的操作。

另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如上述方面所述的图像处理方法中所执行的操作。

另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取所述计算机程序代码,处理器执行所述计算机程序代码,使得所述计算机设备实现如上述方面所述的图像处理方法中所执行的操作。

本申请实施例提供的技术方案带来的有益效果至少包括:

本申请实施例提供的方法,能够确定第一图像中需要增强色彩的像素值范围,从而按照拉伸比例,对该像素值范围内的原始像素值进行线性拉伸处理,实现对第一图像的色彩增强,提高了第一图像的显示效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种实施环境的示意图;

图2是本申请实施例提供的一种图像处理方法的流程图;

图3是本申请实施例提供的另一种图像处理方法的流程图;

图4是本申请实施例提供的另一种图像处理方法的流程图;

图5是本申请实施例提供的一种亮度曲线的示意图;

图6是本申请实施例提供的一种色彩增强前和色彩增强后的图像的示意图;

图7是本申请实施例提供的一种图像处理装置的结构示意图;

图8是本申请实施例提供的另一种图像处理装置的结构示意图;

图9是本申请实施例提供的一种终端的结构示意图;

图10是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一像素值称为第二像素值,将第二像素值称为第一像素值。

本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”等,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指多个中的任意一个。举例来说,多个通道包括3个通道,而每个通道是指这3个通道中的每一个通道,任一通道是指这3个通道中的任意一个,可以是第一个,可以是第二个,也可以是第三个。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

计算机视觉技术(computervision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr(opticalcharacterrecognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

本申请实施例提供的方案涉及计算机视觉技术,具体通过下述实施例进行说明。

本申请实施例提供的方法能够应用于多种场景下。

例如,应用于对图像进行色彩增强的场景下。

用户在拍摄图像时,由于恶劣天气条件或硬件设备等因素,或添加滤镜,导致图像与原始自然图像相比,可能会失真,例如导致图像的亮度增大,细节丢失,导致添加滤镜后的图像与原始图像相差较大,此时能够采用本申请实施例提供的图像处理方法,对图像进行色彩增强处理,降低图像的亮度,增强图像的细节及色彩,使图像看起来更加真实。

又例如,应用于对视频进行色彩增强的场景下。

在光照很弱的环境下,终端在拍摄视频时,受到光照的影响,拍摄到的视频会较暗,导致用户在观看时难以看到视频中的一些细节,此时能够采用本申请实施例提供的图像处理方法,分别对视频中的每个图像进行色彩增强处理,提高每个图像的亮度及色彩,从而提高视频的整体效果。

图1是本申请实施例提供的一种实施环境的示意图。参见图1,该实施环境包括终端101和服务器102。终端101和服务器102之间通过无线或者有线网络连接。

终端101能够拍摄图像或视频,将拍摄的图像或视频上传至服务器102,由服务器102对图像或视频进行图像处理,服务器102将处理后的图像或视频再发送给终端101或者发布在网络上;或者终端101能够直接对拍摄的图像或视频进行图像处理,将处理后的图像或视频上传至服务器102。

可选地,终端101为电脑、手机、平板电脑或者其他终端。可选地,服务器102是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(contentdeliverynetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

图2是本申请实施例提供的一种图像处理方法的流程图。本申请实施例的执行主体为服务器。参见图2,该方法包括以下步骤:

201、服务器根据第一图像中的原始像素值的分布情况,确定第一像素值范围。

本申请实施例以第一图像为例,服务器通过对第一图像中的原始像素值进行调整,实现第一图像的色彩增强。其中,第一图像为任一图像,例如,第一图像为拍摄的图像,或者是视频中的任一图像;第一图像中的原始像素值是指对第一图像进行处理之前每个像素点的像素值。

服务器对第一图像中的原始像素值进行调整,其实是对第一图像中多个像素点的原始像素值进行调整,不同的像素点的原始像素值相同或者不同。因此,需要确定第一图像中进行色彩增强的像素值的范围,即第一像素值范围。

其中,服务器获取第一图像中的原始像素值的分布情况,包括:服务器获取第一图像中的每个像素点对应的原始像素值以及每个原始像素值对应的像素点数量。可选地,获取第一图像的直方图,通过直方图获取原始像素值的分布情况;或者,直接统计第一图像中每个原始像素值对应的像素点数量。

在一种可能实现方式中,服务器根据第一图像中的原始像素值的分布情况,从第一图像中选取第一像素值和第二像素值,其中,第二像素值大于第一像素值。

服务器得到第一像素值和第二像素值之后,直接将第一像素值作为第一像素值范围的最小像素值,将第二像素值作为第一像素值范围的最大像素值,得到第一像素值范围。或者,服务器得到第一像素值和第二像素值之后,根据调整系数,对第一像素值和第二像素值进行调整,得到调整后的第一像素值和调整后的第二像素值,将调整后的第一像素值作为第一像素值范围的最小像素值,将调整后的第二像素值作为第一像素值范围的最大像素值,得到第一像素值范围。其中,调整系数为大于0小于1的任一数值。

在一种可能实现方式中,服务器按照第一图像中的原始像素值从小到大的顺序,确定目标序号对应的第一像素值,按照第一图像中的原始像素值从大到小的顺序,确定目标序号对应的第二像素值。也即是,将第一图像中,像素值较小的一部分原始像素值和像素值较大的一部分原始像素值过滤掉,采用后续线性拉伸的处理方式对中间部分的原始像素值进行调整。其中,将像素值过滤是指不采用后续线性拉伸的处理方式对过滤掉的原始像素值进行处理,后续过滤掉的原始像素值保持不变,或者采用其他处理方式进行更新。

在一种可能实现方式中,服务器获取参考比例与第一图像中的像素点数量的乘积,得到目标数量,将目标数量作为目标序号。其中,参考比例为设置的任一比例,例如,参考比例为2%、4%或其他比例。

例如,采用下述公式获取目标数量:

n=s×m×n;

其中,n为目标数量,s为参考比例,m和n分别为第一图像的长和宽,m×n即为第一图像的像素点数量。

例如,第一图像的像素点数量为1000个,参考比例为2%,目标序号即为20,将第一图像中的1000个像素点按照原始像素值从小到大的顺序,从第一图像中选取排列在前面的20个像素点,然后确定选取的第20个像素点对应的原始像素值,作为第一像素值,将第一图像中的1000个像素点按照原始像素值从大到小的顺序,从第一图像中选取排列在前面的20个像素点,然后确定选取的第20个像素点对应的原始像素值,作为第二像素值。

在一种可能实现方式中,服务器对原始像素值进行排序之前,能够获取第一图像对应的直方图,该直方图用于指示第一图像中的每个原始像素值对应的像素点数量,从而根据直方图中指示的每个原始像素值对应的像素点数量,能够方便地对原始像素值进行排序。例如,原始像素值0对应3个像素点,原始像素值1对应5个像素点,原始像素值2对应3个像素点,那么排列顺序为{0,0,0,1,1,1,1,1,2,2,2}。

202、服务器确定第二像素值范围与第一像素值范围之间的拉伸比例。

其中,第二像素值范围与第一像素值范围不同,且第二像素值范围包括第一像素值范围,即第一像素值范围中的最小像素值不小于第二像素值范围中的最小像素值,第一像素值范围中的最大像素值不大于第二像素值范围中的最大像素值,且两个最小像素值和两个最大像素值不同时相等。例如,第二像素值范围为0-255,则第一像素值范围为0-210,或者为40-255,或者为40-210。

在一种可能实现方式中,服务器确定第一像素值范围对应的第一像素值跨度,确定第二像素值范围对应的第二像素值跨度,将第二像素值跨度与第一像素值跨度之间的比例,确定为拉伸比例。其中,第一像素值跨度为第一像素值范围中的最大像素值与最小像素值之间的差值;第二像素值跨度为第二像素值范围中的最大像素值与最小像素值之间的差值,拉伸比例为原始像素值即将被拉伸的比例,该拉伸比例大于1。

例如,第二像素值范围为0-255,第一像素值范围为40-210,那么拉伸比例为1.5。

203、服务器根据拉伸比例,对第一图像中属于第一像素值范围的原始像素值进行线性拉伸处理,得到原始像素值对应的目标像素值。

其中,目标像素值属于第二像素值范围。

在一种可能实现方式中,原始像素值范围的最大像素值为第一图像中的最大原始像素值,原始像素值范围的最小像素值为第一图像中的最小原始像素值。第二像素值范围为第一图像的原始像素值范围,以保证对第一像素值范围的多个原始像素值进行线性拉伸处理之后,得到的目标像素值仍然符合第一图像的像素值分布,避免第二像素值范围相对于第一图像的原始像素值范围较小,导致处理后的图像相对于第一图像丢失一些像素值。假设,第一图像的原始像素值范围为0-255,第二像素值范围为10-245,会导致线性拉伸处理后的得到的目标像素值缺少了0-9和246-255的范围。

在一种可能实现方式中,服务器确定原始像素值对应的目标数值,获取目标数值与拉伸比例之间的乘积,将乘积与第二像素值范围中的最小像素值之和,确定为目标像素值。其中,目标数值为原始像素值与第一像素值范围中的最小像素值之间的差值。

第一像素值范围包括中间像素值,中间像素值与最大像素值和最小像素之间的差值相同,例如,第一像素值范围为40-210,则中间像素值为125。上述确定目标像素值的过程中,对于任一原始像素值,如果原始像素值小于中间像素值,那么计算之后,得到的目标像素值相对于该原始像素值减小;如果原始像素值大于中间像素值,那么计算之后,得到的目标像素值相对于该原始像素值增大,从而保证能够将第一像素值范围中的原始像素值扩大至第二像素值范围。

例如,采用下述公式对原始像素值进行线性拉伸处理:

其中,xrefined(x,y)为目标像素值,x(x,y)为原始像素值,xmaxrefined为第一像素值范围的最大像素值,xminrefined为第一像素值范围的最小像素值,ymax为第一像素值范围的最大像素值,ymin为第一像素值范围的最小像素值。

又例如,第二像素值范围为0-255,采用下述公式对原始像素值进行线性拉伸处理:

其中,xrefined(x,y)为目标像素值,x(x,y)为原始像素值,xmaxrefined为第一像素值范围的最大像素值,xminrefined为第一像素值范围的最小像素值。

204、服务器将第一图像中的原始像素值更新为对应的目标像素值,得到色彩增强后的第二图像。

服务器得到多个目标像素值之后,将第一像素值范围内的原始像素值更新为目标像素值,从而得到色彩增强后的第二图像。

另外,对于过滤掉的小于第一像素值的原始像素值,以及大于第二像素值的原始像素值,由于过滤掉的原始像素值已经是较小的像素值或者是较大的像素值,那么对于过滤掉的原始像素值不进行更新。

在一种可能实现方式中,服务器将过滤掉的原始像素值更新为参考像素值。即将第一图像中小于第一像素值的多个原始像素值更新为第一参考像素值;将第一图像中大于第二像素值的多个原始像素值更新为第二参考像素值;其中,第一参考像素值小于第一像素值范围中的最小像素值,避免更新后的目标像素值比原始像素值还要大,第二参考像素值大于第一像素值范围中的最大像素值,避免更新后的目标像素值比原始像素值还要小。

在一种可能实现方式中,为了避免小于第一像素值的多个原始像素值更新后的目标像素值,大于第一像素值更新后的目标像素值,将第一参考像素值设置为第二像素值范围中的最小像素值,以保证原来不大于第一像素值的多个原始像素值更新后的目标像素值仍然是最小的像素值;为了避免大于第二像素值的多个原始像素值更新后的目标像素值,小于第二像素值更新后的目标像素值,将第二参考像素值设置为第二像素值范围中的最大像素值,以保证原来不小于第二像素值的多个原始像素值更新后的目标像素值仍然是最大的像素值。

另外,在一种可能实现方式中,服务器得到色彩增强后的第二图像之后,继续对第二图像进行饱和度调整,得到饱和度调整后的第四图像。其中,能够采用多种方式对第二图像的饱和度进行调整。

例如,将第二图像的rgb通道转换为hsv通道,h通道表示图像的色调,s通道表示图像的饱和度,v通道表示图像的亮度,对s通道中的数值进行调整,即可调整第二图像的饱和度,将调整后的hsv通道再转换为rgb通道,得到饱和度调整后的第四图像。其中,增大s通道中的数值,第二图像的饱和度增强,减小s通道中的数值,第二图像的饱和度减小。

在一种可能实现方式中,如果第一图像为目标视频中的任一图像,那么对于目标视频中的其他图像也能够采用与上述第一图像类似的实施方式进行处理,得到图像增强后的图像,然后将目标视频中色彩增强后的多个图像按照顺序进行拼接,即可得到色彩增强后的目标视频,实现对目标视频的色彩增强。

本申请实施例提供的方法,能够确定第一图像中需要增强色彩的像素值范围,从而按照拉伸比例,对该像素值范围内的原始像素值进行线性拉伸处理,实现对第一图像的色彩增强,提高了第一图像的显示效果。

并且,在确定像素值范围的过程中,能够利用直方图快速统计出第一图像中的原始像素值的分布情况,从而能够根据分布情况,快速对多个原始像素值进行排序,提高确定像素值范围的速度。并且,通过确定像素值范围,过滤掉了部分原始像素值,避免了对第一图像中全部的原始像素值进行处理,减少了需要处理的数据量。

并且,将第二像素值范围设置为第一图像的原始像素值范围,能够保证对第一像素值范围的多个原始像素值进行线性拉伸处理之后,得到的目标像素值仍然符合第一图像的像素值分布情况,避免第二像素值范围相对于第一图像的原始像素值范围较小,导致处理后的图像相对于第一图像丢失一些像素值。

并且,将过滤掉的小于第一像素值的原始像素值,设置为第二像素值范围的最小像素值,保证原来不大于第一像素值的多个原始像素值更新后的目标像素值仍然是最小的像素值;将过滤掉的大于第二像素值的原始像素值,设置为第二像素值范围的最大像素值,保证原来不小于第二像素值的多个原始像素值更新后的目标像素值仍然是最大的像素值,从而在实现色彩增强的同时,保证色彩增强后的图像颜色与色彩增强前的图像颜色没有偏差。

上述图2所示的实施例中,是将第一图像看作一个整体进行处理,在另一实施例中,由于图像包括多个通道,例如图像包括r通道、g通道和b通道,不同的通道中的像素值分布可能会存在不同,因此,需要分别对第一图像的每个通道进行处理,通过下述图3所示的实施例,对第一图像中每个通道的处理过程进行说明。

图3是本申请实施例提供的另一种图像处理方法的流程图。本申请实施例的执行主体为服务器。参见图3,该方法包括以下步骤:

301、对于第一图像中的任一通道,服务器按照该通道中的原始像素值从小到大的顺序,确定目标序号对应的第一备选像素值,按照该通道中的原始像素值从大到小的顺序,确定目标序号对应的第二备选像素值。

其中,目标序号的确定方式与上述图2所示的实施例中目标序号的确定方式类似。可选地,对于多个通道来说,每个通道对应的目标序号相同,或者不同。由于第一图像的颜色分布不同,第一图像中r通道、g通道和b通道的原始像素值的分布不同,此时不同通道的目标序号也可能存在不同。

在一种可能实现方式中,服务器获取通道对应的直方图,直方图用于指示通道中的每个原始像素值对应的像素点数量;按照每个原始像素值对应的像素点数量,对通道的原始像素值从小到大进行排序;按照每个原始像素值对应的像素点数量,对通道的原始像素值从大到小进行排序。例如,通道中的原始像素值0对应3个像素点,原始像素值1对应5个像素点,原始像素值2对应3个像素点,那么能够得到从小到大的排列顺序{0,0,0,1,1,1,1,1,2,2,2}。

本申请实施例中确定目标序号对应的备选像素值的实施方式,与上述图2所示的实施例中确定目标序号对应的像素值的实施方式类似,不同的是,本申请实施例中,确定的是第一备选像素值和第二备选像素值,后续还会判断第一备选像素值和第二备选像素值是否满足条件,如果满足条件则将第一备选像素值确定为第一像素值,将第二备选像素值确定为第二像素值,上述图2所示的实施例中确定的是第一像素值和第二像素值。

其中,如果第一备选像素值和第二备选像素值满足条件,则确定第一备选像素值为第一像素值,第二备选像素值为第二像素值。如果第一备选像素值和第二备选像素值不满足条件,则需要重新选取新的第一备选像素值和第二备选像素值。

302、服务器获取多个通道对应的像素值跨度中的最小像素值跨度。

其中,像素值跨度为第二备选像素值与第一备选像素值的差值,通道对应的像素值跨度越大,表示该通道被过滤掉的原始像素值越少,需要进行色彩增强的像素值范围越大,该通道对应的像素值跨度越小,表示该通道被过滤掉的原始像素值越多,需要进行色彩增强的像素值范围越小。其中,对于任一通道,能够采用上述步骤301的实施方式,得到对应的第一备选像素值和第二备选像素值。

在计算最小像素值跨度时,需要获取每个通道对应的像素值跨度,然后从多个像素值跨度中选取最小的像素值跨度。例如,对于第一图像的rgb通道,采用下述公式来获取最小像素值跨度:

其中,为最小像素值跨度,rmax为r通道的第二备选像素值,rmin为r通道的第一备选像素值,rmax为g通道的第二备选像素值,gmin为g通道的第一备选像素值,bmax为b通道的第二备选像素值,bmin为b通道的第一备选像素值,min(·)表示取最小值。

303、服务器分别获取参考像素值与每个像素值跨度的差值,将获取到的多个差值之和作为像素值总跨度。

其中,参考像素值为第一图像中的像素值范围中的最大像素值,例如,像素值范围为0-255,则参考像素值为255。参考像素值与像素值跨度的差值,表示通道中被过滤掉的原始像素值的范围,例如,对于第一图像的r通道,第二备选像素值为230,第一备选像素值为30,则像素值跨度为200,此时得到参考像素值与像素值跨度的差值55,即表示r通道中有55个像素值被过滤掉了。

将多个通道对应的差值之和作为像素值总跨度,像素值总跨度表示第一图像中被过滤掉的原始像素值的范围。像素值总跨度越大,表示被过滤掉的原始像素值越多,像素值总跨度越小,表示被过滤掉的原始像素值越少。

例如,对于第一图像的rgb通道,采用下述公式来获取像素值总跨度:

disall=255×3-(rmax+gmax+bmax-rmin-gmin-bmin)=255-(rmax-rmin)+255-(gmax-gmin)+255-(bmax-bmin)

其中,disall为像素值总跨度,rmax为r通道的第二备选像素值,rmin为r通道的第一备选像素值,gmax为g通道的第二备选像素值,gmin为g通道的第一备选像素值,bmax为b通道的第二备选像素值,bmin为b通道的第一备选像素值。

304、若最小像素值跨度小于第一参考数值,且像素值总跨度大于第二参考数值,服务器将通道对应的第一备选像素值确定为第一像素值,将通道对应的第二备选像素值确定为第二像素值。

最小像素值跨度表示需要进行色彩增强的像素值范围,如果最小像素值跨度大于第一参考数值,则需要对第一图像中较多的像素值进行线性拉伸处理,为了较少需要处理的像素值的数量,需要使最小像素值小于第一参考数值,并且,由于最小像素值跨度是指其中一个通道的像素值跨度,对于第一图像整体而言,需要考虑每个通道的情况,因此,还需要使像素值总跨度大于第二参考数值,以保证多个通道处理的像素值均较少。其中,第一参考数值和第二参考数值为任一数值,例如,第一参考数值和第二参考数值均为150。

在一种可能实现方式中,为了避免最小像素值跨度太小,或者像素值总跨度太大,导致处理的像素值数量过少,无法起到图像增强效果,还需要保证确定的最小像素值跨度是满足条件的多个最小像素值跨度中最大的,避免第一像素值范围较大,增强过度。也就是说,在采用上述步骤301中确定备选像素值时,需要设置一个较小的目标序号,即先得到每个通道对应的较小的第一备选像素值和较大的第二备选像素值,使得到的最小像素值跨度较大,然后确定最小像素值跨度和像素值总跨度是否满足条件,如果满足条件则执行步骤305。

如果不满足条件,则重新确定备选像素值,逐渐减小最小像素值跨度,直至得到的最小像素值跨度满足条件,则不再继续确定新的备选像素值。也就是说,如果最小像素值跨度不小于第一参考数值或像素值总跨度不大于第二参考数值,服务器增大目标序号,重新确定增大后的目标序号对应的第一备选像素值和第二备选像素值,直至得到的最小像素值跨度小于第一参考数值,且得到的像素值总跨度大于第二参考数值,将每个通道对应的第一备选像素值确定为第一像素值,将每个通道对应的第二备选像素值确定为第二像素值。即根据增大后的目标序号,重新执行步骤301,直至得到的最小像素值跨度和像素值总跨度满足条件。

需要说明的是,上述步骤301-步骤304为任一次选取第一备选像素值和第二备选像素值,并确定第一备选像素值和第二备选像素值是否满足条件的过程。也就是说,步骤301中目标序号是第一次确定的,或者是已经调整后的。

需要说明的另一点是,上述步骤301-步骤304是一种确定第一像素值和第二像素值的方式,在另一实施例中,服务器还能够采用其他方式,按照通道中的原始像素值从小到大的顺序,确定目标序号对应的第一像素值,按照通道中的原始像素值从大到小的顺序,确定目标序号对应的第二像素值。例如,按照通道中的原始像素值从小到大的顺序,直接将目标序号对应的原始像素值作为第一像素值,按照通道中的原始像素值从大到小的顺序,直接将目标序号对应的原始像素值作为第二像素值;或者,根据通道中的原始像素值的分布情况,确定目标序号,然后再根据排序后的原始像素值,确定对应的第一像素值和第二像素值。

305、服务器将第一像素值作为第一像素值范围的最小像素值,将第二像素值作为第一像素值范围的最大像素值,得到第一像素值范围。

服务器确定最小像素值跨度和像素值总跨度满足条件之后,直接将第一像素值作为第一像素值范围的最小像素值,将第二像素值作为第一像素值范围的最大像素值。

在另一实施例中,为了进一步提高确定的最小像素值和最大像素值的准确率,考虑第一图像的整体情况,分别对每个通道的最小像素值和最大像素值进行调整,以使每个通道调整后的像素值即满足该通道的情况,又综合考虑了第一图像的整体情况。

服务器获取多个通道对应的多个第一像素值中的最小像素值以及对应的多个第二像素值中的最大像素值;根据调整系数和多个第一像素值中的最小像素值,分别对多个第一像素值进行调整,得到多个调整后的第一像素值;根据调整系数和多个第二像素值中的最大像素值,分别对多个第二像素值进行调整,得到多个调整后的第二像素值。其中,多个通道对应的最小像素值和多个通道对应的最大像素值能够表示第一图像的整体色彩的偏向。

例如,最大像素值为r通道对应的第二像素值,则表示在第一图像中红色对应的像素值较大,第一图像的整体色彩可能偏向于红色,在对g通道的像素值进行调整时,如果将g通道的像素值增大,那么会导致第一图像调整后的色彩可能偏向于蓝色,会改变第一图像的色彩。

例如,对于第一图像的rgb通道,采用下述公式分别对每个通道的最大像素值和最小像素值进行调整:

首先,获取多个通道对应的最大像素值和对应的最小像素值:

maxrgb=max(rmax,gmax,bmax)

minrgb=min(rmin,gmin,bmin)

其中,maxrgb为多个通道对应的最大像素值,minrgb为多个通道对应的最小像素值,rmax为r通道的第二像素值,rmin为r通道的第一像素值,gmax为g通道的第二像素值,gmin为g通道的第一像素值,bmax为b通道的第二像素值,bmin为b通道的第一像素值。

然后,根据调整系数p分别对每个通道的第一像素值和第二像素值进行调整,得到调整后的第一像素值和调整后的第二像素值:

rmaxrefined=rmax×p+maxrgb×(1-p);

gmaxrefined=gmax×p+maxrgb×(1-p);

bmaxrefined=bmax×p+maxrgb×(1-p);

rminrefined=rmin×p+minrgb×(1-p);

gminrefined=gmin×p+minrgb×(1-p);

bminrefined=bmin×p+minrgb×(1-p);

其中,rmaxrefined为r通道调整后的第二像素值,gmaxrefined为g通道调整后的第二像素值,bmaxrefined为b通道调整后的第二像素值,rminrefined为r通道调整后的第一像素值,gminrefined为g通道调整后的第一像素值,bminrefined为b通道调整后的第一像素值。

其中,对于每个通道,调整系数p越大,表示在确定调整后的像素值时通道的第一像素值或第二像素值的影响越大,则调整后图像的色彩变化越大。

例如,基于上述举例,最大像素值为r通道对应的第二像素值,p为1,对于g通道来说,调整后的g通道对应的最大像素值与第二像素值相差较多,那么g通道中会有比较多的原始像素值增大,会导致第一图像调整后的色彩可能偏向于蓝色,从而改变第一图像的色彩;但是如果p为0.1,对于g通道来说,调整后的g通道对应的最大像素值与第二像素值之间相差较小,那么g通道中会有比较少的原始像素值增大,在对g通道进行色彩增强的同时,还保证了色彩增强后的图像的色彩偏差没有增大。

服务器在得到调整后的第一像素值和调整后的第二像素值之后,将调整后的第一像素值作为第一像素值范围的最小像素值,将调整后的第二像素值作为第一像素值范围的最大像素值,得到第一像素值范围。

306、服务器确定第二像素值范围与该通道对应的第一像素值范围之间的拉伸比例。

步骤306的实施方式与上述图2所示的实施例中步骤202的实施方式类似,不同的是,本申请实施例中的第一像素值范围是通道对应的第一像素值范围。

307、服务器根据拉伸比例,对通道中属于第一像素值范围的原始像素值进行线性拉伸处理,得到通道中原始像素值对应的目标像素值。

步骤307的实施方式与上述图2所示的实施例中步骤203的实施方式类似,不同的是,本申请实施例中是针对通道对应的原始像素值进行线性拉伸处理。

例如,对于第一图像的rgb通道,第二像素值范围为0-255,采用下述公式分别对每个通道中属于第一像素值范围的多个原始像素值进行线性拉伸处理:

其中,rrefined(x,y)为r通道中每个原始像素值对应的目标像素值,r(x,y)为r通道中的原始像素值,rmaxrefined为r通道的第一像素值范围的最大像素值,rminrefined为r通道的第一像素值范围的最小像素值。

其中,grefined(x,y)为g通道中每个原始像素值对应的目标像素值,g(x,y)为g通道中的原始像素值,gmaxrefined为g通道的第一像素值范围的最大像素值,gminrefined为g通道的第一像素值范围的最小像素值。

其中,brefined(x,y)为b通道中每个原始像素值对应的目标像素值,b(x,y)为b通道中的原始像素值,bmaxrefined为b通道的第一像素值范围的最大像素值,bminrefined为b通道的第一像素值范围的最小像素值。

308、服务器将通道中的原始像素值更新为对应的目标像素值,得到色彩增强后的第二图像。

对于每个通道,将通道中的多个原始像素值更新为对应的目标像素值,从而得到色彩增强后的第二图像。

另外,在一种可能实现方式中,将通道中小于第一像素值的多个原始像素值更新为第一参考像素值;将通道中大于第二像素值的多个原始像素值更新为第二参考像素值;其中,第一参考像素值小于第一像素值范围中的最小像素值,第二参考像素值大于第一像素值范围中的最大像素值。实施方式与上述步骤203中的实施方式类似,在此步骤赘述,不同的是,本申请实施例是对任一通道中的原始像素值进行更新。

需要说明的是,对于第一图像中的每个通道,均能够采用上述步骤301-307的实施方式进行处理,得到每个通道对应的目标像素值。

本申请实施例提供的方法,能够针对第一图像中的任一通道,确定该通道中需要进行色彩增强处理的原始像素值的像素值范围,从而对该像素值范围内的原始像素值进行线性拉伸处理,实现对该通道的色彩增强,从而提高了第一图像的显示效果。并且,确定需要处理的像素值范围,避免了对通道中全部的原始像素值进行处理,较少了需要处理的数据量。

并且,在确定像素值范围时,通过对最小像素值跨度和像素值总跨度进行限制,将像素值范围限制在一个合理的范围内,避免造成增强效果不明显或增强过度的问题。对像素值范围进行调整,保证对调整后的像素值范围进行处理,既能够实现色彩增强,又使色彩增强后的图像颜色不会产生较大的偏差。

上述图2和图3所示的实施例中,直接对第一图像进行处理,在另一实施例中,在对第一图像进行处理之前,需要确定第一图像对应的亮度类型,不同的亮度类型采用不同的图像处理方式进行处理,通过下述图4所示的实施例,对亮度类型的确定过程和图像处理过程进行说明。

图4是本申请实施例提供的另一种图像处理方法的流程图。本申请实施例的执行主体为服务器。参见图4,该方法包括以下步骤:

401、服务器对目标视频进行场景分割,得到目标视频中的至少一个视频片段。

其中,每个视频片段中包括属于同一场景的至少一个图像,场景是指拍摄的内容连续的画面。

在一种可能实现方式中,对目标视频中相邻的两个图像作差,得到帧差图像,根据帧差图像,能够获取到图像中同一对象在不同时刻的位置,根据同一对象的位置变化情况来判断这两个图像是否属于同一场景。如果相邻的两个图像属于同一场景,那么位置变化会较小,如果相邻的两个图像属于不同场景,那么位置变化会较大,甚至两个图像中不包含同一对象。

402、服务器对包括第一图像的视频片段进行亮度检测,确定视频片段对应的亮度类型。

其中,亮度类型包括正常类型或异常类型。正常类型是指第一图像的整体亮度正常,需要对进行进一步调整使第一图像的亮度更加均衡。异常类型是指第一图像整体过亮或过暗,需要将整体亮度降低或增大。

在一种可能实现方式中,服务器分别对视频片段中的每个图像进行检测,得到每个图像的亮度;根据每个图像的亮度与参考亮度范围,确定视频片段对应的亮度类型。其中,参考亮度范围是指亮度正常的范围。

若视频片段中的任一图像的亮度不属于参考亮度范围,确定视频片段对应的亮度类型为异常类型,也就是说,一个视频片段中只要有一个图像的亮度异常,那么则认为该视频片段的亮度异常。或者,若视频片段中的每个图像的亮度均属于参考亮度范围,确定视频片段对应的亮度类型为正常类型。

在另一种可能实现方式中,由于视频中存在人脸时,会更加关注人脸区域,因此,对于有人脸区域的视频片段,在确定亮度类型时,首先需要考虑人脸区域的亮度。若视频片段中包括人脸区域,对人脸区域进行亮度检测,确定人脸区域对应的亮度;根据人脸区域对应的亮度与参考亮度范围,确定人脸区域对应的亮度类型,将人脸区域对应的亮度类型确定为视频片段对应的亮度类型。

403、服务器将视频片段对应的亮度类型,作为第一图像对应的亮度类型。

本申请实施例中,为了保证同一视频片段亮度的均衡,对同一视频片段中的多个图像采用相同的图像处理方式进行处理,那么每个图像的亮度类型均为该同一视频片段的亮度类型。

404、若第一图像对应的亮度类型为正常类型,服务器采用第一图像处理方式对第一图像进行处理,得到色彩增强后的第二图像。

本申请实施例中,为了能够更加准确地对目标视频进行处理,针对目标视频中不同亮度类型的视频片段,采用不同的图像处理方式进行处理。如果第一图像对应的亮度类型为正常类型,采用上述图2或图3所示的实施例对第一图像进行处理,得到色彩增强后的第二图像,实施方式与上述图2或图3所示的实施方式类似,在此不再赘述。

405、若第一图像对应的亮度类型为异常类型,服务器采用第二图像处理方式对第一图像进行处理,得到色彩增强后的第三图像。

如果第一图像对应的亮度类型为异常类型,将第一图像从rgb通道转换为lab通道,lab通道中的l通道表示第一图像中每个像素点的亮度。由于异常类型为第一图像整体亮度过亮或过暗,因此,需要对l通道,即第一图像的亮度进行调整。

服务器按照调整参数,增大l通道中小于参考亮度的亮度,减小l通道中大于参考亮度的亮度,得到每个像素点调整后的亮度;根据每个像素点调整后的亮度,确定调整后的lab通道;将调整后的lab通道转换为对应的rgb通道,得到色彩增强后的第三图像。

其中,由于第一图像为过亮或过暗的图像,在调整第一图像的亮度时,需要将原来较大的亮度减小,将原来较小的亮度增大,以使调整后的图像不会过亮也不会过暗。其中,以参考亮度为标准,将大于参考亮度的亮度减小,将小于参考亮度的亮度增大,该参考亮度为亮度范围内的任一数值。例如,参考亮度为126、130等。

例如,参见图5所示的示意图,像素点的亮度范围为0-255,其中,0表示最暗,255表示最亮,横坐标表示调整前的原始亮度,纵坐标表示调整后的目标亮度,虚线表示的是进行调整前的亮度曲线51,实线表示的是进行调整后的亮度曲线52。亮度曲线51和亮度曲线52经过图5中所示的中心点,并以中心点为对称中心,根据调整参数h调节亮度曲线51,得到调整后的亮度曲线52。并且,通过调节调整参数h的大小,来调整色彩增强的强度,h越大表示调整强度越强。

参见图6(图6中没有示出图像的颜色),左侧的图像601为进行色彩增强前的图像,右侧的图像602为进行色彩增强后的图像,能够明显看出,左侧的图像601较暗,而右侧的图像602亮度较为正常。

另外,在一种可能实现方式中,由服务器对目标视频中的每个图像采用上述与第一图像类似的方式进行处理之后,再将多个图像按照顺序进行拼接,得到色彩增强后的目标视频。之后服务器能够将目标视频发送给终端,由终端播放目标视频。

本申请实施例提供的方法,在对目标视频进行色彩增强时,能够获取目标视频中不同视频片段的亮度类型,针对不同的亮度类型分别采用对应的处理方式进行处理,更加有针对性,使每个视频片段均能够合适的处理方式进行处理,从而使目标视频有较好的处理效果,与采用同一种处理方式处理目标视频相比,避免了处理方式对有些视频片段处理效果较好,而对有些视频片段处理效果较差的问题。

另外,需要说明的是,上述图2、图3和图4所示的实施例仅是以执行主体为服务器为例进行说明,在另一实施例中,执行主体为终端。

图7是本申请实施例提供的一种图像处理装置的结构示意图。参见图7,该装置包括:

范围确定模块701,用于根据第一图像中的原始像素值的分布情况,确定第一像素值范围,第一像素值范围为第一图像中进行色彩增强的像素值的范围;

拉伸比例确定模块702,用于确定第二像素值范围与第一像素值范围之间的拉伸比例,第一像素值范围与第二像素值范围不同,且第二像素值范围包括第一像素值范围;

像素值拉伸模块703,用于根据拉伸比例,对第一图像中属于第一像素值范围的原始像素值进行线性拉伸处理,得到原始像素值对应的目标像素值,目标像素值属于第二像素值范围;

色彩增强模块704,用于将第一图像中的原始像素值更新为对应的目标像素值,得到色彩增强后的第二图像。

本申请实施例提供的装置,能够确定第一图像中需要增强色彩的像素值范围,从而按照拉伸比例,对该像素值范围内的原始像素值进行线性拉伸处理,实现对第一图像的色彩增强,提高了第一图像的显示效果。

可选地,拉伸比例确定模块702,用于:

确定第一像素值范围对应的第一像素值跨度,第一像素值跨度为第一像素值范围中的最大像素值与最小像素值之间的差值;

确定第二像素值范围对应的第二像素值跨度,第二像素值跨度为第二像素值范围中的最大像素值与最小像素值之间的差值;

将第二像素值跨度与第一像素值跨度之间的比例,确定为拉伸比例。

可选地,像素值拉伸模块703,用于:

确定原始像素值对应的目标数值,目标数值为原始像素值与第一像素值范围中的最小像素值之间的差值;

获取目标数值与拉伸比例之间的乘积,将乘积与第二像素值范围中的最小像素值之和,确定为目标像素值。

可选地,参见图8,范围确定模块701,包括:

像素值确定单元7011,用于根据第一图像中的原始像素值的分布情况,从第一图像中选取第一像素值和第二像素值,第二像素值大于第一像素值;

范围确定单元7012,用于将第一像素值作为第一像素值范围的最小像素值,将第二像素值作为第一像素值范围的最大像素值,得到第一像素值范围;或者,

范围确定单元7012,还用于根据调整系数,对第一像素值和第二像素值进行调整,得到调整后的第一像素值和调整后的第二像素值,将调整后的第一像素值作为第一像素值范围的最小像素值,将调整后的第二像素值作为第一像素值范围的最大像素值,得到第一像素值范围。

可选地,参见图8,像素值确定单元7011,用于按照第一图像中的原始像素值从小到大的顺序,确定目标序号对应的第一像素值,按照第一图像中的原始像素值从大到小的顺序,确定目标序号对应的第二像素值。

可选地,参见图8,该装置还包括:

序号确定模块705,用于获取参考比例与第一图像中的像素点数量的乘积,得到目标数量,将目标数量作为目标序号。

可选地,参见图8,第一图像包括多个通道,像素值确定单元7011,用于对于每个通道,按照通道中的原始像素值从小到大的顺序,确定目标序号对应的第一像素值,按照通道中的原始像素值从大到小的顺序,确定目标序号对应的第二像素值。

可选地,参见图8,像素值确定单元7011,用于:

对于每个通道,按照通道中的原始像素值从小到大的顺序,确定目标序号对应的第一备选像素值,按照通道中的原始像素值从大到小的顺序,确定目标序号对应的第二备选像素值;

获取多个通道对应的像素值跨度中的最小像素值跨度,像素值跨度为第二备选像素值与第一备选像素值的差值;

分别获取参考像素值与每个像素值跨度的差值,将获取到的多个差值之和作为像素值总跨度;

若最小像素值跨度小于第一参考数值,且像素值总跨度大于第二参考数值,将每个通道对应的第一备选像素值确定为第一像素值,将每个通道对应的第二备选像素值确定为第二像素值。

可选地,参见图8,像素值确定单元7011,用于:

若最小像素值跨度不小于第一参考数值或像素值总跨度不大于第二参考数值,增大目标序号,重新确定增大后的目标序号对应的第一备选像素值和第二备选像素值,直至得到的最小像素值跨度小于第一参考数值,且得到的像素值总跨度大于第二参考数值,将每个通道对应的第一备选像素值确定为第一像素值,将每个通道对应的第二备选像素值确定为第二像素值。

可选地,参见图8,拉伸比例确定模块702,用于确定第二像素值范围与通道对应的第一像素值范围之间的拉伸比例;

像素值拉伸模块703,用于根据拉伸比例,对通道中属于第一像素值范围的原始像素值进行线性拉伸处理,得到通道中原始像素值对应的目标像素值。

可选地,参见图8,该装置还包括:

直方图获取模块706,用于对于每个通道,获取通道对应的直方图,直方图用于指示通道中的每个原始像素值对应的像素点数量;

排序模块707,用于按照每个原始像素值对应的像素点数量,对通道的原始像素值从小到大进行排序;

排序模块707,还用于按照每个原始像素值对应的像素点数量,对通道的原始像素值从大到小进行排序。

可选地,参见图8,该装置还包括:

像素值调整模块708,用于获取多个通道对应的多个第一像素值中的最小像素值以及对应的多个第二像素值中的最大像素值;

像素值调整模块708,还用于根据调整系数和多个第一像素值中的最小像素值,分别对多个第一像素值进行调整,得到多个调整后的第一像素值;

像素值调整模块708,还用于根据调整系数和多个第二像素值中的最大像素值,分别对多个第二像素值进行调整,得到多个调整后的第二像素值。

可选地,色彩增强模块704,还用于:

将第一图像中小于第一像素值的多个原始像素值更新为第一参考像素值;

将第一图像中大于第二像素值的多个原始像素值更新为第二参考像素值;

其中,第一参考像素值小于第一像素值范围中的最小像素值,第二参考像素值大于第一像素值范围中的最大像素值。

可选地,范围确定模块701,用于若第一图像对应的亮度类型为正常类型,执行根据第一图像中的原始像素值的分布情况,确定第一像素值范围的步骤。

可选地,参见图8,该装置还包括:

通道转换模块709,用于若第一图像对应的亮度类型为异常类型,将第一图像从rgb通道转换为lab通道,lab通道中的l通道表示第一图像中每个像素点的亮度;

亮度调整模块710,用于按照调整参数,增大l通道中小于参考亮度的亮度,减小l通道中大于参考亮度的亮度,得到每个像素点调整后的亮度;

通道确定模块711,用于根据每个像素点调整后的亮度,确定调整后的lab通道;

色彩增强模块704,还用于将调整后的lab通道转换为对应的rgb通道,得到色彩增强后的第三图像。

可选地,第一图像为目标视频中的任一图像,参见图8,该装置还包括:

视频分割模块712,用于对目标视频进行场景分割,得到目标视频中的至少一个视频片段,每个视频片段中包括属于同一场景的至少一个图像;

类型确定模块713,用于对包括第一图像的视频片段进行亮度检测,确定视频片段对应的亮度类型,亮度类型包括正常类型或异常类型;

类型确定模块713,还用于将视频片段对应的亮度类型,作为第一图像对应的亮度类型。

可选地,参见图8,类型确定模块713,用于:

对视频片段中的每个图像进行检测,得到每个图像的亮度;

根据每个图像的亮度与参考亮度范围,确定视频片段对应的亮度类型。

可选地,参见图8,类型确定模块713,用于:

若视频片段中的任一图像的亮度不属于参考亮度范围,确定视频片段对应的亮度类型为异常类型;或者,

若视频片段中的每个图像的亮度均属于参考亮度范围,确定视频片段对应的亮度类型为正常类型。

可选地,参见图8,类型确定模块713,用于:

若视频片段中包括人脸区域,对人脸区域进行亮度检测,确定人脸区域对应的亮度;

根据人脸区域对应的亮度与参考亮度范围,确定人脸区域对应的亮度类型,将人脸区域对应的亮度类型确定为视频片段对应的亮度类型。

可选地,参见图8,该装置还包括:

饱和度调整模块714,用于对第二图像进行饱和度调整,得到饱和度调整后的第四图像。

可选地,第一图像为目标视频中的任一图像,该装置还包括:

图像拼接模块715,用于将目标视频中色彩增强后的多个图像按照顺序进行拼接,得到色彩增强后的目标视频。

上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的图像处理装置在处理图像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像处理装置与图像处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图9是本申请实施例提供的一种终端900的结构示意图。该终端900可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

终端900包括有:处理器901和存储器902。

处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。在一些实施例中,处理器901还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器901所执行以实现本申请中方法实施例提供的图像处理方法。

在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。

外围设备接口903可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路904用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏905用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置在终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在另一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。

定位组件908用于定位终端900的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件908可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。

加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3d动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器913可以设置在终端900的侧边框和/或显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置在终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商logo时,指纹传感器914可以与物理按键或厂商logo集成在一起。

光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。

接近传感器916,也称距离传感器,设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图10是本申请实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1001和一个或一个以上的存储器1002,其中,存储器1002中存储有至少一条程序代码,该至少一条程序代码由处理器1001加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

服务器1000可以用于执行上述图像处理方法中服务器所执行的步骤。

本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的图像处理方法中所执行的操作。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的图像处理方法中所执行的操作。

本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得计算机设备实现上述实施例的图像处理方法中所执行的操作。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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