一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种表征图像信息的曲线生成方法、装置及存储介质与流程

2022-06-05 11:19:26 来源:中国专利 TAG:
1.本公开涉及数据处理
技术领域
:,尤其涉及一种表征图像信息的曲线生成方法、装置及存储介质。
背景技术
::2.在图像信号处理调试(isptuning)工具中,经常会遇到需要使用曲线对图像像素信息进行映射的操作。为了使得图像的变化尽量自然,光滑的曲线是必不可少的前提条件。从用户交互的角度考虑,为了让用户能够自定义曲线的形状,曲线的形状往往由多个锚点进行控制,且锚点在规定范围内是可以被任意拖动的。现有的解决方案如贝塞尔曲线,可以根据用户给出的锚点得到曲线的形状。然而,贝塞尔曲线的缺点在于拖动一个锚点时,与锚点相邻的线段会传播形变,且形变的传播范围较大,不便于对图像部分像素信息的调试。技术实现要素:3.有鉴于此,本公开的实施例提供了一种表征图像信息的曲线生成方法、装置及存储介质。4.根据本公开的第一方面,本公开实施例提供了一种表征图像信息的曲线生成方法,包括:获取多个锚点分别对应的坐标数据,各锚点的坐标数据中第一坐标数据用于表征图像的像素点的像素信息,各锚点的坐标数据中第二坐标数据用于表征像素信息的校正参数;根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,其中,曲线段为相邻两个锚点之间的曲线;根据各曲线段对应的实际表达式,生成表征图像信息的曲线。5.根据本公开的第二方面,本公开实施例提供了一种表征图像信息的曲线生成装置,包括:获取模块,用于获取多个锚点分别对应的坐标数据,各锚点的坐标数据中第一坐标数据用于表征图像的像素点的像素信息,各锚点的坐标数据中第二坐标数据用于表征像素信息的校正参数;计算模块,用于根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,其中,曲线段为相邻两个锚点之间的曲线;绘制模块,用于根据各曲线段对应的实际表达式,生成表征图像信息的曲线。6.根据本公开的第三方面,本公开实施例提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行如第一方面或第一方面任意实施方式中的表征图像信息的曲线生成方法。7.根据本公开的第四方面,本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如第一方面或第一方面任意实施方式中的表征图像信息的曲线生成方法。8.本公开的实施例提供的表征图像信息的曲线生成方法、装置及存储介质,通过获取多个锚点分别对应的坐标数据,各锚点的坐标数据中第一坐标数据用于表征图像的像素点的像素信息,各锚点的坐标数据中第二坐标数据用于表征像素信息的校正参数;根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,其中,曲线段为相邻两个锚点之间的曲线;根据各曲线段对应的实际表达式,生成表征图像信息的曲线。如此,是将表征图像信息的曲线分成了多个曲线段,通过分别计算表征图像信息的曲线中各曲线段的实际表达式,来生成各曲线段,从而基于各曲线段的组合即可生成用于表征图像信息的曲线,这样,在任意拖动一个锚点时,影响的只是该锚点对应的相邻两个曲线段,而其他曲线段不受影响,可以实现对图像部分像素信息的调试。9.上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。附图说明10.图1示出了本公开实施例中一种表征图像信息的曲线生成方法的流程示意图;11.图2示出了本公开实施例步骤s102的流程示意图;12.图3示出了本公开实施例中相邻两锚点对应的曲线段的形状示意图;13.图4示出了本公开实施例中相邻两锚点对应的曲线段的另一形状示意图;14.图5示出了本公开实施例中另一表征图像信息的曲线生成方法的流程示意图;15.图6示出了本公开实施例中一种不闭合曲线的形状示意图;16.图7示出了本公开实施例中一种表征图像信息的曲线生成装置的结构示意图;17.图8示出了本公开实施例中一种电子设备的硬件结构示意图。具体实施方式18.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。19.本公开实施例提供了一种表征图像信息的曲线生成方法,可应用于对图像的局部或部分像素信息进行调试,如图1所示,表征图像信息的曲线生成方法的具体步骤包括:20.步骤s101,获取多个锚点分别对应的坐标数据,各锚点的坐标数据中第一坐标数据用于表征图像的像素点的像素信息,各锚点的坐标数据中第二坐标数据用于表征像素信息的校正参数。21.在本实施例中,用于生成表征图像信号的曲线的锚点的个数不限。可以通过输入设备输入多个坐标数据,来得到多个锚点分别对应的坐标数据。例如,通过输入设备输入多个坐标数据[[x0,y0],[x1,y1],[x2,y2]…[xi,yi]],i=0,1…n,多个坐标数据为依据表征图像信息的曲线的形状,顺序选取的多个锚点对应的坐标数据,[x0,y0]为选取的第一个锚点对应的坐标数据,[xn,yn]为选取的最后一个锚点对应的坐标数据。xi为第一坐标数据,yi为第二坐标数据。像素信息可以为图像的像素点的像素值,像素信息的校正参数可以为像素值的校正值。[0022]步骤s102,根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,其中,曲线段为相邻两个锚点之间的曲线。[0023]在本实施例中,各段曲线分别对应的通用表达式可以相同,也可以不同。示例性的,各段曲线分别对应的通用表达式可以均用三次方程y=ax3 bx2 cx d来表达,三次方程可以保证曲线的非线性,但并不以此为限,在其他实施例中,还可以用二次方程或其他次元方程来表达。[0024]根据光滑曲线绘制条件,针对每个锚点,都可以对应建立两个方程,一个是根据锚点在相邻曲线段上满足第二坐标数据相等建立方程,另一个是根据锚点在相邻曲线段上满足斜率相等建立方程。然后对方程组进行求解,即可得到各曲线段分别对应的实际表达式中的各系数,从而得到各曲线段分别对应的实际表达式。[0025]步骤s103,根据各曲线段对应的实际表达式,生成表征图像信息的曲线。[0026]在本实施例中,相邻两个锚点对应一个曲线段,基于各曲线段对应的实际表达式,可以生成各曲线段,各曲线段连接后形成的曲线即为表征图像信息的曲线。[0027]本公开的实施例提供的表征图像信息的曲线生成方法,通过获取多个锚点分别对应的坐标数据,各锚点的坐标数据中第一坐标数据用于表征图像的像素点的像素信息,各锚点的坐标数据中第二坐标数据用于表征像素信息的校正参数;根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,其中,曲线段为相邻两个锚点之间的曲线;根据各曲线段对应的实际表达式,生成表征图像信息的曲线。如此,是将表征图像信息的曲线分成了多个曲线段,分别计算表征图像信息的曲线中各曲线段的实际表达式,来生成各曲线段,进而基于各曲线段的组合生成表征图像信息的曲线,这样,在任意拖动一个锚点时,影响的只是该锚点对应的相邻两个曲线段,而其他曲线段不受影响,从而可以实现对图像部分像素信息的调试。[0028]在一个可选的实施方式中,步骤s102,根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,如图2所示,具体包括:[0029]步骤s102a,基于光滑曲线绘制条件和各曲线段分别对应的通用表达式,得到各锚点的方程组。[0030]步骤s102b,基于各锚点分别对应的坐标数据和方程组,得到各曲线段分别对应的实际表达式。[0031]在一些实施例中,针对步骤s102a,光滑曲线绘制条件包括:每个锚点对应的相邻两个曲线段在该锚点处的第二坐标数据相同,且相邻两个曲线段在该锚点处的斜率相同。以此保证基于锚点绘制的曲线为光滑曲线。根据光滑曲线绘制条件,针对每个锚点,都可以建立两个方程,一个根据锚点的坐标数据建立曲线段方程,即根据锚点在相邻曲线段上满足第二坐标数据相等建立方程,另一个是根据锚点的坐标数据建立斜率方程,即根据锚点在相邻曲线段上满足斜率相等建立方程。[0032]在一些实施例中,针对步骤s102b,基于各锚点分别对应的坐标数据和方程组,得到各曲线段分别对应的实际表达式,包括:[0033]基于多个锚点分别对应的坐标数据,确定表征图像信息的曲线的闭合情况;根据表征图像信息的曲线的闭合情况及各锚点分别对应的坐标数据,得到各锚点分别对应的斜率;根据各锚点分别对应的斜率、各锚点分别对应的坐标数据、和方程组,得到各曲线段分别对应的通用表达式中的系数;根据各曲线段分别对应的通用表达式中的系数,确定各曲线段分别对应的实际表达式。[0034]具体实施时,根据表征图像信息的曲线的闭合情况及各锚点分别对应的坐标数据,得到各锚点分别对应的斜率,包括:确定表征图像信息的曲线为不闭合曲线,根据各锚点分别对应的坐标数据及第一计算方式,得到各锚点分别对应的斜率;或者确定表征图像信息的曲线为闭合曲线,根据各锚点分别对应的坐标数据及第二计算方式,得到各锚点分别对应的斜率。[0035]在一个具体实施方式中,所有锚点对应的坐标数据列表为[[x0,y0],[x1,y1],[x2,y2]…[xi,yi]],其中,i=0,1…n,该坐标数据列表为依据表征图像信息的曲线的形状,顺序选取的多个锚点对应的坐标数据序列。为了使得表征图像信息的曲线在拖拽的过程中没有明显跳变,且保证曲线形状利于图像调试,可以规定第一计算方式和第二计算方式。[0036]其中,第一计算方式对应的表征图像信息的曲线为不闭合曲线,第一计算方式可以分为以下几种情况:[0037]1)当(xi,yi)即(x0,y0)时,记(x0,y0)点的斜率为k0,k0应为(x0,y0)与(x1,y1)连线的斜率。[0038]2)当(xi,yi)即(xn,yn)时,记(xn,yn)点的斜率为kn,kn应为(xn,yn)与(xn-1,yn-1)连线的斜率。[0039]3)当yi-1《yi且yi 1《yi,或者yi-1》yi且yi 1》yi时,记(xi,yi)点的斜率为ki,ki应为0,如图3。[0040]4)当yi-1《yi《yi 1或者yi-1》yi》yi 1时,如图4,记(xi,yi)点的斜率为ki,点(xi-1,yi-1)与点(xi,yi)连线的斜率为k01,点(xi,yi)与点(xi 1,yi 1)连线的斜率为k12,点(xi-1,yi-1)与点(xi 1,yi 1)连线的斜率为k02,那么ki的取值分为以下几种情况:[0041]当锚点位于区域2或区域3时:ki=k02;[0042]当锚点位于区域1时:ki=2*k12;[0043]当锚点位于区域4时:ki=2*k01;[0044]其中,4个区域的三条分界线的斜率都等于k02,且其中两条分界线相交于矩形框边长的中点。[0045]由于第二计算方式对应的表征图像信息的曲线为闭合曲线,因此第二计算方式可以分为以下几种情况:[0046]1)当(xi,yi)即(x0,y0)时,记(x0,y0)点的斜率为k0。如果yn-1《y0且y1《y0,或者yn-1》y0且y1》y0,那么k0=0。如果yn-1《y0《y1或者yn-1》y0》y1时,将点(xn-1,yn-1)转换为点(xn-1-xrange,yn-1),那么点(xn-1-xrange,yn-1)与点(x0,y0)连线的斜率为k01,点(x0,y0)与点(x1,y1)连线的斜率为k12,点(xn-1-xrange,yn-1)与点(x1,y1)连线的斜率为k02,xrange=xn-x0。那么k0的取值如图4所示,分为以下几种情况:当锚点位于区域2或区域3时:k0=k02;当锚点位于区域1时:k0=2*k12;当锚点位于区域4时:k0=2*k01;其中,4个区域的三条分界线的斜率都等于k02,且其中两条分界线相交于矩形框边长的中点。[0047]2)当(xi,yi)即(xn-1,yn-1)时,记(xn-1,yn-1)点的斜率为kn-1。a)如果yn-1《y0且yn-1《yn-2,或者yn-1》y0且yn-1》yn-2,那么kn-1=0。b)如果yn-2《yn-1《y0或者yn-2》yn-1》y0时,将点(x0,y0)转换为点(x0 xrange,y0),那么点(x0 xrange,y0)与点(xn-1,yn-1)连线的斜率为k01,点(xn-1,yn-1)与点(xn-2,yn-2)连线的斜率为k12,点(x0 xrange,y0)与点(xn-2,yn-2)连线的斜率为k02。那么kn-1的取值如图4所示,分为以下几种情况:当锚点位于区域2或区域3时:ki=k02;当锚点位于区域1时:kn-1=2*k12;当锚点位于区域4时:kn-1=2*k01;其中,4个区域的三条分界线的斜率都等于k02,且其中两条分界线相交于矩形框边长的中点。[0048]3)当(xi,yi)即(xn,yn)时,记(xn,yn)点的斜率为kn,kn应为(xn,yn)与(xn-1,yn-1)连线的斜率。[0049]4)当yi-1《yi且yi 1《yi,或者yi-1》yi且yi 1》yi时,记(xi,yi)点的斜率为ki,ki应为0,如图3。[0050]5)当yi-1《yi《yi 1或者yi-1》yi》yi 1时,如图4,记(xi,yi)点的斜率为ki,点(xi-1,yi-1)与点(xi,yi)连线的斜率为k01,点(xi,yi)与点(xi 1,yi 1)连线的斜率为k12,点(xi-1,yi-1)与点(xi 1,yi 1)连线的斜率为k02,那么ki的取值分为以下几种情况:[0051]当锚点位于区域2或区域3时:ki=k02;[0052]当锚点位于区域1时:ki=2*k12;[0053]当锚点位于区域4时:ki=2*k01;[0054]其中,4个区域的三条分界线的斜率都等于k02,且其中两条分界线相交于矩形框边长的中点。当(xi,yi)即(xn,yn)时,记(xi,yi)点的斜率为ki,ki应为(xn,yn)与(xn-1,yn-1)连线的斜率。[0055]其中,4个区域的三条分界线的斜率都等于k02,且其中两条分界线相交于矩形框边长的中点。[0056]根据表征图像信息的曲线的闭合情况、上述的第一计算方式、第二计算方式及各锚点分别对应的坐标数据,就可以计算到各锚点分别对应斜率。从而可以将各锚点分别对应的斜率、各锚点分别对应的坐标数据代入各锚点的方程组,通过解方程组,得到各曲线段分别对应的通用表达式中的系数,例如,三次方程中的a、b、c、d的具体数值,然后将各曲线段分别对应的通用表达式中的系数分贝代入各曲线段分别对应的通用表达式,就可以得到各曲线段分别对应的实际表达式。[0057]在本公开实施例中,通过基于光滑曲线绘制条件和各曲线段分别对应的通用表达式,分别获取各锚点对应的方程组,并基于各锚点分别对应的坐标数据和斜率对方程组进行求解,可以快速得到各曲线段分别对应的通用表达式中的系数,从而快速确定各曲线段分别对应的实际表达式。[0058]在一个可选的实施例中,表征图像信息的曲线生成方法,如图5所示,还包括:[0059]步骤s104,获取发生变化的第一锚点的坐标数据。[0060]步骤s105,根据光滑曲线绘制条件、第一锚点对应的相邻两个曲线段分别对应的通用表达式、第一锚点的坐标数据、及与第一锚点相邻的两个锚点的坐标数据,得到第一锚点对应的相邻两个曲线段分别对应的第一实际表达式;[0061]步骤s106,根据第一实际表达式重新生成第一锚点对应的相邻两个曲线段。[0062]在本实施例中,针对步骤s104,当用户通过表征图像信息的曲线向对图像局部的像素点进行像素信息的调整时,可以通过对第一锚点进行任意拖动实现,而对第一锚点进行拖动时,第一锚点的坐标数据将发生变化,发生变化的第一锚点的坐标数据可以记录得到。[0063]在一些实施例中,针对步骤s105,根据光滑曲线绘制条件、第一锚点对应的相邻两个曲线段分别对应的通用表达式、第一锚点的坐标数据、及与第一锚点相邻的两个锚点的坐标数据,得到第一锚点对应的相邻两个曲线段分别对应的第一实际表达式,包括:基于光滑曲线绘制条件和第一锚点对应的相邻两个曲线段分别对应的通用表达式,得到第一锚点及与第一锚点相邻的两个锚点的第一方程组;基于第一锚点的坐标数据、及与第一锚点相邻的两个锚点分别对应的坐标数据和第一方程组,得到第一锚点对应的相邻两个曲线段分别对应的第一实际表达式。[0064]具体地,由于表征图像信息的曲线由各曲线段组合而成,而拖动第一锚点时,影响的只是与第一锚点对应的相邻两个曲线段的曲线,因此,仅需要重新绘制与第一锚点对应的相邻两个曲线段的曲线就可以,从而实现对图像局部像素信息的调试。[0065]在重新绘制与第一锚点对应的相邻两个曲线段的曲线时,需要重新计算与第一锚点对应的相邻两个曲线段的实际表达式,具体计算过程可以参见上述实施例步骤s101至步骤s103中的描述,不过此步骤中,仅涉及计算第一锚点及与第一锚点相邻的两个锚点,其他锚点不用再重复计算。[0066]在本公开实施例中,当第一锚点的坐标数据发生变化时,通过光滑曲线绘制条件、第一锚点对应的相邻两个曲线段分别对应的通用表达式、第一锚点的坐标数据、及与第一锚点相邻的两个锚点的坐标数据,计算第一锚点对应的相邻两个曲线段分别对应的第一实际表达式,从而可以仅计算坐标数据发生变化的第一锚点对应的相邻两个曲线段的实际表达式,并基于第一实际表达式重新生成第一锚点对应的相邻两个曲线段,不会改变表征图像信息的曲线的其他曲线段的形状变化,可以快速对图像局部像素信息进行调试,交互友好。[0067]为了进一步理解本公开,下述以一具体实施方式对本公开实施例提供的一种表征图像信息的曲线生成方法进行描述。[0068]用户输入一个锚点的列表[[x0,y0],[x1,y1],[x2,y2]…[xi,yi]],i=0,1…n,锚点坐标数据列表为依据表征图像信息的曲线的形状,顺序选取的多个锚点对应的坐标数据序列,[x0,y0]为选取的第一个锚点对应的坐标数据,[xn,yn]为选取的最后一个锚点对应的坐标数据。其中锚点的个数不限,且另外输入曲线横坐标的取值范围xrange,假设xrange为[0,255]。且每一个曲线段都可以由一个三次方程y=ax3 bx2 cx d来表达,我们要求的就是每一个曲线段的[a,b,c,d]这四个系数。由已知条件可知:每个锚点的两个曲线段在该锚点处的纵坐标值相等,且两个曲线段在该锚点处的斜率也相等,这样就保证了曲线是光滑的。我们假设曲线是不闭合的,那么曲线上的第一个锚点和最后一个锚点是固定的,如图6所示。由上述条件可列方程组:[0069][0070][0071][0072][0073][0074][0075]…[0076][0077][0078]其中式(1)代表着点(x0,y0)在第一个曲线段上所满足的方程,式(2)代表点(x0,y0)处的斜率应等于k0.式(3)-(6)描述着中间锚点的特征,式(3)和式(5)分别代表点(x1,y1)在左边曲线段和右边曲线段所满足的方程,式(4)和式(6)分别代表点(x1,y1)在左边曲线段、右边曲线段上的斜率都应等于k1,之后的每一个中间点所列的公式以此类推,直到最后一个锚点。式(7)代表着点(xn,yn)在最后一个曲线段上所满足的方程,式(8)代表着点(xn,yn)处的斜率应等于kn-1。[0079]为了使得上述方程易解,可将方程组转化为矩阵相乘的形式:[0080][0081]上述矩阵相乘可写为:[0082]q*m=p;[0083]而m就是我们要求的曲线各线段的系数,则m应为:[0084]m=p*q-1。[0085]那么下一步就是要设置k0,k1...kn-1,从而使得曲线在拖拽的过程中没有明显跳变,且保证曲线形状是利于图像调试的。以下分为几种情况:[0086]1)当(xi,yi)即(x0,y0)时,记(xi,yi)点的斜率为ki,ki应为(xi,yi)与(xi 1,yi 1)连线的斜率。[0087]2)当(xi,yi)即(xn,yn)时,记(xi,yi)点的斜率为ki,ki应为(xn,yn)与(xn-1,yn-1)连线的斜率。[0088]3)当yi-1《yi且yi 1《yi,或者yi-1》yi且yi 1》yi时,记(xi,yi)点的斜率为ki,ki应为0,如图3。[0089]4)当yi-1《yi《yi 1或者yi-1》yi》yi 1时,如图4,记(xi,yi)点的斜率为ki,点(xi-1,yi-1)与点(xi,yi)连线的斜率为k01,点(xi,yi)与点(xi 1,yi 1)连线的斜率为k12,点(xi-1,yi-1)与点(xi 1,yi 1)连线的斜率为k02,那么ki的取值分为以下几种情况:[0090]当锚点位于区域2或区域3时:ki=k02;[0091]当锚点位于区域1时:ki=2*k12;[0092]当锚点位于区域4时:ki=2*k01;[0093]其中,4个区域的三条分界线的斜率都等于k02,且其中两条分界线相交于矩形框边长的中点。[0094]计算到了k0,k1...kn-1,而各锚点的坐标数据已知,进而可以求解到m,得到各曲线段对应的实际表达式。得到各曲线段对应的实际表达式后,就可以绘制出各曲线段,进而得到表征图像信息的曲线。当已知图像中某一个像素点的像素值为xn时,那么该像素值的调整像素值应该被映射到yn。也就是说光滑的曲线形成了一个查找表(lookuptable,lut),方便用户操作并调整图像的各个像素值。当用户拖动其中单个锚点时,拖动单个锚点的过程中不会出现曲线的形状跳变,且拖动单个锚点,只对该锚点两侧的曲线形状有影响,对其他段的曲线影响较小,易于图像局部像素值的调整,交互友好。[0095]本公开实施例还提供了一种表征图像信息的曲线生成装置,如图7所示,包括:[0096]获取模块41,用于获取多个锚点分别对应的坐标数据,各锚点的坐标数据中第一坐标数据用于表征图像的像素点的像素信息,各锚点的坐标数据中第二坐标数据用于表征像素信息的校正参数;具体的实施方式详见上述方法实施例步骤s101的描述,在此不再赘述。[0097]计算模块42,用于根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,其中,曲线段为相邻两个锚点之间的曲线;具体的实施方式详见上述方法实施例步骤s102的描述,在此不再赘述。[0098]绘制模块43,用于根据各曲线段对应的实际表达式,生成表征图像信息的曲线。具体的实施方式详见上述方法实施例步骤s103的描述,在此不再赘述。[0099]本公开的实施例提供的表征图像信息的曲线生成装置,通过获取多个锚点分别对应的坐标数据,各锚点的坐标数据中第一坐标数据用于表征图像的像素点的像素信息,各锚点的坐标数据中第二坐标数据用于表征像素信息的校正参数;根据光滑曲线绘制条件、各曲线段分别对应的通用表达式、及各锚点分别对应的坐标数据,得到各曲线段分别对应的实际表达式,其中,曲线段为相邻两个锚点之间的曲线;根据各曲线段对应的实际表达式,生成表征图像信息的曲线,如此,是将表征图像信息的曲线分成了多个曲线段,通过分别计算表征图像信息的曲线的各曲线段的实际表达式,来生成各曲线段,从而生成的表征图像信息的曲线,是各曲线段的组合,这样,在任意拖动一个锚点时,影响的只是该锚点对应的相邻两个曲线段,而其他曲线段不受影响,从而可以实现对图像部分像素信息的调试。[0100]在一个可选的实施例中,计算模块42包括:[0101]第一计算子模块,用于基于光滑曲线绘制条件和各曲线段分别对应的通用表达式,得到各锚点的方程组。[0102]第二计算子模块,用于基于各锚点分别对应的坐标数据和方程组,得到各曲线段分别对应的实际表达式。[0103]在一个可选的实施例中,光滑曲线绘制条件包括:每个锚点对应的相邻两个曲线段在该锚点处的第二坐标数据相同,且相邻两个曲线段在该锚点处的斜率相同。[0104]在一个可选的实施例中,第二计算子模块用于基于多个锚点分别对应的坐标数据,确定表征图像信息的曲线的闭合情况;根据表征图像信息的曲线的闭合情况及各锚点分别对应的坐标数据,得到各锚点分别对应的斜率;根据各锚点分别对应的斜率、各锚点分别对应的坐标数据、和方程组,得到各曲线段分别对应的通用表达式中的系数;根据各曲线段分别对应的通用表达式中的系数,确定各曲线段分别对应的实际表达式。[0105]在一个可选的实施例中,根据表征图像信息的曲线的闭合情况及各锚点分别对应的坐标数据,得到各锚点分别对应的斜率,包括:确定表征图像信息的曲线为不闭合曲线,根据各锚点分别对应的坐标数据及第一计算方式,得到各锚点分别对应的斜率;或者;确定表征图像信息的曲线为闭合曲线,根据各锚点分别对应的坐标数据及第二计算方式,得到各锚点分别对应的斜率。[0106]在一个可选的实施例中,表征图像信息的曲线生成装置还包括:[0107]第二获取模块,用于获取发生变化的第一锚点的坐标数据。[0108]第二计算模块,用于根据光滑曲线绘制条件、第一锚点对应的相邻两个曲线段分别对应的通用表达式、第一锚点的坐标数据、及与第一锚点相邻的两个锚点的坐标数据,得到第一锚点对应的相邻两个曲线段分别对应的第一实际表达式;[0109]生成模块,用于根据第一实际表达式重新生成第一锚点对应的相邻两个曲线段。[0110]在一个可选的实施例中,第二计算模块包括:[0111]第三计算子模块,用于基于光滑曲线绘制条件和第一锚点对应的相邻两个曲线段分别对应的通用表达式,得到第一锚点及与第一锚点相邻的两个锚点的第一方程组。[0112]第四计算子模块,用于基于第一锚点的坐标数据、及与第一锚点相邻的两个锚点分别对应的坐标数据和第一方程组,得到第一锚点对应的相邻两个曲线段分别对应的第一实际表达式。[0113]本公开实施例还提供了一种电子设备,下面说明本公开实施例提供的电子设备的示例性应用,本公开实施例提供的电子设备可以实施为电子设备,所述电子设备可以是服务器或终端设备。[0114]服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开实施例在此不做限制。[0115]参见图8,图8是本公开实施例提供的电子设备400的结构示意图,图8所示的电子设备400包括:至少一个处理器410、存储器450和总线440;电子设备400中的各个组件通过总线440耦合在一起。可理解,总线440用于实现这些组件之间的连接通信。总线440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线440。[0116]处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。[0117]存储器450中存储有用于实现本公开实施例提供的表征图像信息的曲线生成方法的可执行指令,表征图像信息的曲线生成方法可由图8所示的电子设备中的处理器410实现;存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。[0118]在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集。[0119]在一些实施例中,电子设备400还可以包括:[0120]操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;[0121]网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等。[0122]本公开实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本公开实施例提供的表征图像信息的曲线生成方法,例如,如图1至图6示出的表征图像信息的曲线生成方法。[0123]在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。[0124]在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。[0125]作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。[0126]除了上述方法和设备以外,本公开实施例提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开的表征图像信息的曲线生成方法。[0127]计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。[0128]以上,仅为本公开的实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本公开的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献