CN113763281B - 伽马曲线调整方法及装置 - Google Patents
伽马曲线调整方法及装置 Download PDFInfo
- Publication number
- CN113763281B CN113763281B CN202111090938.3A CN202111090938A CN113763281B CN 113763281 B CN113763281 B CN 113763281B CN 202111090938 A CN202111090938 A CN 202111090938A CN 113763281 B CN113763281 B CN 113763281B
- Authority
- CN
- China
- Prior art keywords
- fitting
- array
- fitting parameter
- deviation value
- value
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000006870 function Effects 0.000 claims description 154
- 238000012545 processing Methods 0.000 claims description 38
- 238000012937 correction Methods 0.000 claims description 32
- 230000002452 interceptive effect Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 18
- 238000003491 array Methods 0.000 claims description 7
- 241001270131 Agaricus moelleri Species 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Picture Signal Circuits (AREA)
- Transforming Electric Information Into Light Information (AREA)
Abstract
本申请提供一种伽马曲线调整方法及装置。该方法包括:接收伽马曲线的调整指令,调整指令包括伽马曲线对应拟合函数的参数调整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合获得的;基于参数调整值,对伽马曲线对应的拟合函数的参数进行重新赋值;根据重新赋值后的拟合函数,生成调整后的伽马曲线。本申请的方案,通过调整伽马曲线对应拟合函数的参数可获得调整后的平滑的伽马曲线,减少调整和对比次数,简化流程,缩短调试时间,节省人力物力。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种伽马曲线调整方法及装置。
背景技术
在影像领域中,摄像拍摄如果不经过调试,总会出现颜色偏差,导致达不到我们需要的效果。伽马校正是进行色彩调整和对比度调整的常规手段,伽马校正根据人类 视觉特性对图像显示进行校正,使得通过摄像机或手机等摄影设备所显示的图片场景 与人眼所看到的场景一致。
现有技术中,伽马校正完全通过手动调节伽马曲线。通常图像处理设备中存储有伽马校正曲线上一定数目的点的坐标值(x,y),x对应伽马校正之前的颜色数据,y 对应伽马校正之后的颜色数据。所谓手动调节的方法是指人为调节在图像处理设备中存储的伽马校正曲线的坐标值,并不断通过人眼判断比对拍摄效果,直到达到满意的 效果。
然而,上述手动调节的方式导致伽马曲线不平滑,偏差值大,需要反复调整和对比,调试过程耗费较多时间和人力物力。
发明内容
本申请提供一种伽马曲线调整方法及装置,用以获取平滑的伽马曲线,减少调整和对 比次数,缩短调试时间,节省人力物力。
第一方面,本申请提供一种伽马曲线调整方法,包括:接收伽马曲线的调整指令,调整指令包括伽马曲线对应拟合函数的参数调整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合获得的;基于参数调整值,对伽马曲线对应的拟合函数的参数进行重新赋值;根据重新赋值后的拟合函数,生成调整后的伽马曲线。
第二方面,本申请提供一种伽马曲线调整装置,包括:接收模块,用于接收伽马曲线的调整指令,调整指令包括伽马曲线对应拟合函数的参数调整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合获得的;处理模块,用于基于参数调整值,对伽马曲线对应的拟合函数的参数进行重新赋值;处理模块,还用于根据重新赋值后的拟合函数, 生成调整后的伽马曲线。
第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如第一方面的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计 算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如第一方面的方法。
本申请提供的伽马曲线调整方法及装置,包括根据伽马曲线的调整指令,获得伽马曲 线对应拟合函数的参数调整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合 获得的;基于参数调整值,对伽马曲线对应的拟合函数的参数进行重新赋值;根据重新赋值后的拟合函数,生成调整后的伽马曲线。本申请的方案,通过调整伽马曲线对应拟合函 数的参数可获得调整后的平滑的伽马曲线,减少调整和对比次数,简化流程,缩短调试时 间,节省人力物力。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例, 并与说明书一起用于解释本申请的原理。
图1a为本申请提供的一种应用场景示意图;
图1b为一种人眼对亮度的反应曲线(即伽马曲线)的示意图;
图2为本申请实施例一提供的伽马曲线调整方法的流程图;
图3为本申请实施例一提供的伽马曲线调整方法中获取经赋值的拟合函数的流程图;
图4为本申请实施例一提供的伽马曲线调整方法的算法流程图;
图5a至图5g为本申请实施例一提供的伽马曲线调整方法的交互界面示意图;
图6为本申请实施例一提供的伽马曲线调整方法的交互操作流程图;
图7为本申请实施例二提供的伽马曲线调整装置的结构示意图;
图8为本申请实施例二提供的伽马曲线调整装置中处理模块的结构示意图;
图9为本申请实施例三提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和 文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本 领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图 时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中 所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
伽马校正(gamma correction):是用来针对影片或是影像系统里对于光线的辉度或 是三色刺激值所进行非线性的运算或反运算。
本申请应用在拍摄设备的图像显示效果调试的场景中。在影像领域中,摄像拍摄如果 不经过调试,总会出现颜色偏差,导致达不到我们需要的效果。其中就涉及到对于手机相 机的AE(自动曝光)、AF(自动对焦)、AWB(自动白平衡)、AEB(自动包围曝光) 的调试。尤其是AE,AWB调试对图像显示效果会起到较大影响,在进行色彩调整和对比度调节的过程中,有一步就是伽马校正。伽马校正是对人眼特性的补偿,因为人眼对光线 变化的反应是非线性的。举例说明,将灯泡的真实亮度提高为原来的两倍,人眼只会觉得 比原来亮了一点,而非比原来亮了两倍,可能当灯泡的真实亮度提高为原来的6倍甚至8倍时,人眼才会觉得比原来的亮度增强了两倍。
目前,一般通过手动调节伽马曲线值。通常图像处理设备中存储有伽马校正曲线上 一定数目的点的坐标值(x,y),x对应伽马校正之前的颜色数据,y对应伽马校正 之后的颜色数据。所谓手动调节伽马曲线值是指人为调节在图像处理设备中存储的伽马校正曲线的坐标值,并不断重复拍摄-比对-调整伽马值步骤进行反复调试,直到达到 满意的效果。然而,上述的手动调节方式会导致伽马曲线不平滑,偏差值大,需要反复 调整,过程费时费力。
本申请提供了一种伽马曲线调整方法及装置,旨在解决现有技术中的如上及时问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术 问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过 程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。需要说明的是,实施例中各个公式中不同变量所表征的含义可参见对公式参数的解释说明。
实施例一
本申请提供的伽马曲线调整方法适用于如图1a所示的应用场景中,其中图像处理设 备是指具有图像处理功能的设备,具体可以为手机的相机,数码相机,摄影机,具有拍照功能的电脑等。图像处理设备中设置有伽马校正设备,用于对获取的真实图像进行色彩对比度等调整,通过显示设备输出经过调整后的图像。输出的显示图像为更符合“像人眼所看到的”画面。图1b为人眼对亮度的反应曲线,即伽马曲线。横坐标为实际亮度值,纵坐标为人眼识别的亮度。在全黑亮度下,增加一点亮度,人眼会觉得够亮了,也就是说人 眼对于较暗的光线具有更强的识别能力。继续增强亮度,从亮到极亮阶段,人眼的反应却 变得迟钝。因此,为了使输出的显示图像更符合人眼特性,需要对真实图像进行伽马校正。
图2位本申请实施例一提供的伽马曲线调整方法的流程图,如图2所示。本申请实施 例提供的伽马曲线调整方法包括:
步骤101、接收伽马曲线的调整指令,调整指令包括伽马曲线对应拟合函数的参数调 整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合获得的;
步骤102、基于参数调整值,对伽马曲线对应的拟合函数的参数进行重新赋值;
步骤103、根据重新赋值后的拟合函数,生成调整后的伽马曲线。
本申请提供的伽马曲线调整方法,是通过调节伽马曲线所对应的拟合函数的参数,获 得参数调整值,基于参数调整值重新赋值给拟合函数,进而可生成平滑的调整后的伽马曲 线。在此拟合函数的基础上,可以求取任何实际亮度值下所对应的显示亮度值,其中亮度值一般范围是0-255,白色为255,黑色为0。
对于0-255的亮度,在影像调试中定这个gamma(伽马)值一直存在纠结状态,无法找到一条准确或者趋近准确的gamma(伽马)用到主观场景中。其中需要调试人员反复通 过手机摄像,调亮度,对比亮度这一流程进行反复试验,其中费时费力。传统的手动调节 方法,是通过直接调节伽马曲线上的坐标值,容易导致伽马曲线不平滑,偏差值大,影响 图像显示效果。
在对伽马曲线对应的拟合函数的参数进行调整之前,需要获取初始的伽马曲线,及其 对应的函数方程。
本申请通过提供的多组拟合数据P(x,y),经过算法拟合计算,获取特定函数方程,然后在此函数上准确获取所需的0-255的亮度,后续只需进行微调即可获取到所需的gamma(伽马)值,同时我们会生成后台设备所需的数据,可直接下载写入对应平台使用 即可,更加方便快捷有效。
下面对求取参数调整值的实现方式进行详细阐述。图3为本申请实施例一提供的伽马 曲线调整方法中获取经赋值的拟合函数的流程图,包括:
步骤201、获取输入的拟合数据P(x,y),以及确定当前的拟合函数;其中,x为 输入的亮度值,y为x对应的预设的目标亮度值。
其中,拟合数据作为拟合的依据,由于伽马曲线为非线性曲线,为了获得更为准确拟 合出伽马曲线,该拟合数据应该较为均匀地分布在0-255亮度值范围内,比如若拟合数据 集中在0-50范围内,那么对于50-255阶段的拟合偏差会较大。
其中,拟合函数包括多种函数类型,如直线,二阶多项式,三阶多项式,四阶多项式, 指数函数,幂函数,log函数,Rodbard方程(四参数方程),伽玛变异,“y=a+b*ln(x-c)”, “Rodbard(NIH Image)”,偏移量指数函数(Exponential with Offset),Gaussian(高斯光束传播),恢复指数等。在实际应用过程中,拟合函数的类型不限于以上所阐述的函数类型,可根据实际的图像处理设备在后台算法中进行设计。
步骤202、根据拟合数据和拟合函数,进行拟合处理,获得经赋值的拟合函数。
步骤203、基于经赋值的拟合函数,生成初始的伽马曲线。
具体的,步骤202的拟合处理包括:步骤301、根据拟合数据和拟合函数,拟合获得初始的第一拟合参数数组;步骤302、根据第一拟合参数数组,获得第二拟合参数数组集合,其中,第二拟合参数数组集合包括多个拟合参数数组;步骤303、基于当前的第一拟 合参数数组和第二拟合参数数组集合,计算获取每组拟合参数对应的偏差值,并确定其中的最小偏差值、最大偏差值和第二大偏差值;其中,拟合参数对应的偏差值为计算值y’ 与拟合数据y的差值的算术平方根的和,计算值y’是将拟合数据的x作为输入,由赋值有 拟合参数的拟合函数计算输出的结果;步骤304、对第一拟合参数数组和第二拟合参数数 组集合进行修正;步骤305、计算修正后的每组拟合参数对应的偏差值,确定最小偏差值; 步骤306、将最小偏差值对应的拟合参数赋值给拟合函数,获得经赋值的拟合函数。
其中,步骤301中第一拟合参数数组根据拟合数据和拟合函数确定。第一拟合参数数 组作为计算第二拟合参数数组集合的基础,根据函数类型确定较为合理的第一拟合参数数 组,有利于较快地获取最小偏差值对应的拟合参数。举例说明,若拟合函数类型为y=axb+c, 容易看出系数a类似于直线的斜率,那么第一拟合参数数组中参数a可定为(ymax-ymin)/ (xmax-xmin)或者y1/x1,其中ymax是拟合数据的y中的最大值,ymin是拟合数据的y中的最小值,y1是拟合数据中第一个y值。系数b可取值为1,也可根据拟合数据(x1,y1) 对b进行取值为lny1/lnx1。系数c类似于直线的截距,可取值为0,也可取值为y1-x1。总 之,根据拟合函数类型,可选取拟合数据中x或y的最大值、最小值、平均值、斜率等来 确定第一拟合参数数组的取值。
下面依托算法,对伽马曲线的调整方法进行详细阐述。图4为本申请实施例一提供的 伽马曲线调整方法的算法流程图。
首先输入拟合数据,确定拟合函数方程的类型。其中,拟合函数方程中包含m个参数。根据该函数方程生成一个行数和列数均为m+1的多维数组simp。simp[i][j]用于表征多维数组simp中第i行第j列的元素。容易理解的,根据编程规则可知,0≤i≤m,0≤j ≤m,具体的,simp[0][j]表征多维数组simp中的第一行。一个拟合参数数组存放在多维 数组simp的一行中,每行中的各列用于存放该组拟合参数数组的每个拟合参数,其中, 对于每行来说,j为0至j为m-1的位置用于存放该拟合函数方程的每组拟合参数,即, 每行包括m个拟合参数,j为m的位置用于存放每组拟合参数对应的偏差值。
接着,将第一拟合参数数组中的拟合参数分别对应的存放在多维数组中索引为0的子 数组中,即多维数组simp的第一子数组用于存放第一拟合参数数组。同时依照偏差值计 算方法计算第一子数组的偏差值,偏差值计算方法将在后文中介绍。
进一步地,步骤302具体方法为:根据第一拟合参数数组,结合第一公式和第二公式, 计算获得第二拟合参数数组集合。第一拟合参数数组和第二拟合参数数组集合共同组成了 simp数组中的拟合参数数据。其中,第二拟合参数数组集合至少包括两组拟合参数,因为拟合函数中至少包含两个拟合参数,也因此多维数组simp至少为3×3的数组。
在一个示例中,第一公式为:其中, step[i]=simp[0][i]/2;
其中,m是拟合函数中拟合参数的数量;p是长度为m的一维数组;p[i]是数组p中第i位元素,表征每组拟合参数中第i个拟合参数对应的第一修正值;其中,0≤i≤m-1, i为整数。
simp是长度为m+1的多维数组,simp[0][i]是多维数组simp中第一子数组中的第i位 元素,i为0至i为m-1的位置用于存放第一拟合参数数组,需要说明的是,simp数组的 长度比数组p的长度多一,即simp[0][m]存放第一拟合参数数组对应的偏差值。
step是长度为m的一维数组,i为0至i为m-1的位置对应存放第一拟合参数数组中各个拟合参数的值的一半。
在一个示例中,第二公式为:
其中,q为长度为m的一维数组;q[i]是数组q中第i位元素,表征每组拟合参数中第i个拟合参数对应的第二修正值。
具体循环赋值程序为:
上述程序,首先利用“j++”实现对多维数组simp中的一行中的每个元素基于第二修 正值“q[j]”的赋值,之后基于第一修正值“p[i-1]”对该simp数组中第i个子数组中的第i-1位置的参数进行二次赋值,综上完成对该行中所有元素的赋值。接着利用“i++”实现 对多维数组simp中每一行的赋值。容易理解的,程序代码中的“q[j]”通过第二公式计算, 即在q数组中j索引值(位置)的参数值,同理程序代码中“p[i-1]”通过第一公式计算, 即在p数组中i-1索引值(位置)的参数值。
其中,程序“sumresiduals(simp[i])”用于计算步骤303中偏差值。根据前述可知,多 维数组simp中,每行中i为0至i为m-1的位置对应存放拟合参数,i为m的位置用于存放偏差值。在完成对多维数组simp的某一行的赋值后,基于该拟合参数,计算对应的偏 差值,并更新到i为m的位置。基于赋值由该拟合参数的拟合函数,将拟合数据的x输入 求得计算值y’。将y’与拟合数据的y作差,并计算该差值的算术平方根。将基于所有拟合 数据计算的算术平方根相加,即为偏差值。
进一步地,参照图4,步骤304对拟合参数的修正具体包括以下计算步骤:
通过重复执行以下修正处理直至满足要求,对第一拟合参数数组和第二拟合参数数组 集合进行修正,其中,要求包括达到预设的重复次数:修正处理具体包括步骤A至步骤D:
步骤A:将当前第一拟合参数数组和第二拟合参数数组集合中各个拟合参数数组对应 的偏差值中,除最大偏差值之外的其它偏差值对应的各个拟合参数数组中的拟合参数进行 一一对应相加处理,并将相加处理获得的数据赋值给数组center,基于center数组和第三 公式,获得当前的第三拟合参数数组next数组,即建立一个新的数组next数组,并赋值。 以及,计算第三拟合参数数组对应的偏差值;
第三公式为:next[i]=center[i]/m+(alpha)*(simp[worst][i]-center[i]);其中,next 是长度为m+1的一维数组;next[i]是数组next中第i位元素,i为0至i为m-1的位置用 于存放第三拟合参数数组,i为m的位置用于存放第三拟合参数数组对应的偏差值;center 为长度为m+1的一维数组;center[i]是数组center中第i位元素,赋值为对数组simp中除最大偏差值之外的其它偏差值对应的各个拟合参数数组中的拟合参数进行一一对应相加 处理获得的数据;alpha的值为-0.1;simp[worst][i]表征多维数组simp中当前的最大偏差值 所对应的拟合参数;
以下介绍中,simp[best][i]表征多维数组simp中当前的最小偏差值所对应的拟合参数; simp[nextworst][i]表征多维数组simp中当前的第二大偏差值所对应的拟合参数; simp[worst][m]表征多维数组simp中当前的最大偏差值;simp[best][m]表征多维数组simp 中当前的最小偏差值;simp[nextworst][m]表征多维数组simp中当前的第二大偏差值。
步骤B:若第三拟合参数数组对应的偏差值小于最小偏差值,即当前next数组中的偏 差值小于simp数组中best索引位置的偏差值,则将当前的第一拟合参数数组和第二拟合 参数数组集合中,最大偏差值对应的拟合参数数组替换为第三拟合参数数组,即将当前next数组中的拟合参数数据赋值给simp数组中worst索引位置的拟合参数数据;接着基于第四公式,获得第四拟合参数数组和对应的偏差值,即更新next数组;若第四拟合参数数组对应的偏差值小于更新后的当前最大偏差值,则将最大偏差值对应的拟合参数数组替换为第四拟合参数数组,即将前述更新后的next数组中的拟合参数数据赋值给simp数组中worst索引位置的拟合参数数据;
其中,第四公式为:next[i]=center[i]+gamma*(simp[worst][i]-center[i]);其中, next[i]中i为0至i为m-1的位置用于存放第四拟合参数数组,i为m的位置用于存放第四 拟合参数数组对应的偏差值;gamma的值为2.0;
步骤C:若第三拟合参数数组对应的偏差值不小于当前的最小偏差值,且小于当前的 第二大偏差值,即当前next数组中的偏差值不小于simp数组中best索引位置的偏差值但 小于simp数组中nextworst索引位置的偏差值,则将当前的第一拟合参数数组和第二拟合 参数数组集合中,最大偏差值对应的拟合参数数组替换为第三拟合参数数组,即将当前next数组中的拟合参数数据赋值给simp数组中worst索引位置的拟合参数数据;
步骤D:若第三拟合参数数组对应的偏差值不小于当前的第二大偏差值,即当前next 数组中的偏差值不小于simp数组中nextworst索引位置的偏差值,则基于第五公式,获得 第五拟合参数数组和对应的偏差值,即更新next数组;以及,若第五拟合参数数组对应的 偏差值不大于第二大偏差值,即更新后的next数组中的偏差值不大于simp数组中nextworst 索引位置的偏差值,则将最大偏差值对应的拟合参数数组替换为第五拟合参数数组,即将更新后的next数组中的拟合参数数据赋值给simp数组中worst索引位置的拟合参数数据。 否则,基于第六公式对simp多维数组中除最小偏差对应的拟合参数外的其他各组拟合参 数进行更新,并重新计算对应的偏差值,即更新后的next数组中的偏差值大于simp数组 中nextworst索引位置的偏差值,则对simp数组中的子数组(除best索引位置)进行更新;
第五公式为:next[i]=center[i]+beta*(simp[worst][i]-center[i]);其中,next[i]中 i为0至i为m-1的位置用于存放第五拟合参数数组,i为m的位置用于存放第五拟合参数 数组对应的偏差值;beta的值为0.5;
第六公式为:simp[i][j]=beta*(simp[i][j]+simp[best][j]);其中,simp[best][j]表征 多维数组simp中当前的最小偏差值所对应的拟合参数,beta的值为0.5。
通过步骤A至步骤D,多维数组simp中的数据进行更新,进而实现对拟合参数的更新。具体的用偏差值指导拟合参数的调整,偏差值越小,意味着赋值有对应拟合参数的拟合函数的拟合效果最好。根据初始化时确定的第一拟合参数数组和基于该第一拟合参数数组扩展的第二拟合参数数组集合计算出所对应的偏差值,从中筛选出最大偏差值、最小偏差值和第二大偏差值。将除最小偏差值之外的其他偏差值对应的拟合参数一一对应相加,并通过第三公式计算获得第三拟合参数数组,将其赋值给数组next,并更新数组next中最后一位存放的偏差值。将数组next中的偏差值与前述获得得最大偏差值、最小偏差值和第二大偏差值进行对比,有三种不同的情况,分别三种不同的参数调整处理,分别对应步骤 B至步骤D。
在一个示例中,为了控制上述步骤A至步骤D的循环,设定一个最大重复次数,当循环次数大于预设的重复次数,则停止循环;否则继续执行步骤A至步骤D。
进一步地,在上一个示例的基础上,为了提高计算效率,还可以设定一个总偏差的限 定值,用于控制步骤A至步骤D的循环。参照图4,当循环次数不大于预设的重复次数时,继续对总偏差值进行判断。当总偏差值不小于设定数值时,则继续循环。一般该设定值为一个极小值,比如1e-10。当总偏差值小于设定数值时,则继续判断restarts是否小于0,若小则停止循环,若不小则重复循环,并将目前多维数组simp中最小偏差值对应的子数组 内的数值赋值给第一子数组。其中,restarts的作用是为了判断收敛性,当连续多次计算所得总偏差值小于设定数值,则表明计算结果收敛且可信。
具体的,当前的总偏差是根据当前第一拟合参数数组和第二拟合参数数组集合中各组 拟合参数对应的偏差值,通过第七公式计算所得,其中第七公式为:
其中,simp[best][m]表征多维数组simp中当前的最小偏差值;simp[worst][m]表征多 维数组simp中当前的最大偏差值。
在一个示例中,为了更加直观,本方法还包括提供交互界面,交互界面包括用于输入 拟合数据的控件和多种拟合函数选项;获取交互界面下输入的拟合数据P(x,y),以及根据被选中的拟合函数选项,确定当前的拟合函数。在上述示例的基础上,交互界面还会 显示经赋值的拟合函数、伽马曲线以及拟合数据P(x,y)在伽马曲线所在坐标系中对应 的坐标点。进一步地,根据经赋值的拟合函数,获得所有初始灰阶对应的实际伽马值;生 成数据文件并导出,数据文件包括所有初始灰阶对应的实际伽马值。
图5a至图5g为本申请实施例一提供的伽马曲线调整方法的交互界面示意图。如图5a 所示,该交互界面显示了以20组拟合数据、四参数方程、8bit为例的计算结果。在交互界面上部分进行坐标数据的输入(图5a和图5b所示)和方程类型的选择(图5c所示), 其中,输入的拟合数据也不限于20组,也可根据需求输入合适数量的拟合数据组。计算 结果显示在交互界面的下方(图5d所示),计算结果显示了该拟合方程式、方程式中拟 合参数、相关系数,并展现了调整后的伽马曲线,以及各输入的坐标数据在线上的位置。上述设置,提供了可视化伽马函数拟合交互界面,操作便捷;通过相关系数客观提醒匹配 度,更加直观明了。
需要说明的是,8bit是指提供256个采样点,10bit是指提供1024个采样点,14bit是 提供214个采样点。如图5e所示,在交互界面的右侧提供了可下载的三种数据文件,分别是4250/6115-(8bit),C7-(10bit),C6-(14bit),分别适用于不同的后接设备。实际 应用过程中,也可根据需求设计生成其他类型的数据文件。以4250/6115-(8bit)为例, 点击下载后,该文件为文本文档形式,文件内包含后接设备所需的伽马调整后的亮度数据。
操作流程为:用户用户名密码登录工具系统;点击如图5b所示的“输入”,进入如图5c所示的交互界面,进行拟合数据的输入;在如图5d所示的下拉框中选择所需的函数 方程;在图5a所示的交互界面上点击方程拟合,后台根据所需函数进行算法计算得出函 数方程的函数参数;计算结束后,数据返回前台,数据结果如图5e所示,左边显示函数 方程的信息,右边显示函数曲线以及所输入点的图形,数据显示在如图5a所示的交互界 面下方;在图5f所示的下载交互界面进行相关平台所需gamma(伽马)值的数据文件导 出,直接填写到对应平台即可。
图6为本申请实施例一提供的伽马曲线调整方法的交互操作流程图。登录操作平台, 显示交互界面,输入拟合数据,选择函数方程、进行算法计算调整参数;交互界面显示函 数方程,参数以及曲线图表。后台算法判断计算结果是否满足需求,当符合需求时,则导出0-225对应的伽马值。当为10bit运算时,提供的拟合数据需要在0-1023范围内,进而 生成的数据文件也是提供0-1023对应的伽马值。可根据实际采样点数量确定。
本申请提供的伽马曲线调整方法,包括根据伽马曲线的调整指令,获得伽马曲线对应 拟合函数的参数调整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合获得的; 基于参数调整值,对伽马曲线对应的拟合函数的参数进行重新赋值;根据重新赋值后的拟合函数,生成调整后的伽马曲线。本申请的方案,通过调整伽马曲线对应拟合函数的参数 可获得调整后的平滑的伽马曲线,减少调整和对比次数,简化流程,缩短调试时间,节省 人力物力。
实施例二
图7为本申请实施例二提供的伽马曲线调整装置的结构示意图,如图7所示,该装置 包括:
接收模块10,用于接收伽马曲线的调整指令,调整指令包括伽马曲线对应拟合函数 的参数调整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合获得的;
处理模块20,用于基于参数调整值,对伽马曲线对应的拟合函数的参数进行重新赋 值;还用于根据重新赋值后的拟合函数,生成调整后的伽马曲线。
本申请提供的伽马曲线调整装置,通过调节伽马曲线所对应的拟合函数的参数,获得 参数调整值,基于参数调整值重新赋值给拟合函数,进而可生成平滑的调整后的伽马曲线。 在此拟合函数的基础上,可以求取任何实际亮度值下所对应的显示亮度值,其中亮度值一般范围是0-255,白色为255,黑色为0。传统的手动调节方法,是通过直接调节伽马曲线 上的坐标值,容易导致伽马曲线不平滑,偏差值大,影响图像显示效果。本申请的方法是通过调节伽马曲线所对应的拟合函数的参数,基于参数调整值重新赋值获得调整后的伽马曲线,进一步获得所需亮度数据值。因此需要先获得初始的伽马曲线,便于后续进行参数调整。
在一个示例中,为了获得初始的伽马曲线,该装置还包括:初始曲线获取模块00,该模块包括输入单元30,拟合处理单元40,和输出单元50,如图8所示。
输入单元30,用于获取输入的拟合数据P(x,y),以及确定当前的拟合函数;其中,x为输入的亮度值,y为x对应的预设的目标亮度值;
其中,拟合数据作为拟合的依据,由于伽马曲线为非线性曲线,为了获得更为准确拟 合出伽马曲线,该拟合数据应该较为均匀地分布在0-255亮度值范围内,比如若拟合数据 集中在0-50范围内,那么对于50-255阶段的拟合偏差会较大。
其中,拟合函数包括多种函数类型,如直线,二阶多项式,三阶多项式,四阶多项式, 指数函数,幂函数,log函数,Rodbard方程(四参数方程),伽玛变异,“y=a+b*ln(x-c)”, “Rodbard(NIH Image)”,偏移量指数函数(Exponential with Offset),Gaussian(高斯光束传播),恢复指数等。在实际应用过程中,拟合函数的类型不限于以上所阐述的函数类型,可根据实际的图像处理设备在后台算法中进行设计。
拟合处理单元40,用于根据拟合数据和拟合函数,进行拟合处理,获得经赋值的拟合函数,拟合处理包括:根据拟合数据和拟合函数,拟合获得初始的第一拟合参数数组; 根据第一拟合参数数组,获得第二拟合参数数组集合,其中,第二拟合参数数组集合包括多组拟合参数;基于当前的第一拟合参数数组和第二拟合参数数组集合,计算获取每组拟 合参数对应的偏差值,并确定其中的最小偏差值、最大偏差值和第二大偏差值;其中,拟 合参数对应的偏差值为计算值y’与拟合数据y的差值的算术平方根的和,计算值y’是将拟 合数据的x作为输入,由赋值有拟合参数的拟合函数计算输出的结果;对第一拟合参数数组和第二拟合参数数组集合进行修正;计算修正后的每组拟合参数对应的偏差值,确定最 小偏差值;将最小偏差值对应的拟合参数赋值给拟合函数,获得经赋值的拟合函数;
输出单元50,用于基于经赋值的拟合函数,生成初始的伽马曲线。
其中,第一拟合参数数组作为计算第二拟合参数数组集合的基础,当根据函数类型确 定较为合理的第一拟合参数数组中的各个拟合参数,有利于较快的求取到满足要求的拟合 参数,进而获得满足要求的伽马曲线函数。举例说明,若拟合函数类型为y=axb+c,容易 看出系数a类似于直线的斜率,那么第一拟合参数数组中参数a可定为(ymax-ymin)/(xmax-xmin) 或者y1/x1,其中ymax是拟合数据的y中的最大值,ymin是拟合数据的y中的最小值,y1是 拟合数据中第一个y值。系数b可取值为1,也可根据拟合数据(x1,y1)对b进行取值 为lny1/lnx1。系数c类似于直线的截距,可取值为0,也可取值为y1-x1。总之,根据拟合 函数类型,可选取拟合数据中x或y的最大值、最小值、平均值、斜率等来确定第一拟合 参数数组的取值。
下面依托后台程序算法,对伽马曲线调整装置的工作原理进行详细阐述。
首先根据拟合数据和拟合函数方程的类型生成一个多维数组simp。其中,拟合函数方 程中包含m个参数。根据该函数方程生成一个行数和列数均为m+1的多维数组simp。simp[i][j]用于表征多维数组simp中第i行第j列的元素。容易理解的,根据编程规则可知,0≤i≤m,0≤j≤m,具体的,simp[0][j]表征多维数组simp中的第一行。一组拟合参数存 放在多维数组simp的一行中,每行中的各列用于存放该组拟合参数的每个拟合参数,其 中,对于每行来说,j为0至j为m-1的位置用于存放该拟合函数方程的每组拟合参数, 即,每行包括m个拟合参数,j为m的位置用于存放每组拟合参数对应的偏差值。
接着将多维数组simp索引为0的子数组定义为第一子数组,即多维数组simp中的第 一行。将第一拟合参数数组对应存放在第一子数组中。其中,该子数组的最后一位赋值为 第一拟合参数数组对应的偏差值。
在一个示例中,拟合处理单元40还包括:第一参数计算单元,用于根据第一拟合参数数组,结合第一公式和第二公式,计算获得第二拟合参数数组集合;第二拟合参数数组集合至少包括两组拟合参数;
具体的,第一公式为:
其中,step[i]=simp[0][i]/2;
其中,m是拟合函数中拟合参数的数量;p是长度为m的一维数组;p[i]表征拟合参数数组中每个拟合参数对应的第一修正值,0≤i≤m-1,i为整数;
simp为行数和列数为m+1的多维数组,simp[0][i]表征simp数组中第一子数组,0≤i ≤m,i为整数,i为0至i为m-1的位置用于存放第一拟合参数数组中的拟合参数,i为m的位置用于存放第一拟合参数数组对应的偏差值;step是长度为m的一维数组,i为0至 i为m-1的位置对应存放第一拟合参数数组中各个拟合参数的值的一半;
具体的,第二公式为:
其中,q为长度为m的一维数组;q[i]是数组q中第i位元素,表征每组拟合参数中第i个拟合参数对应的第二修正值。
在一个示例中,循环赋值程序为:
上述程序,首先利用“j++”实现对多维数组simp中的一行中的每个元素基于第二修 正值“q[j]”的赋值,之后基于第一修正值“p[i-1]”对该行中某一个元素进行二次赋值,综上完成对该行中所有元素的赋值。接着利用“i++”实现对多维数组simp中每一行的赋值。容易理解的,程序代码中的“q[j]”通过第二公式计算,为在q数组中j索引值(位置) 的参数值,同理程序代码中“p[i-1]”通过第一公式计算,为在p数组中i-1索引值(位置) 的参数值。
其中,程序“sumresiduals(simp[i])”用于计算步骤303中偏差值。根据前述可知,多 维数组simp中,每行中i为0至i为m-1的位置对应存放拟合参数,i为m的位置用于存放偏差值。在完成对多维数组simp的某一行的赋值后,基于该拟合参数,计算对应的偏 差值,并更新到i为m的位置。基于赋值由该拟合参数的拟合函数,将拟合数据的x输入 求得计算值y’。将y’与拟合数据的y作差,并计算该差值的算术平方根。将基于所有拟合 数据计算的算术平方根相加,即为偏差值。
在一个示例中,拟合处理单元40还包括第二参数计算单元,通过重复执行以下步骤 A至步骤D直至满足要求,对第一拟合参数数组和第二拟合参数数组集合进行修正,其中, 要求包括达到预设的重复次数:
步骤A:将当前第一拟合参数数组和第二拟合参数数组集合中各个拟合参数数组对应 的偏差值中,除最大偏差值之外的其它偏差值对应的各个拟合参数数组中的拟合参数进行 一一对应相加处理,并将相加处理获得的数据赋值给数组center,基于center数组和第三 公式,获得当前的第三拟合参数数组next数组,以及,计算第三拟合参数数组对应的偏差 值;
第三公式为:next[i]=center[i]/m+alpha*(simp[worst][i]-center[i]);
其中,next是长度为m+1的一维数组;next[i]是数组next中第i位元素,i为0至i为m-1的位置用于存放第三拟合参数数组,i为m的位置用于存放第三拟合参数数组对应 的偏差值;center为长度为m+1的一维数组;center[i]是数组center中第i位元素,赋值为 对数组simp中除最大偏差值之外的其它偏差值对应的各个拟合参数数组中的拟合参数进 行一一对应相加处理获得的数据;alpha的值为-0.1;simp[worst][i]表征多维数组simp中当前的最大偏差值所对应的拟合参数;
步骤B:若第三拟合参数数组对应的偏差值小于最小偏差值,则将当前的第一拟合参 数数组和第二拟合参数数组集合中,最大偏差值对应的拟合参数数组替换为第三拟合参数 数组,以及基于第四公式,获得第四拟合参数数组和对应的偏差值;若第四拟合参数数组对应的偏差值小于更新后的当前最大偏差值,则将最大偏差值对应的拟合参数数组替换为 第四拟合参数数组;
第四公式为:next[i]=center[i]+gamma*(simp[worst][i]-center[i]);其中,next[i]中i为0至i为m-1的位置用于存放第四拟合参数数组,i为m的位置用于存放第四拟合 参数数组对应的偏差值;gamma的值为2.0;
步骤C:若第三拟合参数数组对应的偏差值不小于当前的最小偏差值,且小于当前的 第二大偏差值,则将当前的第一拟合参数数组和第二拟合参数数组集合中,最大偏差值对 应的拟合参数数组值替换为第三拟合参数数组;
步骤D:若第三拟合参数数组对应的偏差值不小于当前的第二大偏差值,则基于第五 公式,获得第五拟合参数数组和对应的偏差值;以及,若第五拟合参数数组对应的偏差值 不大于第二大偏差值,则将最大偏差值对应的拟合参数数组替换为第五拟合参数数组,否则,基于第六公式对simp多维数组中除最小偏差对应的拟合参数外的其他各组拟合参数进行更新,并重新计算对应的偏差值;
第五公式为:next[i]=center[i]+beta*(simp[worst][i]-center[i]);其中,next[i]中 i为0至i为m-1的位置用于存放第五拟合参数数组,i为m的位置用于存放第五拟合参数 数组对应的偏差值;beta的值为0.5;
第六公式为:simp[i][j]=beta*(simp[i][j]+simp[best][j]);其中,simp[best][j]表征 多维数组simp中当前的最小偏差值所对应的拟合参数,beta的值为0.5。
通过步骤A至步骤D,多维数组simp中的数据进行更新,进而实现对拟合参数的更新。具体的用偏差值指导拟合参数的调整,偏差值越小,意味着赋值有对应拟合参数的拟合函数的拟合效果最好。根据初始化时确定的第一拟合参数数组和基于该第一拟合参数数组扩展的第二拟合参数数组集合计算出所对应的偏差值,从中筛选出最大偏差值、最小偏差值和第二大偏差值。将除最小偏差值之外的其他偏差值对应的拟合参数一一对应相加,并通过第三公式计算获得第三拟合参数数组,将其赋值给数组next,并更新数组next中最后一位存放的偏差值。将数组next中的偏差值与前述获得得最大偏差值、最小偏差值和第二大偏差值进行对比,有三种不同的情况,分别三种不同的参数调整处理,分别对应步骤 B至步骤D。
进一步地,第二参数计算单元执行步骤A至步骤D之后,还用于判断是否满足要求,用以控制循环。在一个示例中,通过设定一个最大重复次数控制循环,当循环次数大于预设的重复次数,则停止循环;否则继续执行步骤A至步骤D。
为了提高计算效率,在上一个示例的基础上,还可以设定一个总偏差的限定值,用于 控制步骤A至步骤D的循环。当循环次数不大于预设的重复次数时,继续对总偏差值进行判断。当总偏差值不小于设定数值时,则继续循环。一般该设定值为一个极小值,比如 1e-10。当总偏差值小于设定数值时,则继续判断restarts是否小于0,若小则停止循环,若 不小则重复循环,并将目前多维数组simp中最小偏差值对应的子数组内的数值赋值给第 一子数组。其中,restarts的作用是为了判断收敛性,当连续多次计算所得总偏差值小于设定数值,则表明计算结果收敛且可信。
具体的,当前的总偏差是根据当前第一拟合参数数组和第二拟合参数数组集合中各组 拟合参数对应的偏差值,通过第七公式计算所得,其中第七公式为:
其中,simp[best][m]表征多维数组simp中当前的最小偏差值;simp[worst][m]表征多 维数组simp中当前的最大偏差值。
在一个示例中,为了更加直观,输入单元30还包括提供交互界面,交互界面包括用于输入拟合数据的控件和多种拟合函数选项;获取交互界面下输入的拟合数据P(x,y), 以及根据被选中的拟合函数选项,确定当前的拟合函数。在上述示例的基础上,交互界面 还会显示经赋值的拟合函数、伽马曲线以及拟合数据P(x,y)在伽马曲线所在坐标系中对应的坐标点。进一步地,根据经赋值的拟合函数,获得所有初始灰阶对应的实际伽马值; 生成数据文件并导出,数据文件包括所有初始灰阶对应的实际伽马值。上述设置,提供了 可视化伽马函数拟合交互界面,操作便捷;通过相关系数客观提醒匹配度,更加直观明了。 实际应用过程中,可根据需求设计生成其他类型的数据文件,文件内包含后接设备所需的 伽马调整后的亮度数据。这种先获得平滑的曲线再点的方式,避免了传统手动调节造成曲 线不平滑的现象,大大缩短调试时间。
本申请提供一种伽马曲线调整装置,包括:接收模块10,用于接收伽马曲线的调整指令,调整指令包括伽马曲线对应拟合函数的参数调整值;其中,伽马曲线是基于拟合数据和拟合函数通过进行拟合获得的;处理模块20,用于基于参数调整值,对伽马曲线对 应的拟合函数的参数进行重新赋值;处理模块20,还用于根据重新赋值后的拟合函数, 生成调整后的伽马曲线。通过调整伽马曲线对应拟合函数的参数可获得调整后的平滑 的伽马曲线,减少调整和对比次数,简化流程,缩短调试时间,节省人力物力。
实施例三
图9为本申请实施例三提供的一种电子设备的结构示意图,如图7所示,电子设备包 括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信 接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理 器291可以调用存储器292中的逻辑指令,以执行上述实施例一的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立 的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序, 如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292 中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例 中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至 少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此 外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机 执行指令,计算机执行指令被处理器执行时用于实现实施例一提供的方法。
本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器 执行时实现实施例一提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实 施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者 适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或 惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可 以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (9)
1.一种伽马曲线调整方法,其特征在于,包括:
接收伽马曲线的调整指令,所述调整指令包括所述伽马曲线对应拟合函数的参数调整值;
基于所述参数调整值,对所述伽马曲线对应的拟合函数的参数进行重新赋值;
根据重新赋值后的拟合函数,生成调整后的伽马曲线;
所述接收伽马曲线的调整指令之前,还包括:
获取输入的拟合数据P(x,y),以及确定当前的所述拟合函数;其中,x为输入的亮度值,y为x对应的预设的目标亮度值;
根据所述拟合数据P(x,y)和所述拟合函数,进行拟合处理,获得经赋值的拟合函数,所述拟合处理包括:根据所述拟合数据P(x,y)和所述拟合函数,拟合获得初始的第一拟合参数数组;根据所述第一拟合参数数组,获得第二拟合参数数组集合,其中,所述第二拟合参数数组集合包括多个拟合参数数组;基于当前的第一拟合参数数组和第二拟合参数数组集合,计算获取每个拟合参数数组对应的偏差值,并确定其中的最小偏差值、最大偏差值和第二大偏差值;其中,拟合参数对应的偏差值为计算值y’与拟合数据y的差值的算术平方根的和,计算值y’是将拟合数据x作为输入,由赋值有所述拟合参数的所述拟合函数计算输出的结果;对第一拟合参数数组和第二拟合参数数组集合进行修正;计算修正后的每个拟合参数数组对应的偏差值,确定最小偏差值;将所述最小偏差值对应的拟合参数赋值给所述拟合函数,获得经赋值的拟合函数;
基于所述经赋值的拟合函数,生成初始的伽马曲线。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一拟合参数数组,获得第二拟合参数数组集合包括:
根据所述第一拟合参数数组,结合第一公式和第二公式,计算获得第二拟合参数数组集合;所述第二拟合参数数组集合至少包括两组拟合参数数组;
所述第一公式为:
其中,step[i]=simp[0][i]/2;
其中,m是所述拟合函数中拟合参数的数量;p是长度为m的一维数组;p[i]表征拟合参数数组中每个拟合参数对应的第一修正值,0≤i≤m-1,i为整数;
simp为行数和列数为m+1的多维数组,simp[0][i]表征simp数组中第一子数组,0≤i≤m,i为整数,i为0至m-1的位置用于存放所述第一拟合参数数组中的拟合参数,i为m的位置用于存放所述第一拟合参数数组对应的偏差值;
step是长度为m的一维数组,0≤i≤m-1,i为整数,i为0至m-1的位置对应存放所述第一拟合参数数组中各个拟合参数的值的一半;
所述第二公式为:
其中,q为长度为m的一维数组;q[i]是表征拟合参数数组中每个拟合参数对应的第二修正值。
3.根据权利要求1所述的方法,其特征在于,所述对第一拟合参数数组和第二拟合参数数组集合进行修正,包括:
通过重复执行修正处理直至满足要求,对所述第一拟合参数数组和所述第二拟合参数数组集合进行修正,其中,所述要求包括达到预设的重复次数;所述修正处理包括:
将当前所述第一拟合参数数组和所述第二拟合参数数组集合中各个拟合参数数组对应的偏差值中,除最大偏差值之外的其它偏差值对应的各个拟合参数数组中的拟合参数进行一一对应相加处理,所述相加处理后获得的数据存放于center数组中,并基于所述center数组和第三公式,获得当前的第三拟合参数数组next数组,以及,计算所述第三拟合参数数组对应的偏差值;
所述第三公式为:next[i]=center[i]/m+alpha*(simp[worst][i]-center[i]);其中,next是长度为m+1的一维数组;next[i]是数组next中第i位元素;next[i]中i为0至m-1的位置用于存放第三拟合参数数组,i为m的位置用于存放所述第三拟合参数数组对应的偏差值;center为长度为m+1的一维数组;center[i]是数组center中第i位元素,赋值为对所述数组center中除最大偏差值之外的其它偏差值对应的各个拟合参数数组中的拟合参数进行一一对应相加处理获得的数据;alpha的值为-0.1;simp[worst][i]表征多维数组simp中当前的最大偏差值所对应的拟合参数数组的拟合参数值;
若所述第三拟合参数数组对应的偏差值小于所述最小偏差值,则将当前的第一拟合参数数组和第二拟合参数数组集合中,最大偏差值对应的拟合参数替换为所述第三拟合参数数组,然后基于第四公式,获得第四拟合参数数组和对应的偏差值;若第四拟合参数数组对应的偏差值小于更新后的当前最大偏差值,则将所述最大偏差值对应的拟合参数替换为所述第四拟合参数数组;
所述第四公式为:next[i]=center[i]+gamma*(simp[worst][i]-center[i]);其中,next[i]中i为0至m-1的位置用于存放第四拟合参数数组,i为m的位置用于存放所述第四拟合参数数组对应的偏差值;gamma的值为2.0;
若所述第三拟合参数数组对应的偏差值不小于当前的最小偏差值,且小于当前的第二大偏差值,则将当前的第一拟合参数数组和第二拟合参数数组集合中,最大偏差值对应的拟合参数数组替换为所述第三拟合参数数组;
若所述第三拟合参数数组对应的偏差值不小于当前的第二大偏差值,则基于第五公式获得第五拟合参数数组和对应的偏差值;以及,若第五拟合参数数组对应的偏差值不大于第二大偏差值,则将所述最大偏差值对应的拟合参数数组替换为所述第五拟合参数数组,否则,基于第六公式对simp多维数组中除最小偏差对应的拟合参数外的其他各组拟合参数进行更新,并重新计算对应的偏差值;
所述第五公式为:next[i]=center[i]+beta*(simp[worst][i]-center[i]);其中,next[i]中i为0至m-1的位置用于存放第五拟合参数数组,i为m的位置用于存放所述第五拟合参数数组对应的偏差值;beta的值为0.5;
所述第六公式为:simp[i][j]=beta*(simp[i][j]+simp[best][j]);其中,simp[i][j]中,对于每行来说,j为0至m-1的位置用于存放该拟合函数的方程的每组拟合参数,即,每行包括m个拟合参数,j为m的位置用于存放每组拟合参数对应的偏差值;simp[best][j]表征多维数组simp中当前的最小偏差值所对应的拟合参数。
4.根据权利要求3所述的方法,其特征在于,所述要求包括达到预设的重复次数或者当前总偏差值达到预设的数值;每次执行所述修正处理之后,还包括:
根据当前第一拟合参数数组和第二拟合参数数组集合中各组拟合参数对应的偏差值,根据第七公式计算当前的总偏差;
所述第七公式为:
其中,simp[best][m]表征多维数组simp中当前的最小偏差值;simp[worst][m]表征多维数组simp中当前的最大偏差值。
5.根据权利要求1所述的方法,其特征在于,所述获取输入的拟合数据P(x,y),以及确定当前的拟合函数,包括:
提供交互界面,交互界面包括用于输入拟合数据的控件和多种拟合函数选项;
获取交互界面下输入的拟合数据P(x,y),以及根据被选中的拟合函数选项,确定当前的拟合函数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
显示所述经赋值的拟合函数、所述伽马曲线以及所述拟合数据P(x,y)在所述伽马曲线所在坐标系中对应的坐标点。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述经赋值的拟合函数,获得所有初始灰阶对应的实际伽马值;
生成数据文件并导出,所述数据文件包括所有初始灰阶对应的实际伽马值。
8.一种伽马曲线调整装置,其特征在于,包括:
接收模块,用于接收伽马曲线的调整指令,所述调整指令包括所述伽马曲线对应拟合函数的参数调整值;
处理模块,用于基于所述参数调整值,对所述伽马曲线对应的拟合函数的参数进行重新赋值;
所述处理模块,还用于根据重新赋值后的拟合函数,生成调整后的伽马曲线;
在接收伽马曲线的调整指令之前,所述处理模块,还用于获取输入的拟合数据P(x,y),以及确定当前的所述拟合函数;其中,x为输入的亮度值,y为x对应的预设的目标亮度值;
根据所述拟合数据P(x,y)和所述拟合函数,进行拟合处理,获得经赋值的拟合函数,所述拟合处理包括:根据所述拟合数据P(x,y)和所述拟合函数,拟合获得初始的第一拟合参数数组;根据所述第一拟合参数数组,获得第二拟合参数数组集合,其中,所述第二拟合参数数组集合包括多个拟合参数数组;基于当前的第一拟合参数数组和第二拟合参数数组集合,计算获取每个拟合参数数组对应的偏差值,并确定其中的最小偏差值、最大偏差值和第二大偏差值;其中,拟合参数对应的偏差值为计算值y’与拟合数据y的差值的算术平方根的和,计算值y’是将拟合数据x作为输入,由赋值有所述拟合参数的所述拟合函数计算输出的结果;对第一拟合参数数组和第二拟合参数数组集合进行修正;计算修正后的每个拟合参数数组对应的偏差值,确定最小偏差值;将所述最小偏差值对应的拟合参数赋值给所述拟合函数,获得经赋值的拟合函数;
基于所述经赋值的拟合函数,生成初始的伽马曲线。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111090938.3A CN113763281B (zh) | 2021-09-17 | 2021-09-17 | 伽马曲线调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111090938.3A CN113763281B (zh) | 2021-09-17 | 2021-09-17 | 伽马曲线调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113763281A CN113763281A (zh) | 2021-12-07 |
CN113763281B true CN113763281B (zh) | 2023-12-12 |
Family
ID=78796097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111090938.3A Active CN113763281B (zh) | 2021-09-17 | 2021-09-17 | 伽马曲线调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113763281B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114885143B (zh) * | 2022-03-24 | 2024-09-27 | 浙江大华技术股份有限公司 | 一种色彩校正矩阵的调整方法、装置、终端及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063282A (ja) * | 2003-08-19 | 2005-03-10 | Tokukin Kagi Kofun Yugenkoshi | 局所的統計特性を用いるガンマ補正の改善方法 |
CN102348126A (zh) * | 2010-08-02 | 2012-02-08 | 厦门华侨电子股份有限公司 | 一种通过电脑实现自动调整电视机Gamma曲线的方法 |
CN103440656A (zh) * | 2013-08-27 | 2013-12-11 | 华南理工大学 | 一种基于泰勒级数拟合建立查找表的图像伽马校正方法 |
CN104484864A (zh) * | 2014-12-31 | 2015-04-01 | 苏州科达科技股份有限公司 | 获取图像伽马曲线、增强图像对比度的方法及系统 |
CN105993170A (zh) * | 2015-01-06 | 2016-10-05 | 奥林巴斯株式会社 | 图像处理装置、摄像装置、图像处理方法以及图像处理程序 |
CN106409212A (zh) * | 2016-12-12 | 2017-02-15 | 深圳Tcl数字技术有限公司 | 伽马曲线调整方法及装置 |
CN109036326A (zh) * | 2018-10-23 | 2018-12-18 | 惠科股份有限公司 | 一种调整显示面板的伽马曲线方法及装置 |
CN111127341A (zh) * | 2019-12-05 | 2020-05-08 | Oppo广东移动通信有限公司 | 图像处理方法和装置、及存储介质 |
CN111402163A (zh) * | 2020-03-17 | 2020-07-10 | 武汉精立电子技术有限公司 | 一种gamma校正系统及方法 |
CN112634148A (zh) * | 2020-12-08 | 2021-04-09 | 深圳市锐尔觅移动通信有限公司 | 图像的校正方法、设备以及存储介质 |
CN112714356A (zh) * | 2020-12-18 | 2021-04-27 | 北京百度网讯科技有限公司 | 图像亮度校正方法、装置、设备以及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4973372B2 (ja) * | 2007-08-06 | 2012-07-11 | 株式会社ニコン | 画像処理装置、撮像装置および画像処理プログラム |
US9256943B2 (en) * | 2013-03-28 | 2016-02-09 | Texas Instruments Incorporated | Projector-camera misalignment correction for structured light systems |
KR102069269B1 (ko) * | 2014-01-21 | 2020-01-22 | 한화테크윈 주식회사 | 영상 안정화 장치 및 방법 |
-
2021
- 2021-09-17 CN CN202111090938.3A patent/CN113763281B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063282A (ja) * | 2003-08-19 | 2005-03-10 | Tokukin Kagi Kofun Yugenkoshi | 局所的統計特性を用いるガンマ補正の改善方法 |
CN102348126A (zh) * | 2010-08-02 | 2012-02-08 | 厦门华侨电子股份有限公司 | 一种通过电脑实现自动调整电视机Gamma曲线的方法 |
CN103440656A (zh) * | 2013-08-27 | 2013-12-11 | 华南理工大学 | 一种基于泰勒级数拟合建立查找表的图像伽马校正方法 |
CN104484864A (zh) * | 2014-12-31 | 2015-04-01 | 苏州科达科技股份有限公司 | 获取图像伽马曲线、增强图像对比度的方法及系统 |
CN105993170A (zh) * | 2015-01-06 | 2016-10-05 | 奥林巴斯株式会社 | 图像处理装置、摄像装置、图像处理方法以及图像处理程序 |
CN106409212A (zh) * | 2016-12-12 | 2017-02-15 | 深圳Tcl数字技术有限公司 | 伽马曲线调整方法及装置 |
CN109036326A (zh) * | 2018-10-23 | 2018-12-18 | 惠科股份有限公司 | 一种调整显示面板的伽马曲线方法及装置 |
CN111127341A (zh) * | 2019-12-05 | 2020-05-08 | Oppo广东移动通信有限公司 | 图像处理方法和装置、及存储介质 |
CN111402163A (zh) * | 2020-03-17 | 2020-07-10 | 武汉精立电子技术有限公司 | 一种gamma校正系统及方法 |
CN112634148A (zh) * | 2020-12-08 | 2021-04-09 | 深圳市锐尔觅移动通信有限公司 | 图像的校正方法、设备以及存储介质 |
CN112714356A (zh) * | 2020-12-18 | 2021-04-27 | 北京百度网讯科技有限公司 | 图像亮度校正方法、装置、设备以及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于实测校正因子的实时伽马校正算法;韦海成等;《电视技术》;第31-34页 * |
曲线拟合在伽玛变换中的应用;高利涛;李斯龙;宋冬立;;才智(第21期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113763281A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3429188B1 (en) | Regulation method, terminal equipment and non-transitory computer-readable storage medium for automatic exposure control of region of interest | |
CN108924525B (zh) | 图像亮度调整方法、装置、计算机设备及存储介质 | |
CN106686319B (zh) | 一种图像曝光的控制方法及其装置 | |
US11501689B2 (en) | Control method and control apparatus for brightness of display panel, storage medium and processor | |
CN109036333B (zh) | 显示器的显示参数校正方法、装置、终端设备及存储介质 | |
CN113763281B (zh) | 伽马曲线调整方法及装置 | |
CN104301622B (zh) | 一种天基空间目标成像曝光时间自适应控制方法及装置 | |
CN113658538A (zh) | 亮度补偿数据生成、亮度补偿方法、装置和计算机设备 | |
CN110969688B (zh) | 一种实景三维模型实时匀色方法 | |
CN113920037A (zh) | 一种内窥镜画面矫正方法、装置、矫正系统及存储介质 | |
CN113160090A (zh) | 一种图像校正的方法及装置 | |
CN112243119B (zh) | 一种白平衡处理方法、装置、电子设备及存储介质 | |
CN111476731A (zh) | 图像矫正方法、装置、存储介质及电子设备 | |
CN110276737A (zh) | 图像优化处理方法、装置、设备及存储介质 | |
CN114077887A (zh) | 显示屏逐点校正前的处理方法、装置、设备及存储介质 | |
CN114327339B (zh) | 一种led显示屏模拟校正显示方法、装置及电子设备 | |
CN110913195A (zh) | 白平衡自动调节方法、装置及计算机可读存储介质 | |
CN111145306A (zh) | 图片处理方法及装置、电子设备和计算机可读存储介质 | |
CN118138903A (zh) | 图像处理方法及其装置 | |
CN117424970B (zh) | 灯光控制方法、装置、移动终端及存储介质 | |
CN109166560B (zh) | 伽马校正方法、装置、设备和存储介质 | |
CN117544861A (zh) | 图像校正方法及其装置 | |
CN116486735A (zh) | 显示屏的色彩显示校正方法、装置、设备、介质及产品 | |
CN116030159A (zh) | 校正曲线的生成方法、装置及存储介质 | |
CN113327534A (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 |