CN114359087A - 一种图像处理方法、装置、设备及介质 - Google Patents
一种图像处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114359087A CN114359087A CN202111635649.7A CN202111635649A CN114359087A CN 114359087 A CN114359087 A CN 114359087A CN 202111635649 A CN202111635649 A CN 202111635649A CN 114359087 A CN114359087 A CN 114359087A
- Authority
- CN
- China
- Prior art keywords
- region
- sub
- value
- image
- pixel point
- 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
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
本申请一些实施例提供了一种图像处理方法、装置、设备及介质,由于在本申请一些实施例中对针对待处理图像中的每个子区域,根据该子区域内每个像素点的灰度值,确定该区域是亮度较高区域还是亮度较低区域,根据该子区域的亮度确定对第一裁剪限制值进行放大或者缩小处理得到第二裁剪限制值,使每个子区域都对应不同的第二裁剪限制值,从而基于CLAHE对图像进行处理时,能够明显提升图像中亮度较低区域亮度的同时,依然保持图像中原亮度较高区域的亮度。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法、装置、设备及介质。
背景技术
在低照度环境下,拍摄出的图像往往偏暗,很多细节呈现不出来,为了能够提高拍摄出的图像的亮度,现有技术中可以使用自适应直方图均衡(Adaptive HistogramEqualization,AHE)技术来对拍摄出的图像进行处理,但是AHE在增强图像对比度的同时也会增强图像区域的噪声。
对于拍摄出的图像中的每个子区域来说,基于AHE可以提高每个子区域内图像的亮度,子区域内像素值越高,所表示的图像区域亮度越高,但是采用AHE对每个子区域进行处理后,会导致每个子区域很亮,同时噪声也会暴露出来,效果反而不好。
因此现有技术中为了改进AHE带来的问题,提出了限制对比度自适应直方图增强(Contrast Limited Adaptive Histogram Equalization,CLAHE),其核心在于CLAHE运用对比度限幅,以达到限制方法幅度的目的,同时避免过度引入噪声。CLAHE采用裁剪限制值(ClipLimit)对AHE得到的直方图进行剪裁,限制了累计直方图的斜度,因此也限制了变换函数的斜度。
但是,CLAHE对拍摄出的图像中的每个子区域使用的是相同的ClipLimit,CLAHE对于每个子区域的可控性不强,不能在明显提高图像中亮度偏低部分亮度的同时,依然保持图像中原亮度偏高部分。
因此,如何基于CLAHE对拍摄的图像进行处理,并且能够实现在明显提高图像中亮度偏低部分亮度的同时,依然保持图像中原亮度偏高部分成为亟待解决的问题。
发明内容
本申请实施提供一种图像处理方法、装置、设备及介质,用以解决现有技术中基于CLAHE对拍摄的图像进行处理时,不能在明显提高图像中亮度偏低部分亮度的同时,依然保持图像中原亮度偏高部分的问题。
第一方面,本申请提供了一种图像处理方法,所述方法包括:
对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域;获取限制对比度自适应直方图增强CLAHE的第一裁剪限制值;
针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域;若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值;
根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。
第二方面,本申请还提供了一种图像处理装置,所述装置包括:
获取模块,用于对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域;获取限制对比度自适应直方图增强CLAHE的第一裁剪限制值;
确定模块,用于针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域;若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值;
增强模块,用于根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。
第三方面,本申请还提供了一种终端设备,所述终端设备至少包括处理器和显示单元,所述处理器用于执行存储器中存储的计算机程序时实现上述任一所述的图像处理方法的步骤,所述显示单元用于显示增强后的图像。
第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的图像处理方法的步骤。
本申请一些实施例提供了一种图像处理方法、装置、设备及介质,该方法中对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域,获取限制对比度自适应直方图增强CLAHE的第一裁剪限制值,针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域,若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值,根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。由于在本申请一些实施例中对针对待处理图像中的每个子区域,根据该子区域内每个像素点的灰度值,确定该区域是亮度较高区域还是亮度较低区域,根据该子区域的亮度确定对第一裁剪限制值进行放大或者缩小处理得到第二裁剪限制值,使每个子区域都对应不同的第二裁剪限制值,从而基于CLAHE对图像进行处理时,能够明显提升图像中亮度较低区域亮度的同时,依然保持图像中原亮度较高区域的亮度。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一些实施例提供的图像处理过程示意图;
图2为本申请一些实施例提供的对待处理图像经过分块处理后的示意图;
图3a为本申请一些实施例提供的子区域1的直方图;
图3b为本申请一些实施例提供的采用AHE确定的子区域1的变换函数对应的折线图;
图3c为本申请一些实施例提供的采用CLAHE确定的子区域1的截断直方图;
图3d为本申请一些实施例提供的采用CLAHE确定的子区域1的变换函数对应的折线图;
图4a为本申请一些实施例提供的CLAHE剪裁前直方图的示意图;
图4b为本申请一些实施例提供的CLAHE剪裁后直方图的示意图;
图5a为本申请一些实施例提供的子区域2的直方图;
图5b为本申请一些实施例提供的采用CLAHE确定的子区域2的截断直方图;
图5c为本申请一些实施例提供的采用CLAHE确定的子区域2的变换函数对应的折线图;
图6a为本申请一些实施例提供的采用本申请一些实施例的方法确定的子区域1的截断直方图;
图6b为本申请一些实施例提供的采用本申请一些实施例的方法确定的子区域1的变换函数对应的折线图;
图6c为本申请一些实施例提供的采用本申请一些实施例的方法确定的子区域2的截断直方图;
图6d为本申请一些实施例提供的采用本申请一些实施例的方法确定的子区域2的变换函数对应的折线图;
图7a为本申请一些实施例提供的插值计算方法的示意图;
图7b为本申请一些实施例提供的中心像素点的映射示意图;
图8为本申请一些实施例提供的图像处理过程的示意图;
图9a为本申请一些实施例提供的某一地点实拍原图;
图9b为本申请一些实施例提供的基于CLAHE对该实拍原图处理后的增强图像;
图9c为本申请一些实施例提供的采用本申请一些实施例的方式对该实拍原图处理后的增强图像;
图10为本申请一些实施例提供的图像处理装置的结构示意图;
图11为本申请一些实施例提供的一种终端设备结构示意图;
图12为本申请一些实施例的终端设备的软件结构框图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图,对本申请的实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请一些实施例提供了一种图像处理方法、装置、设备及介质,该方法中对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域,获取限制对比度自适应直方图增强CLAHE的第一裁剪限制值,针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域,若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值,根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。由于在本申请一些实施例中对针对待处理图像中的每个子区域,根据该子区域内每个像素点的灰度值,确定该区域是亮度较高区域还是亮度较低区域,根据该子区域的亮度确定对第一裁剪限制值进行放大或者缩小处理得到第二裁剪限制值,使每个子区域都对应不同的第二裁剪限制值,从而基于CLAHE对图像进行处理时,能够明显提升图像中亮度较低区域亮度的同时,依然保持图像中原亮度较高区域的亮度。
实施例1:
图1为本申请一些实施例提供的图像处理过程示意图,该过程具体包括以下步骤:
S101:对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域;获取CLAHE的第一裁剪限制值。
本申请一些实施例提供的图像处理过程应用于终端设备,该终端设备可以是支持摄像功能的终端,例如手机、平板电脑、可穿戴设备、笔记本电脑以及电视等设备。
当需要对图像进行处理时,为了使亮度较低区域的细节能够较好的展示出来,并保持亮度较高区域的图像,可以将待处理图像进行分块处理,即将待处理图像切分成若干个子区域,其中子区域的形状可以是规则的形状也可以是不规则的形状。为了方便可以将待处理图像切分成多个规则形状的子区域,例如子区域的形状可以是正方形,长方形等,每个子区域的大小可以相等也可以不相等,在之后的图像处理过程将针对每个子区域进行处理。
提高待处理图像中亮度较低区域的亮度比较有效的方法是CLAHE,但是CLAHE对每个子区域都使用的是相同的ClipLimit,忽略了每个子区域的亮度的差距,例如子区域A内的亮度较低,子区域B内的亮度较高,相同的ClipLimit使得子区域A能够有比较好的增强效果后,但子区域B不能达到期望的效果。
因此本申请一些实施例在CLAHE的基础上,为了达到最优的效果,可以获取基于CLAHE对该待处理图像进行调整时的ClipLimit,在之后的图像处理过程中将基于该ClipLimit,确定每个子区域对应的第二裁剪限制值,并根据每个子区域对应的第二裁剪限制值对每个子区域进行处理。为了方面描述可以将该ClipLimit称为第一裁剪限制值,其中第一裁剪限制值是基于CLAHE方法,对待处理图像处理时根据待处理图像期望达到的效果确定的,该第一裁剪限制值可以是整数也可以是小数,例如该第一裁剪限制值可以是40,也可以是2,本领域的技术人员可以根据实际需要进行调整,只要能够较好的图像增强效果即可。
S102:针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域;若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值。
为了使每个子区域都能够达到期望的效果,获取到了待处理图像中包含的每个子区域后,可以针对每个子区域,分别确定每个子区域对应的第二裁剪限制值。
在本申请一些实施例中,待处理图像为灰度图像,若接收到的待处理图像非灰度图像,可以将该待处理图像转换为灰度图像,针对该转换后的待处理图像进行后续处理。灰度图像中灰度值越高看上去亮度越高,灰度值越低看上去亮度越低,因此亮度较低的子区域中像素点的灰度值大多集中在低灰度值部分,亮度较高的子区域中像素点的灰度值大多集中在高灰度值部分。
因此可以根据每个子区域包含的像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域。具体的,可以计算该子区域内包含的像素点的灰度值的平均灰度值,根据该子区域的平均灰度值是否大于预设阈值,确定该子区域是亮度较高区域还是亮度较低区域,该预设阈值可以是128。若该子区域内包含的像素点的平均灰度值大于预设阈值,则可以认为该子区域是亮度较高区域,同样的,若该子区域内包含的像素点的平均灰度值小于预设阈值,则可以认为该子区域是亮度较低区域。
确定了子区域是亮度较高区域还是亮度较低区域之后,可以根据子区域的亮度确定对第一裁剪限制值进行放大处理还是缩小处理,具体的,可以采用固定的缩放比例对第一裁剪限制值进行缩放处理,确定经过缩放处理后的第二裁剪限制值。其中,缩小比例可以是预先设定的大于0并且不大于1的一个具体数值,例如0.2,还可以是一个百分数,例如20%。具体的,若确定的子区域为亮度较高区域,则将第一裁剪限制值缩小20%,从而得到第二修剪限制值。放大比例可以是预先设定的大于1的一个具体数值,例如1.2,还可以是一个百分数,例如120%。具体的,若确定的子区域为亮度较低区域,则将第一裁剪限制值放大120%,从而得到第二修剪限制值。
还可以确定子区域的平均灰度值和预设阈值的差值,并设置不同的差值范围对应的比例系数,不同的差值范围对应的比例系数不同,因此当确定了差值后,确定差值对应的差值范围,根据该差值范围对应的比例系数,对第一裁剪限制值进行缩放处理得到第二裁剪限制值。可以预先将差值可能存在的范围进行划分,划分后的每个差值范围都对应着预先设定的一个比例系数,其中差值范围既可以是正值也可以是负值,当差值范围为正值的时候,代表需要对第一裁剪限制值进行放大处理,对应的比例系数可以确定为一个大于1的比例系数,例如113%;当差值范围为负值的时候,代表需要对第一裁剪限制值进行缩小处理,对应的比例系数可以确定为一个小于1的比例系数,例如85%。差值范围的最小值越大,则比例系数越大,反之,差值范围的最小值越小,则比例系数越小。
S103:根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。
确定了每个子区域对应的第二裁剪限制值后,可以针对每个子区域对应的第二裁剪限制值,对每个子区域进行图像处理,对每个子区域进行图像处理之后可以得到对应的增强图像。当确定了每个子区域的第二裁剪限制值后,对每个子区域进行图像处理为现有技术,在此不做赘述。
由于在本申请一些实施例中对针对待处理图像中的每个子区域,根据该子区域内每个像素点的灰度值,确定该区域是亮度较高区域还是亮度较低区域,根据该子区域的亮度确定对第一裁剪限制值进行放大或者缩小处理得到第二裁剪限制值,使每个子区域都对应不同的第二裁剪限制值,从而基于CLAHE对图像进行处理时,能够明显提升图像中亮度较低区域亮度的同时,依然保持图像中原亮度较高区域的亮度。
实施例2:
为了进一步提高图像增强的效果,在上述实施例的基础上,在本申请一些实施例中,所述根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域包括:
获取该子区域的累计直方图中像素点数量达到预设数量时对应的目标灰度值;
根据预设灰度值与所述目标灰度值的差值是否大于预设阈值,确定该子区域是亮度较高区域还是亮度较低区域。
获取到待处理图像包含的每个子区域之后,可以针对每个子区域,获取该子区域的累计直方图。对于灰度图像,一般灰度值的范围为0到255,因此可以统计该子区域中每个灰度值的像素点的数量,从而获取该子区域的累计直方图。其中,累计直方图的横坐标为灰度值,且灰度值从0至255均匀分布,纵坐标为像素点数量,该累计直方图中每个灰度值对应位置的像素点数量,是该灰度值及该灰度值之前的灰度值对应的像素点数量的和值。
例如,该子区域中灰度值为0的像素点有5个,灰度值为1的像素点为13个,灰度值为2的像素点为7个,则该子区域的累计直方图中,灰度值为0时对应的像素点数量为5;灰度值为1时对应的像素点数量为18,即灰度值为0的像素点个数与灰度值为1的像素点个数的累加值;灰度值为2时对应的像素点数量为25,即灰度值为0的像素点个数、灰度值为1的像素点个数与灰度值为2的像素点个数的累加值。
当确定了每个子区域的累计直方图后,针对每个子区域,确定该子区域的累计直方图中像素点数量达到预设数量时对应的目标灰度值。其中,该预设数量是根据该子区域包含的像素点的总数量确定的,较佳地,该数量的像素点的灰度值能够体现出来该子区域是亮度较低区域还是亮度较高区域。在本申请一些实施例中该预设数量可以是n/2,其中n为该子区域中包含的像素点的总数量。确定该子区域的累计直方图中像素点数量达到预设数量时对应的目标灰度值,可以理解为获取该子区域的累计直方图中像素点数量达到该子区域像素点总数量一半时对应的目标灰度值。
针对每个子区域,确定该子区域的累计直方图中像素点数量达到预设数量时对应的目标灰度值后,根据预设灰度值与该目标灰度值的差值,根据该差值及预设阈值,确定该子区域是亮度较高区域还是亮度较低区域。
在本申请一些实施例中为了确定每个子区域是亮度较高区域还是亮度较低区域,还设置有预设灰度值,在获取到子区域的目标灰度值之后,可以根据预设灰度值与目标灰度值,计算预设灰度值和目标灰度值的差值,并判断该差值是否大于预设阈值,从而根据判断结果确定该子区域是亮度较高区域还是亮度较低区域。
在上述各实施例的基础上,在本申请一些实施例中,所述根据预设灰度值与所述目标灰度值的差值是否大于预设阈值,确定该子区域是亮度较高区域还是亮度较低区域包括:
若预设灰度值与所述目标灰度值的差值大于预设阈值,确定该子区域是亮度较低区域;
若预设灰度值与所述目标灰度值的差值小于预设阈值,确定该子区域是亮度较高区域。
针对每个子区域,获取到了该子区域的累计直方图中像素点数量达到预设数量时对应的目标灰度值之后,可以计算预设灰度值和目标灰度值的差值,若该差值大于预设阈值,确定该子区域是亮度较高区域还是亮度较低区域。
具体的,在本申请一些实施例中该预设灰度值为灰度级256,预设阈值为128。若该预设灰度值与目标灰度值的差值大于预设阈值,说明该子区域中像素点的灰度值大多集中在低灰度值部分,则可以确定该子区域是亮度较低区域;若该预设灰度值与目标灰度值的差值小于预设阈值,说明该子区域中像素点的灰度值大多集中在低高度值部分,可以确定该子区域是亮度较高区域。
为了准确地确定对第一裁剪限制值缩放处理的程度,在上述各实施例的基础上,在本申请一些实施例中,对所述第一裁剪限制值进行缩放处理得到第二裁剪限制值包括:
确定所述差值与所述预设阈值的商值;
根据所述商值与所述第一裁剪限制值,确定为该子区域对应的第二裁剪限制值。
本申请一些实施例中,在亮度较低的子区域,灰度值主要集中在低灰度值部分,即在亮度较低的子区域中大部分像素点的灰度值是小于128的,即亮度较低的子区域中大部分像素点的灰度值是小于灰度级256的一半。在亮度较高的子区域,灰度值主要集中在高灰度值部分,即在亮度较高的子区域中大部分像素点的灰度值是大于128的。因此,在本申请一些实施例中为了准确地确定对第一裁剪限制值进行缩放处理的程度,在确定了预设灰度值与目标灰度值的差值之后,可以计算该差值与预设阈值的商值,并计算该商值与第一裁剪限制值的乘积,将该乘积确定为该子区域对应的第二裁剪限制值。
为了方便描述,可以将第二裁剪限制值的确定过程表示为:
其中,GrayScale表示灰度级256,HalfSizeGray表示该子区域内累计直方图到达子区域像素数一半时所对应的目标灰度值,ClipLimit表示第一裁剪限制值,CLIPLIMIT表示第二裁剪限制值。
现有技术中CLAHE对每个子区域都使用相同的ClipLimit,忽略了空域特性,相同的ClipLimit并不适用于每个子区域。因此,在本申请一些实施例中,为了充分利用子区域中照度信息,对于低照度的图像最优的处理方式是提高亮度较低区域的亮度,并保持亮度较高区域的亮度,所以在亮度较低的子区域,使用较大的第二裁剪限制值,该第二裁剪限制值是对ClipLimit进行放大处理后得到的,以减小被限制的程度,子区域整体灰度值越低,表示该区域越需要提升,即第二裁剪限制值应该越大。在亮度较高的子区域,使用较小的第二裁剪限制值,该第二裁剪限制值是对ClipLimit进行缩小处理后得到的,以增加被限制的程度,子区域整体灰度值越高,表示该区域不需要提升,即第二裁剪限制值应该越小。在本申请一些实施例中,针对每个子区域的ClipLimit进行重新调整,对亮度较低的子区域提高ClipLimit,对亮度较高的子区域降低ClipLimit,以达到最优的效果。
实施例3:
为了进一步提高图像增强的效果,在上述各实施例的基础上,在本申请一些实施例中,所述根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像包括:
针对每个子区域中的像素点,根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值,得到该子区域在增强图像中对应的子图像。
确定了每个子区域对应的第二裁剪限制值之后,为了能够确定每个像素点对应的增强后的灰度值,可以针对每个子区域中的像素点,根据该子区域对应的第二裁剪限制值,对该子区域的直方图中的像素点进行裁剪处理,从而确定截断直方图,截断直方图中包含了每个灰度值对应的像素点数量,基于该截断直方图可以确定截断后的变换函数,根据该变换函数及每个像素点的灰度值,可以计算出每个像素点增强后的灰度值。
具体的,图2为本申请一些实施例提供的对待处理图像经过分块处理后的示意图,如图2所示,子区域1为亮度较低区域,子区域2为亮度较高区域。图3a为本申请一些实施例提供的子区域1的直方图,该直方图的横坐标代表灰度值,纵坐标代表像素点数量,子区域1内亮度偏低,从该直方图中也可以看出,子区域1内像素点的灰度值主要集中在低灰度值部分。基于直方图可以确定累计直方图,并基于累计直方图确定子区域1的变换函数。图3b为本申请一些实施例提供的采用AHE确定的子区域1的变换函数对应的折线图,该折线图中横坐标代表输入的灰度值,纵坐标代表经过变换函数输出的灰度值,从图3b中可以明显看出,输入在(10,15)范围的灰度值,对应的输出灰度值被提高到了(100,200),代表着原来很暗的子区域1变得很亮,同时子区域1的噪声也会暴露出来,效果反而不好。
因此,为了解决AHE的弊端,在AHE的基础上提出了CLAHE处理方法,与AHE相比CLAHE提出采用设置的ClipLimit阈值的方法,对每个子区域的直方图进行裁剪,即将大于ClipLimit的像素点数量剪裁掉,并将剪裁掉的部分均匀分布到直方图的其它部分。图4a为本申请一些实施例提供的CLAHE剪裁前直方图的示意图,图4b为本申请一些实施例提供的CLAHE剪裁后直方图的示意图,图4a中编号1代表的区域为超出ClipLimit的部分,需要将该部分剪裁掉,然而并没有将剪裁掉的这部分直方图直接扔掉,而是采用了更妥当的方法,将这些被剪裁掉的部分重新均匀的分布到图4b中编号2代表的区域中,从而生成截断直方图。
另外,在这种重新分布的情况下,有可能导致部分区域再次超过ClipLimit,图4b中编号3代表的区域为再次超过ClipLimit的部分,这时就需要重新调大ClipLimit的数值以达到实际需要,直到超出的部分对图像处理的影响可以忽略不计,值得注意的是ClipLimit值越小,裁掉的部分越多,基于ClipLimit对直方图进行剪裁为现有技术,在此不再赘述。
基于上述提供的剪裁直方图的方法,可以对图3a中的直方图,根据ClipLimit进行剪裁,并将剪裁掉的部分重新均匀分布到直方图中,从而生成截断直方图,图3c为本申请一些实施例提供的采用CLAHE确定的子区域1的截断直方图,该截断直方图的横坐标代表灰度值,纵坐标代表像素点数量,ClipLimit的值为270,将图3a中大于270的像素点数量剪裁掉,例如被剪裁掉的像素点数量为5120,那么就可以计算每个灰度值需要均匀分布的像素点数量,即5120/256=20,将剪裁掉的部分重新均匀分布到直方图的每个灰度值中,从而生成截断直方图。基于该截断直方图可以确定子区域1截断后的变换函数。图3d为本申请一些实施例提供的采用CLAHE确定的子区域1的变换函数对应的折线图,该折线图中横坐标代表输入的灰度值,纵坐标代表经过变换函数输出的灰度值。
如图2所示,子区域1为亮度较低区域,子区域2为亮度较高区域,通过调整ClipLimit使子区域1达到了期望的效果后,其中ClipLimit即为CLAHE的第一裁剪限制值,该ClipLimit将也被应用于子区域2中,由图3d可知,子区域1内的灰度值有所提高,输入在(0,30)范围的灰度值,对应的输出灰度值被提高到了(0,60),并且从图3d中可以明显看出,输入在(10,15)范围的灰度值,对应的输出灰度值被提高到了(20,30),CLAHE只是适当提高了低灰度值部分的灰度值,并且没有过度放大噪声。
图5a为本申请一些实施例提供的子区域2的直方图,该直方图的横坐标代表灰度值,纵坐标代表像素点数量,子区域2内亮度偏高,从该直方图中也可以看出来子区域2的灰度值主要集中在高灰度值部分。对图5a中的直方图根据ClipLimit进行剪裁,并将剪裁掉的部分重新均匀分布到直方图中,从而生成截断直方图。图5b为本申请一些实施例提供的采用CLAHE确定的子区域2的截断直方图,该截断直方图中横坐标代表灰度值,纵坐标代表像素点数量,应用于子区域2的ClipLimit为与子区域1的ClipLimit一样,ClipLimit的值为270,将图5a中大于270的像素点数量剪裁掉,将剪裁掉的部分重新均匀分布到直方图的每个灰度值中,从而生成截断直方图,基于截断直方图可以确定子区域2截断后的累计直方图,并基于该截断后的累计直方图确定子区域2截断后的变换函数。图5c为本申请一些实施例提供的采用CLAHE确定的子区域2的变换函数对应的折线图,其中该折线图中横坐标代表输入的灰度值,纵坐标代表经过变换函数输出的灰度值,从图5c中可以明显看出,子区域2内整体的灰度值都有所降低,输入在(90,135)范围的灰度值,对应的输出灰度值被降低到了(60,105),子区域2的效果更差,不能使子区域2达到期望效果。
对待处理图像最优的处理方式为提高亮度较低区域的亮度并保持亮度较高区域的亮度,在本申请一些实施例中,针对每个子区域都采用不同的第二裁剪限制值对子区域的图像进行处理。图6a为本申请一些实施例提供的采用本申请一些实施例的方法确定的子区域1的截断直方图,针对子区域1,采用本申请一些实施例提供的方法,确定的第二裁剪限制值为420,基于该第二裁剪限制值对子区域1的直方图进行剪裁,可以确定子区域1的截断直方图,基于图6a可以确定子区域1截断后的变换函数。图6b为本申请一些实施例提供的采用本申请一些实施例的方式确定的子区域1的变换函数对应的折线图,该折线图中子区域1内的灰度值有了更大的提高,输入在(0,30)范围的灰度值,对应的输出灰度值被提高到了(0,80)。图6c为本申请一些实施例提供的采用本申请一些实施例的方法确定的子区域2的截断直方图,针对子区域2,采用本申请一些实施例提供的方法,确定的第二裁剪限制值为109,基于该第二裁剪限制值对子区域2的直方图进行剪裁,可以确定子区域2的截断直方图,基于图6c可以确定子区域2截断后的变换函数。图6d为本申请一些实施例提供的采用本申请一些实施例的方法确定的子区域2的变换函数对应的折线图,该折线图中子区域2内的灰度值不仅没有提高也没有降低,而是输入与输出的灰度值保持持平的状态,输入在(0,30)范围的灰度值,对应的输出灰度值依然保持在(0,30)。
采用第二裁剪限制值对直方图进行裁剪,实际上就是限制了累计直方图的斜度,也就是限制了变换函数的斜率,第二裁剪限制值越小,直方图裁剪的越多,被裁剪掉的部分慢慢累积到直方图的底端,最终截断直方图的形状就趋向于一条水平的直线,在此基础上计算得到的变换函数就趋向于y=x这条直线,它的输入与输出是相等的,即第二裁剪限制值越小,被限制的程度越大,该子区域的亮度的放大程度就越小。
为了进一步提高图像增强的效果,在上述各实施例的基础上,在本申请一些实施例中,所述根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值之前,所述方法还包括:
判断该像素点是否为与其他子区域存在的相邻区域内的像素点;
若否,进行后续的根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值的过程。
由于本申请一些实施例提供的图像处理方法是针对每个子区域,确定每个子区域对应的第二裁剪限制值,每个子区域都对应着不同的第二裁剪限制值。在图像处理过程中是针对每个子区域,采用该子区域对应的第二裁剪限制值单独对该子区域内的像素点进行处理的,那么最终确定的待处理图像对应的增强图像的会在子区域之间产生缝隙,所以在本申请一些实施例中可以在根据该子区域对应的第二裁剪限制值,确定该像素点增强后的灰度值之前,判断一下该像素点是否为与其他子区域存在的相邻区域内的像素点,如果该像素点不是与其他子区域存在相邻区域的内的像素点,说明该像素点不与其他子区域邻近,后续的根据该子区域对应的第二裁剪限制值,确定该像素点增强后的灰度值的过程,不会带来子区域之间缝隙的问题,可以正常进行后续的根据该子区域对应的第二裁剪限制值,确定该像素点增强后的灰度值的过程。
子区域之间会产生缝隙,是由于针对子区域间边缘处的像素点,根据不同的第二裁剪限制值确定增强后的灰度值带来的,因此为了避免子区域之间产生缝隙,进一步提高图像增强的效果,在上述各实施例的基础上,在本申请一些实施例中,所述方法还包括:
若该像素点为与其他子区域存在的相邻区域内的像素点,根据该像素点的位置信息,所在子区域的中心像素点对应的增强后的灰度值,及相邻其他子区域的中心像素点对应的增强后的灰度值,确定插值处理后的该像素点增强后的灰度值。
在根据该子区域对应的第二裁剪限制值,确定该像素点增强后的灰度值之前,判断该像素点是否为与其他子区域存在的相邻区域内的像素点时,若该像素点为与其他子区域存在的相邻区域内的像素点,则需要对该像素点进行插值处理,可以根据该像素点的位置信息,确定插值处理过程中参数的数量,根据该像素点所在子区域的中心像素点对应的增强后的灰度值,及相邻其他子区域的中心像素点对应的增强后的灰度值,进行插值处理,从而确定插值处理后的该像素点增强后的灰度值。
在本申请一些实施例中,相邻区域是预先设置的。由于子区域的大小是已知的,可以针对子区域的大小预先对子区域进行分块处理,并针对每个子块的位置确定该子块是否为其他子区域的相邻区域,若该子块中存在与其他子区域的子块相邻的像素点,将该子块确定为相邻区域,并保存该相邻区域的位置范围。在图像处理过程中,针对子区域中的每个像素点,可以根据该像素点的位置信息以及相邻区域的位置范围,确定该像素点是否为位于该相邻区域内的像素点。
在本申请一些实施例中当每个子区域中心像素点对应的增强后的灰度值已知,并且每个像素点的位置信息已知时,可以采用线性插值,或者双线性插值,确定每个像素点增强后的灰度值。
图7a为本申请一些实施例提供的插值计算方法的示意图,如图7a所示,图中包含的4个完整的由黑色实线分割的子区域,可以理解为待处理图像的4个子区域,图中的4个黑色小方块分别为4个子区域的中心像素点,对于每个中心像素点来说,该中心像素点是完全符合该子区域的变换函数的,因此可以确定每个中心像素点对应的增强后的灰度值。左上角(图中所示的左右)的子区域又被虚线分割成4个子块,其中每个子块的编号分别为1,2,4,5,为了方便描述可以表示为子块1,子块2,子块4和子块5,其中,子块1为与其他子区域不相邻的区域,子块2、子块4和子块5为与其他子区域的相邻区域。
图7b为本申请一些实施例提供的中心像素点的映射示意图,如图7b所示,点A,B,C,D分别对应着图7b中4个子区域的中心像素点。
针对子区域中的每个像素点,若该像素点为子块1内的像素点,则说明该像素点不为与其他子区域存在的相邻区域内的像素点,可以根据该子区域对应的第二裁剪限制值,确定该像素点增强后的灰度值的过程。
若该像素点为子块2或者子块4内的像素点,则说明该像素点为与其他子区域存在的相邻区域内的像素点,需要根据该像素点对应的子区域的中心像素点对应的增强后的灰度值,及相邻其他子区域的中心像素点对应的增强后的灰度值,进行插值处理,从而确定插值处理后的该像素点增强后的灰度值。
具体的,位于子块2内的像素点,可以根据中心像素点A和中心像素点B对应的增强后的灰度值,进行插值处理,从而确定插值后的该像素点增强后的灰度值。位于子块4内的像素点,可以根据中心像素点A和中心像素点C对应的增强后的灰度值,进行插值处理,从而确定插值处理后的该像素点增强后的灰度值。
若该像素点为子块5内的像素点,说明该像素点为与其他子区域存在的相邻区域内的像素点,需要根据该像素点对应的子区域的中心像素点对应的增强后的灰度值,及相邻其他子区域的中心像素点对应的增强后的灰度值,进行插值处理,从而确定插值后的该像素点增强后的灰度值。具体的,可以根据中心像素点A、中心像素点B、中心像素点C和中心像素点D对应的增强后的灰度值,进行插值处理,从而确定插值处理后的该像素点增强后的灰度值。
插值处理过程可以用公式进行表示:
其中,表示中心像素点A对应的增强后的灰度值,表示中心像素点B对应的增强后的灰度值,表示中心像素点C对应的增强后的灰度值,表示中心像素点D对应的增强后的灰度值,x和y为该像素点与中心像素点A横坐标及纵坐标的差值,s为该像素点增强后的灰度值,具体的插值计算过程为现有技术,在此不再赘述。
下面结合一个具体的实施例对本申请提供的图像处理过程进行说明:
图8为本申请一些实施例提供的图像处理过程的示意图,该过程包括以下步骤:
S801:对待处理图像进行分块处理得到每个子区域,针对每个子区域,确定该子区域的直方图。
S802:根据该子区域的亮度及第一裁剪限制值,确定该自取对应的第二裁剪限制值,并确定该子区域的截断直方图。
S803:针对该子区域的每个像素点,判断该像素点为与其他子区域存在的相邻区域内的像素点,若否,则执行S804,若是,则执行S805。
S804:根据该子区域对应的第二裁剪限制值,确定该像素点增强后的灰度值。
S805:根据该像素点的位置信息,所在子区域的中心像素点对应的增强后的灰度值,及相邻其他子区域的中心像素点对应的增强后的灰度值,确定插值处理后的该像素点增强后的灰度值。
图9a为本申请一些实施例提供的某一地点实拍原图,图9b为本申请一些实施例提供的基于CLAHE对该实拍原图处理后的增强图像,图9c为本申请一些实施例提供的采用本申请一些实施例的方式对该实拍原图处理后的增强图像。
图9a中的编号1表示的子区域的亮度较高,图9b中编号1表示的子区域经过CLAHE处理后亮度有所降低并且图像中的亮度分布不均匀,图9c中编号1表示的子区域经过本申请提供的图像处理方法处理后亮度得到了保持没有发生变化。
图9a中的编号2表示的子区域的亮度较低,图9b中编号2表示的子区域经过CLAHE处理后亮度有所提高,图9c中编号2表示的子区域经过本申请提供的图像处理方法处理后亮度相比于图9b中表示的子区域亮度更高,呈现的细节更清楚。
图9a中的编号3表示的子区域的亮度较低,图9b中编号3表示的子区域经过CLAHE处理后亮度有提高,图9c中编号3表示的子区域经过本申请提供的图像处理方法处理后亮度相比于图9b中表示的子区域亮度更高,呈现的细节更清楚。
采用本申请一些实施例提供的图像处理方法得到的图像主观感觉更好,亮度偏低区域的图像亮度得到了提升,相对于基于CLAHE处理得到的图像更亮,天空区域,即原来亮度较高的图像区域得到了保持,而基于CLAHE处理得到的图像有所降低,并且出现了光晕。
实施例4:
图10为本申请一些实施例提供的图像处理装置的结构示意图,如图10所示,该装置包括:
获取模块1001,用于对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域;获取限制对比度自适应直方图增强CLAHE的第一裁剪限制值;
确定模块1002,用于针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域;若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值;
增强模块1003,用于根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。
在一种可能的实施方式中,所述确定模块1002,具体用于获取该子区域的累计直方图中像素点数量达到预设数量时对应的目标灰度值;根据预设灰度值与所述目标灰度值的差值是否大于预设阈值,确定该子区域是亮度较高区域还是亮度较低区域。
在一种可能的实施方式中,所述确定模块1002,具体还用于若预设灰度值与所述目标灰度值的差值大于预设阈值,确定该子区域是亮度较低区域;若预设灰度值与所述目标灰度值的差值小于预设阈值,确定该子区域是亮度较高区域。
在一种可能的实施方式中,所述确定模块1002,具体还用于确定所述差值与所述预设阈值的商值;根据所述商值与所述第一裁剪限制值,确定为该子区域对应的第二裁剪限制值。
在一种可能的实施方式中,所述增强模块1003,具体用于针对每个子区域中的像素点,根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值,得到该子区域在增强图像中对应的子图像。
在一种可能的实施方式中,所述增强模块1003,具体还用于判断该像素点是否为与其他子区域存在的相邻区域内的像素点;若否,进行后续的根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值的过程。
在一种可能的实施方式中,所述增强模块1003,具体还用于若该像素点为与其他子区域存在的相邻区域内的像素点,根据该像素点的位置信息,其所在子区域的中心像素点对应的增强后的灰度值,及相邻其他子区域的中心像素点对应的增强后的灰度值,确定插值处理后的该像素点增强后的灰度值。
实施例5:
在上述各实施例的基础上,本申请还提供了一种终端设备,图11为本申请一些实施例提供的一种终端设备结构示意图。
下面以终端1100为例对实施例进行具体说明。应该理解的是,图11所示终端1100仅是一个范例,并且终端1100可以具有比图11中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
如图11所示,终端1100包括:射频(radio frequency,RF)电路1110、存储器1120、显示单元1130、摄像头1140、传感器1150、音频电路1160、无线保真(Wireless Fidelity,Wi-Fi)模块1170、处理器1180、蓝牙模块1181、以及电源1190等部件。
RF电路1110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器1180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。
存储器1120可用于存储软件程序及数据。处理器1180通过运行存储在存储器1120的软件程序或数据,从而执行终端1100的各种功能以及数据处理。存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1120存储有使得终端1100能运行的操作系统。本申请中存储器1120可以存储操作系统及各种应用程序,还可以存储执行本申请一些实施例所述方法的程序代码。
显示单元1130可用于接收输入的数字或字符信息,产生与终端1100的用户设置以及功能控制有关的信号输入,具体地,显示单元1130可以包括设置在终端1100正面的触摸屏1131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
显示单元1130还可用于显示由用户输入的信息或提供给用户的信息以及终端1100的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1130可以包括设置在终端1100正面的显示屏1132。其中,显示屏1132可以采用液晶显示器、发光二极管等形式来配置。显示单元1130可以用于显示本申请中所述的联系人会话界面或短信息列表界面。
其中,触摸屏1131可以覆盖在显示屏1132之上,也可以将触摸屏1131与显示屏1132集成而实现终端1100的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1130可以显示应用程序以及对应的操作步骤。
摄像头1140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。
终端1100还可以包括至少一种传感器1150,比如加速度传感器1151、距离传感器1152、指纹传感器1153、温度传感器1154。终端1100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1160、扬声器1161、麦克风1162可提供用户与终端1100之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器1161转换为声音信号输出。终端1100还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风1162将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出至RF电路1110以发送给比如另一终端,或者将音频数据输出至存储器1120以便进一步处理。本申请中麦克风1162可以获取用户的语音。
Wi-Fi属于短距离无线传输技术,终端1100可以通过Wi-Fi模块1170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
处理器1180是终端1100的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1120内的软件程序,以及调用存储在存储器1120内的数据,执行终端1100的各种功能和处理数据。在一些实施例中,处理器1180可包括一个或多个处理单元;处理器1180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1180中。本申请中处理器1180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请一些实施例所述的处理方法。另外,处理器1180与显示单元1130耦接。
蓝牙模块1181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端1100可以通过蓝牙模块1181与同样具备蓝牙模块的可穿戴设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
终端1100还包括给各个部件供电的电源1190(比如电池)。电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。终端1100还可配置有电源按钮,用于终端的开机和关机,以及锁屏等功能。
图12为本申请一些实施例的终端设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图12所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图12所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿、短信息等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信息通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端1100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息(例如短信息的消息摘要,消息内容),可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D(一种动画方式)图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明终端1100软件以及硬件的工作流程。
当触摸屏1131接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头1140捕获静态图像或视频。
处理器1180,用于执行上述各实施例中图像处理方法的步骤,在上述各实施例中已经对图像处理的过程进行了详细的描述,在此不做赘述。
显示单元1130,用于显示处理器1180所确定的待处理图像对应的增强图像。
实施例6:
在上述各实施例的基础上,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行上述各实施例中图像处理方法的步骤。
由于上述提供的计算机可读取介质解决问题的原理与图像处理方法相似,因此处理器执行上述计算机可读取介质中的计算机程序后,实现的步骤可以参见上述实施例,重复之处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种图像处理方法,其特征在于,所述方法包括:
对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域;获取限制对比度自适应直方图增强CLAHE的第一裁剪限制值;
针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域;若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值;
根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。
2.如权利要求1所述的方法,其特征在于,所述根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域包括:
获取该子区域的累计直方图中像素点数量达到预设数量时对应的目标灰度值;
根据预设灰度值与所述目标灰度值的差值是否大于预设阈值,确定该子区域是亮度较高区域还是亮度较低区域。
3.如权利要求1所述的方法,其特征在于,所述根据预设灰度值与所述目标灰度值的差值是否大于预设阈值,确定该子区域是亮度较高区域还是亮度较低区域包括:
若预设灰度值与所述目标灰度值的差值大于预设阈值,确定该子区域是亮度较低区域;
若预设灰度值与所述目标灰度值的差值小于预设阈值,确定该子区域是亮度较高区域。
4.如权利要求3所述的方法,其特征在于,对所述第一裁剪限制值进行缩放处理得到第二裁剪限制值包括:
确定所述差值与所述预设阈值的商值;
根据所述商值与所述第一裁剪限制值,确定为该子区域对应的第二裁剪限制值。
5.如权利要求1所述的方法,其特征在于,所述根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像包括:
针对每个子区域中的像素点,根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值,得到该子区域在增强图像中对应的子图像。
6.如权利要求5所述的方法,其特征在于,所述根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值之前,所述方法还包括:
判断该像素点是否为与其他子区域存在的相邻区域内的像素点;
若否,进行后续的根据该子区域对应的第二裁剪限制值及该像素点的灰度值,确定该像素点增强后的灰度值的过程。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
若该像素点为与其他子区域存在的相邻区域内的像素点,根据该像素点的位置信息,其所在子区域的中心像素点对应的增强后的灰度值,及相邻其他子区域的中心像素点对应的增强后的灰度值,确定插值处理后的该像素点增强后的灰度值。
8.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于对待处理图像进行分块处理,获取所述待处理图像包含的每个子区域;获取限制对比度自适应直方图增强CLAHE的第一裁剪限制值;
确定模块,用于针对所述每个子区域,根据该子区域内每个像素点的灰度值,确定该子区域是亮度较高区域还是亮度较低区域;若确定该子区域为亮度较高区域,则对所述第一裁剪限制值进行缩小处理得到第二裁剪限制值,若确定该子区域为亮度较低区域,则对所述第一裁剪限制值进行放大处理得到第二裁剪限制值;
增强模块,用于根据每个子区域对应的第二裁剪限制值,确定所述待处理图像对应的增强图像。
9.一种终端设备,其特征在于,所述终端设备至少包括处理器和显示单元,所述处理器用于执行存储器中存储的计算机程序时实现权利要求1-7中任一所述的图像处理方法的步骤,所述显示单元用于显示增强后的图像。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一所述的图像处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635649.7A CN114359087A (zh) | 2021-12-29 | 2021-12-29 | 一种图像处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635649.7A CN114359087A (zh) | 2021-12-29 | 2021-12-29 | 一种图像处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114359087A true CN114359087A (zh) | 2022-04-15 |
Family
ID=81102685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111635649.7A Pending CN114359087A (zh) | 2021-12-29 | 2021-12-29 | 一种图像处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114359087A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116416166A (zh) * | 2023-06-12 | 2023-07-11 | 贵州省人民医院 | 一种肝活检数据分析方法及系统 |
CN117635922A (zh) * | 2023-12-06 | 2024-03-01 | 北京薇笑美网络科技有限公司 | 一种基于路由器网线接口的质量识别方法 |
-
2021
- 2021-12-29 CN CN202111635649.7A patent/CN114359087A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116416166A (zh) * | 2023-06-12 | 2023-07-11 | 贵州省人民医院 | 一种肝活检数据分析方法及系统 |
CN116416166B (zh) * | 2023-06-12 | 2023-08-04 | 贵州省人民医院 | 一种肝活检数据分析方法及系统 |
CN117635922A (zh) * | 2023-12-06 | 2024-03-01 | 北京薇笑美网络科技有限公司 | 一种基于路由器网线接口的质量识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7326476B2 (ja) | スクリーンショット方法及び電子装置 | |
CN110475072B (zh) | 拍摄图像的方法、装置、终端和存储介质 | |
CN111508039B (zh) | 一种墨水屏的文字处理方法及通信终端 | |
US11949978B2 (en) | Image content removal method and related apparatus | |
CN111343339B (zh) | 移动终端及其图像显示方法 | |
CN114359087A (zh) | 一种图像处理方法、装置、设备及介质 | |
CN112925596B (zh) | 移动终端及其显示对象的显示方法 | |
CN112184595B (zh) | 移动终端及其图像显示方法 | |
CN114023272A (zh) | 消除墨水屏残影的方法和终端设备 | |
CN113038141B (zh) | 视频帧处理方法及电子设备 | |
CN111193874B (zh) | 图像的显示参数调整方法及移动终端 | |
CN112905132B (zh) | 投屏方法及设备 | |
US20230412929A1 (en) | Photographing Method and Related Apparatus | |
CN114063945B (zh) | 移动终端及其图像显示方法 | |
CN114639358A (zh) | 墨水屏的刷新方法、终端设备、存储介质和程序产品 | |
CN115033199A (zh) | 移动终端及其图像显示方法 | |
CN113891008A (zh) | 一种曝光强度调节方法及相关设备 | |
CN113393391A (zh) | 图像增强方法、图像增强装置、电子设备和存储介质 | |
CN112004006A (zh) | 移动医疗终端及其亮度调整方法 | |
CN114596819B (zh) | 亮度调节方法及相关装置 | |
CN113129238B (zh) | 拍照终端及图像校正方法 | |
CN113259582B (zh) | 图片生成方法及终端 | |
CN111988530B (zh) | 移动终端及其拍照方法 | |
CN113179362B (zh) | 电子设备及其图像显示方法 | |
WO2022227978A1 (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 |