LED显示屏逐点校正方法与流程

文档序号:19684778发布日期:2020-01-14 17:54阅读:548来源:国知局
LED显示屏逐点校正方法与流程

本发明涉及led显示屏校正领域,特别是指一种led显示屏逐点校正方法。



背景技术:

led显示屏是一种显示器设备,由一个个小的led模块组成,用来显示文字、图像、视频、录像信号等各种信息。如图1所示,led显示屏100通常由led箱体200、led模组300和led发光灯(或称单灯)400组成。其中led模组300由led单灯400组合而成;led箱体200可由led模组300或直接由led单灯400组成;led显示屏100可以由led箱体200或led模组300或led单灯400组成。

led显示屏之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、大型化、寿命长、耐冲击和性能稳定。led显示屏的发展前景极为广阔,正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。

但是led显示屏也存在其天然的缺陷,led单灯作为led显示屏的基本显示单元,现有的生产工艺无法消除每个led单灯之间的个体差异;led单灯在组装成led显示屏以后,每个led单灯由于受周围led灯的影响,即使在同样物理显示特性下和同样的控制信号下,其人眼视觉效果也会产生差异。

为了克服led显示屏的上述缺陷,led显示屏逐点校正技术应运而生:首先通过相机拍摄led显示屏的显示来获取led显示屏的显示图像,然后根据拍摄的图像计算出led显示屏的显示误差,最后根据计算得到的显示误差对led显示屏的led单灯进行校正得到期望的显示效果。逐点校正技术可以提高led显示屏的均匀性。

计算显示误差时,需要将拍摄的图像上每个led单灯的显示亮度与led显示屏的每个led单灯的标准亮度进行对比。中国专利文献cn101339736a公开了一种全彩led显示屏在线亮度校正及色域优化的方法,其标准亮度为出厂时所设计的值,或者是根据亮度平均值为基础经校正而制定的值。

但是,该专利的标准亮度不论是采用出厂时所设计的值,还是采用平均值,都不能很好的接近标准亮度的理想值,导致校正结果出现偏差。并且,该专利所有的led单灯都采用同一个标准亮度,但是,每个led单灯的特性是不一致的,该专利忽视了每个led单灯的特性,每个led单灯校正后与输出亮度并不能达到一致性,所以led显示屏由亮到暗这样的过渡过程会依旧存在。



技术实现要素:

为解决上述技术问题,本发明提供一种led显示屏逐点校正方法,本发明可以很好地消除led单灯之间的亮度差异,显著地提高led显示屏的均匀性,改善显示质量。

本发明提供技术方案如下:

一种led显示屏逐点校正方法,包括:

步骤s100:获取led显示屏上每个led单灯的亮度值;

步骤s200:根据所有led单灯的亮度值,基于梯度下降法计算得到每个led单灯的标准亮度值;

步骤s300:根据每个led单灯的亮度值和标准亮度值计算每个led单灯的校正系数;

步骤s400:根据每个led单灯的校正系数对led显示屏进行校正;

其中,所述步骤s200包括:

步骤s210:通过式(1)建立每个led单灯的亮度值与其标准亮度值的对应关系;

其中,i表示led单灯的序号,xi为第i个led单灯的标准亮度值,hθ(xi)为第i个led单灯的亮度值,θi,j为待求解的系数,j=0…n,n为hθ(xi)的阶数;

步骤s220:根据所有led单灯的亮度值与标准亮度值,构建损失函数j(θi,j);

步骤s230:计算损失函数j(θi,j)对每一个θi,j的偏导数,设定θi,j的调整步长α,根据梯度下降法迭代求解,得到损失函数j(θi,j)最小时θi,j的值;

步骤s240:根据得到的θi,j的值,通过式(1)计算得到每个led单灯的标准亮度值xi,i=1…m,m为led显示屏上led单灯的个数。

进一步的,损失函数j(θi,j)的公式为:

进一步的,所述步骤s200还包括:

步骤s250:根据式(2)计算损失函数j(θi,j),判断损失函数j(θi,j)是否小于设定的阈值,若是,得到θi,j的值,否则,返回步骤s230;

其中,迭代求解时,θi,j的调整步长α通过递减函数确定。

进一步的,所述步骤s100包括:

步骤s110:对led显示屏进行有重叠分块拍摄,得到一系列分块亮度图像,并对一系列分块亮度图像进行图像匹配;

步骤s120:对分块亮度图像进行重投影,消除分块亮度图像的几何畸变;

步骤s130:将重投影后的分块亮度图像进行缝合,得到整个led显示屏的亮度图像;

步骤s140:对整个led显示屏的亮度图像进行融合,消除接缝,从融合后的整个led显示屏的亮度图像上即可得到每个led单灯的亮度值。

进一步的,所述步骤s110包括:

步骤s111:构建几何位置矩阵m,设定分块拍摄的拍摄框的高为h,宽为w;将几何位置矩阵m的行指针m_x和列指针m_y初始化为0,将分块亮度图像的图像编号picno初始化为0,将拍摄框左上角在led显示屏上的横坐标x和纵坐标y初始化为(0,0);

步骤s112:点亮在拍摄框内的led单灯,熄灭在拍摄框外的led单灯;

步骤s113:拍摄led显示屏点亮的区域,得到分块亮度图像;

步骤s114:将分块亮度图像以图像编号picno为文件名进行存储;

步骤s115:将图像编号picno写入几何位置矩阵m中行指针m_x和列指针m_y指向的位置;

步骤s116:判断整个led显示屏是否拍摄完毕,若是,结束,否则,执行步骤s117;

步骤s117:判断是否已拍摄到led显示屏的最右边,若是,执行步骤s118,否则,执行步骤s119;

步骤s118:通过如下公式更新x、y、m_x、m_y和picno,并返回步骤s112;

x=0;

y=y+h-2k;

m_x=0;

m_y=m_y+1;

picno=picno+1;

2k为有重叠分块拍摄时重叠区域的宽度;

步骤s119:通过如下公式更新x、m_x和picno,并返回步骤s112;

x=x+w-2k;

m_x=m_x+1;

picno=picno+1。

进一步的,所述步骤s120包括:

步骤s121:构建亮度矩阵f,将亮度矩阵f的行指针f_x和列指针f_y初始化为0;

步骤s122:打开一张分块亮度图像,对分块亮度图像进行水平投影和垂直投影,得到水平直方图和垂直直方图;

步骤s123:统计水平直方图和垂直直方图中各个亮度峰值点的间距w1和各个亮度波谷点的间距w2,并设定卷积模板的尺寸为c*c,c=w1-w2/2;

步骤s124:置led单灯的纵坐标led_y为水平直方图第一个峰值点的纵坐标,置led单灯的横坐标led_x为垂直直方图第一个峰值点的横坐标;

步骤s125:使用卷积模板对分块亮度图像的点(led_x,led_y)做卷积,将卷积结果写入亮度矩阵矩阵中行指针f_x和列指针f_y指向的位置;

步骤s126:判断是否已经计算完毕水平直方图和垂直直方图的所有峰值点,若是,结束,否则,执行步骤s127;

步骤s127:判断是否已经计算到垂直直方图的最后一个峰值点,若是,执行步骤s128,否则,执行步骤s129;

步骤s128:将led_y更新为水平直方图下一个峰值点的纵坐标,将led_x更新为垂直直方图第一个峰值点的横坐标,将f_x更新为0,f_y加1,并返回步骤s125;

步骤s129:将led_x更新为垂直直方图下一个峰值点的横坐标,将f_x加1,并返回步骤s125。

进一步的,所述步骤s130包括:

步骤s131:将重投影后的分块亮度图像的重叠区域外侧的半部分剪裁掉;

步骤s132:将剪裁后的分块亮度图像按照几何位置矩阵m指示的位置拼接起来,得到整个led显示屏的亮度图像。

进一步的,所述步骤s140包括:

步骤s141:计算整个led显示屏的亮度图像中每个显示模块的平均亮度值,其中,所述显示模块为led箱体、led模组或剪裁后的分块亮度图像;

步骤s142:通过式(3)建立每个显示模块的平均亮度值与其平均亮度标准值的对应关系;

其中,p表示显示模块的序号,为第p个显示模块的平均亮度标准值,为第p个显示模块的平均亮度值,γp,q为待求解的系数,q=0…n,n为的阶数;

步骤s143:根据所有显示模块的平均亮度值和平均亮度标准值,构建损失函数j(γp,q);

步骤s144:计算损失函数j(γp,q)对每一个γp,q的偏导数,设定γp,q的调整步长β,根据梯度下降法迭代求解,得到损失函数j(γp,q)最小时γp,q的值;

步骤s145:根据得到的γp,q的值,通过式(3)计算得到每个显示模块的平均亮度标准值p=1…m,m为led显示屏上显示模块的个数;

步骤s146:计算每个显示模块的平均亮度值和平均亮度标准值的亮度差值;

步骤s147:将每个显示模块内的所有led单灯的亮度值减去该显示模块的亮度差值,得到融合后的整个led显示屏的亮度图像;

步骤s148:根据每个led单灯减去亮度差值之前的亮度值和减去亮度差值之后的亮度值计算每个led单灯的预校正系数;

所述步骤s400进一步为:根据每个led单灯的校正系数和预校正系数对led显示屏进行校正。

进一步的,所述步骤s140之后,步骤s200之前还包括:

步骤s150:将每个led单灯的亮度值减去该led单灯处的环境光亮度值;

其中,每个led单灯处的环境光亮度值通过如下方法得到:

步骤s100’:对第i个led单灯发送亮度控制信号获取第i个led单灯的实际亮度值满足如下式(5);

si为第i个led单灯的基础亮度,δi为第i个led单灯处的环境光亮度值;

步骤s200’:对第i个led单灯发送亮度控制信号获取第i个led单灯的实际亮度值满足如下式(6);

步骤s300’:通过式(5)和式(6),求解得到第i个led单灯处的环境光亮度值δi。

进一步的,所述方法还包括:对所述分块亮度图像或整个led显示屏的亮度图像进行去除噪声和归一化处理。

本发明具有以下有益效果:

本发明的损失函数计算的是整个led显示屏的亮度显示误差,考虑了led单灯之间的相互影响,因此得到的每个led单灯的标准亮度值更能接近理想值,可以很好地消除led单灯之间的亮度差异,校正结果准确,一致性好。并且,本发明对每个led单灯计算其标准亮度值,而不是所有led单灯都使用同一个准亮度值,充分考虑了每个led单灯的特性的不同,每个led单灯校正后与输出亮度能够很好的达到一致性,能够很好地消除led显示屏由亮到暗的过渡过程。

本发明可以很好地消除led单灯之间的亮度差异,显著地提高led显示屏的均匀性,改善显示质量。

附图说明

图1为led显示屏的示意图;

图2为本发明的led显示屏逐点校正方法流程图;

图3为梯度下降法的迭代示意图;

图4为有重叠分块拍摄的示意图;

图5为几何畸变的示意图;

图6为接缝的示意图;

图7为分块亮度图像的示意图;

图8为图7的水平投影直方图;

图9为图7的垂直投影直方图;

图10为缝合的示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明实施例提供一种led显示屏逐点校正方法,如图2所示,该方法包括:

步骤s100:获取led显示屏上每个led单灯的亮度值。

本步骤中,获取每个led单灯的亮度值的方法一般是:点亮led显示屏,通过相机拍摄led显示屏的图像,对图像进行预处理,从图像上获取每个led单灯的亮度值。一般的,使用图像相应位置的灰度值作为led单灯的亮度值。对于彩色显示屏,需要分别拍摄rgb三个基色的图像,并分别进行校正。

步骤s200:根据所有led单灯的亮度值,基于梯度下降法计算得到每个led单灯的标准亮度值。

本步骤中,为每个led单灯计算其标准亮度值,每个led单灯都有其对应的标准亮度值,不同的led单灯的标准亮度值不同,具体计算过程参见后文的步骤s210~步骤s240。

步骤s300:根据每个led单灯的亮度值和标准亮度值计算每个led单灯的校正系数。

led单灯的亮度值是led单灯当前实际显示的亮度,led单灯的标准亮度值就是我们希望的该led单灯显示的亮度值,将每个led单灯的亮度值调整为该led单灯的标准亮度值,就可以使得led显示屏显示均匀。因此根据每个led单灯的亮度值和标准亮度值即可计算出计算每个led单灯的校正系数。

步骤s400:根据每个led单灯的校正系数对led显示屏进行校正。

校正时,根据每个led单灯的校正系数对led显示屏的每个led单灯发送相应的控制信号,使得使得led显示屏显示均匀。

其中,步骤s200包括:

步骤s210:通过式(1)建立每个led单灯的亮度值与其标准亮度值的对应关系;

其中,i表示led单灯的序号,xi为第i个led单灯的标准亮度值,hθ(xi)为第i个led单灯的亮度值,θi,j为待求解的系数,j=0…n,n为hθ(xi)的阶数。

hθ(xi)为第i个led单灯的亮度值,是led单灯当前实际显示的亮度,这是已知的,从拍摄的图像上可以得到。xi为第i个led单灯的标准亮度值,是led显示屏亮度均匀时,led单灯应当显示的理论亮度,就是我们希望的该led单灯显示的亮度值,这是未知的,需要计算得到。hθ(xi)与xi之间的差异就是这个led单灯的显示误差。

造成led单灯显示误差的因素有很多,比如控制信号在传输过程中被扰动、led单灯显示特性的差异、相邻led单灯的干扰甚至是led显示屏的温度等等。要将所有这些造成每个led单灯显示误差的因素一项一项查找并计算出来是不可能的。

实际上,可以将led单灯显示误差产生的原因分为两类,一类是叠加误差,一类是放大误差。叠加误差是指led单灯在显示时亮度被增加或减少(也可以理解为增加了一个负值)的亮度值,用θ0表示;放大误差是指led单灯在显示时亮度被放大或缩小(也可以理解为倍数小于1)的倍数,用θ1表示。那么对于控制端对第i个led单灯输出的理论亮度(标准亮度值)xi,在led单灯上的实际显示亮度就可以用函数hθ(xi)表示:

hθ(xi)=θ0+θ1xi

但是使用上式的函数有一个前提,就是led单灯的亮度显示误差是线性的,这对于大部分led单灯的亮度显示误差是满足的。但在复杂应用中,仅仅用线性函数来表示led单灯的亮度显示误差有时是不够的,这时可以将上式的函数扩展如下:

hθ(xi)=θ0(xi)0+θ1(xi)1+θ2(xi)2+…+θn(xi)n

θ0、θ1、θ2、…、θn为待求解的系数,由于每个led单灯的特性不同,因此每个led单灯的系数θ0、θ1、θ2、…、θn也不同,针对每一个led单灯,上式可以写成如下形式:

hθ(xi)=θi,0(xi)0+θi,1(xi)1+θi,2(xi)2+…+θi,n(xi)n

其简化形式也就是式(1):

步骤s220:根据所有led单灯的亮度值与标准亮度值,构建损失函数j(θi,j)。

步骤s210建立了每个led单灯的亮度值与其标准亮度值的对应关系,其中hθ(xi)是已知的,θi,0、θi,1、θi,2、…、θi,n和xi是未知的,需要求解得到。为此,构建损失函数j(θi,j),损失函数的构造有许多种,常用的有方差和偏差,以方差为例:损失函数j(θi,j)的公式为:

其中,i=1…m,j=0…n,m为led显示屏上led单灯的个数。

损失函数j(θi,j)计算的是整个led显示屏的亮度显示误差,而不是单个led单灯的亮度显示误差,这是因为led单灯之间也会互相产生影响,基于整个led显示屏的损失函数的校正会优于逐个led单灯校正的效果。因此,使用所有led单灯的亮度值与标准亮度值构建损失函数。

步骤s230:计算损失函数j(θi,j)对每一个θi,j的偏导数,设定θi,j的调整步长α,根据梯度下降法迭代求解,得到损失函数j(θi,j)最小时θi,j的值。

我们的目标是要寻找所有的θi,j使得函数j(θi,j)最小,也就是要找到使函数hθ(xi)最趋近xi的θi,j,这时led显示屏的显示亮度也就越接近实际需要的亮度了。

函数最小值时其导数为零,所以寻找损失函数j(θi,j)的最小值就可以通过求损失函数j(θi,j)的偏导数并使其迭代到零来获得。

以n=1为例,损失函数j(θi,0,θi,1)的偏导数如下:

j=0时,

j=1时,

迭代过程如下:

其中,α是学习率,也就是每次对θi,j的调整步长。

如图3所示,损失函数j(θi,1)的偏导数计算的是θi,1的调整方向,使j(θi,1)从高点向低点调整,学习率确定的是每次调整的大小,在最低点得到θi,1的值,θi,0同理。

步骤s240:根据得到的θi,j的值,通过式(1)计算得到每个led单灯的标准亮度值xi,i=1…m,m为led显示屏上led单灯的个数。

本发明建立每个led单灯的亮度值与其标准亮度值的对应关系,并基于整个led显示屏的所有led单灯建立损失函数,采用梯度下降法计算每个led单灯的标准亮度值,然后根据每个led单灯的亮度值和标准亮度值计算每个led单灯的校正系数,并使用校正系数对led显示屏的所有led单灯进行逐点校正。

因为损失函数计算的是整个led显示屏的亮度显示误差,考虑了led单灯之间的相互影响,因此得到的每个led单灯的标准亮度值更能接近理想值,可以很好地消除led单灯之间的亮度差异,校正结果准确,一致性好。并且,本发明对每个led单灯计算其标准亮度值,而不是所有led单灯都使用同一个准亮度值,充分考虑了每个led单灯的特性的不同,每个led单灯校正后与输出亮度能够很好的达到一致性,能够很好地消除led显示屏由亮到暗的过渡过程。

综上所述,本发明可以很好地消除led单灯之间的亮度差异,显著地提高led显示屏的均匀性,改善显示质量。

作为本发明的一种改进,步骤s200还包括:

步骤s250:根据式(2)计算损失函数j(θi,j),判断损失函数j(θi,j)是否小于设定的阈值,若是,得到θi,j的值,否则,说明迭代不合格,返回步骤s230,重新迭代求解。

其中,迭代求解时,学习率α如果设置的太小,那么计算获得θi,j的效率会比较低,需要更多的迭代才能找到最低点;如果学习率设置太大,θi,j在接近最低点时就会跨过最低点造成来回振荡。

因此,在逐次迭代时,学习率α逐渐变小,开始时使用较大的学习率,在接近最低点时使用较小的学习率。即θi,j的调整步长α通过递减函数确定,递减函数很多,常用的比如:1/(1+n)或1/(1+en)等等。

由前述,一般是通过相机拍摄led显示屏的图像,在图像上获取led单灯的亮度值。当led显示屏较小时,相机可以一次拍摄整个led显示屏的图像。随着led显示屏价格的下降,led显示屏尺寸越来越大、分辨率越来越高,对于大尺寸高分辨率led显示屏,通过相机已经无法一次获取整个led显示屏的高清图像,因此通过将多次拍摄led显示屏局部区域的图像,并进行拼接形成一张完整的整个led显示屏的图像就成了一种选择。

基于此,本发明提出一种交互式区域拼接方法,该方法包括:

步骤s110:对led显示屏进行有重叠分块拍摄,得到一系列分块亮度图像,并对一系列分块亮度图像进行图像匹配。

对led显示屏进行有重叠分块拍摄的示意图如图4所示,两个拍摄框有重叠,灰色区域为重叠的部分。

图像匹配是指用一个二维矩阵来描绘相同led屏中图片的几何对应关系,用来确定拍摄的一系列分块亮度图像所处的相对位置,为之后将一系列分块亮度图像缝合拼接起来提供位置依据。

步骤s120:对分块亮度图像进行重投影,消除分块亮度图像的几何畸变。

在实际工程中,拍摄大型led显示屏无法保证相机的拍摄位置正好垂直于led显示屏拍摄区域的中心位置,这就使得拍摄到的分块亮度图像会产生几何畸变。虽然设定的拍摄框是标准的矩形,而实际拍摄后得到的照片将几何畸变为梯形,拍摄角度的不同导致的几何畸变如图5所示。

重投影是通过图像的几何变换,修正图像在拍摄时产生的几何畸变,把一系列分块亮度图像转换到一个共同的坐标系。

步骤s130:将重投影后的分块亮度图像进行缝合,得到整个led显示屏的亮度图像。

缝合是指对分块亮度图像按照前述的图像匹配记录的相对位置进行拼接,并通过对重叠部分的处理,保持没有重叠的像素值,使一系列分块亮度图像生成更大画布的整个led显示屏的亮度图像。

步骤s140:对整个led显示屏的亮度图像进行融合,消除接缝,从融合后的整个led显示屏的亮度图像上即可得到每个led单灯的亮度值。

led显示屏在两种情况下会出现接缝,一种情况是在分块亮度图像拼接过程中,不同拍摄框拍摄的分块亮度图像因为不是一次采集的,时常会出现不同拍摄区域之间的亮度差异,这种区域间的亮度差异就构成了接缝。第二种情况是led显示屏是由led模组(或led箱体)组装而成的,led模组内部各个led单灯一般是同批次生产的,所以同一个模组或箱体内部的led单灯特性非常接近。而不同led模组之间的led单灯有可能是不同批次生产的,它们之间的物理特性不同,就造成led模组之间产生接缝。特别是使用了一定时间的led显示屏出现某个模组或者某个箱体损坏之后更换的新模组或箱体与led显示屏原模组或箱体之间的差别更大。分块亮度图像、led模组或led箱体之间的接缝如图6所示。

融合就是通过各种处理算法,将各个分块亮度图像、led模组或led箱体之间的亮度差异消除,进而消除接缝。

其中重叠分块拍摄和亮度匹配的过程(步骤s110)为:

步骤s111:构建几何位置矩阵m,设定分块拍摄的拍摄框的高为h,宽为w;将几何位置矩阵m的行指针m_x和列指针m_y初始化为0,将分块亮度图像的图像编号picno初始化为0,将拍摄框左上角在led显示屏上的横坐标x和纵坐标y初始化为(0,0)。

本发明的几何位置矩阵m用来描绘led显示屏中所有分块亮度图像的相对位置关系。几何位置矩阵m的行指针m_x和列指针m_y用于指示几何位置矩阵m中的位置,例如m_x=0,m_y=0,表示几何位置矩阵m中第0行第0列的元素。几何位置矩阵m、行指针m_x和列指针m_y都初始化为0。初始拍摄时,从led显示屏的左上角拍摄,拍摄框的左上角与led显示屏的左上角重合,坐标为(0,0)。

设置拍摄框的高和宽时,如果led显示屏由led模组或led箱体组成,拍摄框优选大于led模组或led箱体的大小,保证每次拍摄都将led模组或led箱体之间的接缝拍摄到。

步骤s112:向led显示控制器发送信号,点亮在拍摄框内的led单灯,熄灭在拍摄框外的led单灯。

步骤s113:拍摄led显示屏点亮的区域,得到分块亮度图像。

步骤s114:将分块亮度图像以图像编号picno为文件名进行存储;初始时,picno=0000,每拍摄一次,picno=picno+1。

步骤s115:将图像编号picno写入几何位置矩阵m中行指针m_x和列指针m_y指向的位置。初始时,picno=0000,m_x=0,m_y=0,也就是说,将第0幅分块亮度图像的标号写入几何位置矩阵m中的第0行,第0列。

步骤s116:判断整个led显示屏是否拍摄完毕,若是,结束,否则,执行步骤s117。

步骤s117:判断是否已拍摄到led显示屏的最右边,若是,执行步骤s118,否则,执行步骤s119。

步骤s118:通过如下公式更新x、y、m_x、m_y和picno,并返回步骤s112:

x=0;

y=y+h-2k;

m_x=0;

m_y=m_y+1;

picno=picno+1。

拍摄时从左到右,从上到下依次拍摄,已拍摄到led显示屏的最右边,那么就应该回到led显示屏的最左边,然后向下移动拍摄框,再从左到右依次拍摄。因此,拍摄框的左上角坐标x=0,y=y+h-2k,为下一次拍摄做准备。2k为有重叠分块拍摄时重叠区域的宽度,如图4所示。

相应的,下一次拍摄的图像编号应该加1。

相应的,下一次拍摄的图像编号应该放到几何位置矩阵m中下一行的最左位置,因此m_x=0,m_y=m_y+1。

步骤s119:通过如下公式更新x、m_x和picno,并返回步骤s112;

x=x+w-2k;

m_x=m_x+1;

picno=picno+1。

拍摄时从左到右,从上到下依次拍摄,还未拍摄到led显示屏的最右边,那么就应该继续从左到右依次拍摄。因此,拍摄框的左上角坐标x=x+w-2k,y不变,为下一次拍摄做准备。

相应的,下一次拍摄的图像编号应该加1。

相应的,下一次拍摄的图像编号应该放到几何位置矩阵m中当前位置的右一个位置,因此m_x=m_x+1,m_y不变。

通过上述步骤,将分块亮度图像以图像编号进行存储,并将分块亮度图像的图像编号存储到几何位置矩阵m中的相应位置,几何位置矩阵m中的相对位置关系与分块亮度图像在led显示屏上的相对位置关系一一对应。

之后在进行缝合时,在几何位置矩阵m中的相应位置读出存储的图像编号,以图像标号为索引,即可找到存储的分块亮度图像,然后将分块亮度图像按照其在几何位置矩阵m中的相应位置进行缝合即可,简单方便,效率高。

重投影的过程(步骤s120)包括:

步骤s121:构建亮度矩阵f,将亮度矩阵f的行指针f_x和列指针f_y初始化为0。

亮度矩阵f的各个元素用于存储各个led单灯的亮度值,亮度矩阵f的行指针f_x和列指针f_y用于指示亮度矩阵f中的位置,例如f_x=0,f_y=0,表示亮度矩阵f中第0行第0列的元素。亮度矩阵f、行指针f_x和列指针f_y都初始化为0。

步骤s122:打开一张分块亮度图像,分块亮度图像如图7所示,对分块亮度图像进行水平投影和垂直投影,得到水平直方图和垂直直方图,水平直方图如图8所示,垂直直方图如图9所示。

步骤s123:统计水平直方图和垂直直方图中各个亮度峰值点的间距(优选是间距平均值)w1和各个亮度波谷点的间距(优选是间距平均值)w2,并设定卷积模板的尺寸为c*c,c=w1-w2/2。

步骤s124:置led单灯的纵坐标led_y为水平直方图第一个峰值点的纵坐标,置led单灯的横坐标led_x为垂直直方图第一个峰值点的横坐标。

本发明在进行水平投影和垂直投影后,在水平直方图和垂直直方图的峰值点即为led单灯的位置,因此将水平直方图和垂直直方图的峰值点坐标作为led单灯的坐标。

步骤s125:使用卷积模板对分块亮度图像的点(led_x,led_y)做卷积,将卷积结果写入亮度矩阵矩阵中行指针f_x和列指针f_y指向的位置,卷积结果即为当前位置led单灯的亮度。

步骤s126:判断是否已经计算完毕水平直方图和垂直直方图的所有峰值点,若是,结束,否则,执行步骤s127。

步骤s127:判断是否已经计算到垂直直方图的最后一个峰值点,若是,执行步骤s128,否则,执行步骤s129。

步骤s128:将led_y更新为水平直方图下一个峰值点的纵坐标,将led_x更新为垂直直方图第一个峰值点的横坐标,将f_x更新为0,f_y加1,并返回步骤s125。

步骤s129:将led_x更新为垂直直方图下一个峰值点的横坐标,将f_x加1,并返回步骤s125。

本发明通过水平直方图和垂直直方图确定led单灯的位置,并使用卷积模板对led单灯的位置进行卷积,将卷积结果写入亮度矩阵矩阵中相应的位置,即可消除几何畸变。

缝合过程(步骤s130)包括:

步骤s131:将重投影后的分块亮度图像的重叠区域外侧的半部分剪裁掉。

步骤s132:将剪裁后的分块亮度图像按照几何位置矩阵m指示的位置拼接起来,得到整个led显示屏的亮度图像。

本发明因为在图像匹配过程中设置的重叠区域为偶数2k,所以分配重叠区域非常简单,只要将重叠区域一分为二就可以了,如图10所示。

融合过程(步骤s140)包括:

步骤s141:计算整个led显示屏的亮度图像中每个显示模块的平均亮度值,并保存在一个二维矩阵中,其中,显示模块为led箱体、led模组或剪裁后的分块亮度图像。

将每个显示模块的平均亮度值认为是一个虚拟的led单灯,那么整个led显示屏的所有模块的平均亮度值的二维矩阵认为是所有虚拟的led单灯组成的一个虚拟的显示屏。

led显示屏存在如图6所示的接缝,是因为各个显示模块的亮度有差异,对应到前述的虚拟的显示屏中,就是各个虚拟的led单灯之间的亮度有差异。而前述的基于梯度下降法的校正方法可以消除led单灯之间的亮度差异,因此,本发明的融合方法是对虚拟的led单灯(显示模块的平均亮度值)进行前述的基于梯度下降法的校正方法,消除显示模块之间的亮度差异。

具体参见步骤s142~步骤s145,步骤s142~步骤s145与前述的步骤s210~s240的原理和执行过程相同,只不过为表示区别,其中的公式用不同的字母表示。

步骤s142:通过式(3)建立每个显示模块的平均亮度值与其平均亮度标准值的对应关系:

其中,p表示显示模块的序号,为第p个显示模块的平均亮度标准值,为第p个显示模块的平均亮度值,γp,q为待求解的系数,q=0…n,n为的阶数。

步骤s143:根据所有显示模块的平均亮度值和平均亮度标准值,构建损失函数j(γp,q):

步骤s144:计算损失函数j(γp,q)对每一个γp,q的偏导数,设定γp,q的调整步长β,根据梯度下降法迭代求解,得到损失函数j(γp,q)最小时γp,q的值。

步骤s145:根据得到的γp,q的值,通过式(3)计算得到每个显示模块的平均亮度标准值p=1…m,m为led显示屏上显示模块的个数。

步骤s146:计算每个显示模块的平均亮度值和平均亮度标准值的亮度差值,也就是平均亮度值与平均亮度标准值相减。

步骤s147:将每个显示模块内的所有led单灯的亮度值减去该显示模块的亮度差值,得到融合后的整个led显示屏的亮度图像。

得到平均亮度标准值之后,计算出平均亮度标准值与平均亮度值的亮度差值,用显示模块内的所有led单灯的亮度值减去亮度差值,即可消除各个显示模块的亮度差异,消除接缝。

步骤s148:根据每个led单灯减去亮度差异之前的亮度值和减去亮度差异之后的亮度值计算每个led单灯的预校正系数。在消除各个显示模块的亮度差异时,相当于对led显示屏的各个led单灯进行了一次预校正,因此需要计算出预校正系数。

并且相应的步骤s400进一步为:根据每个led单灯的校正系数和预校正系数对led显示屏进行校正。

对于室外led显示屏的校正,在用相机拍照时会受到日照、周边景观灯等环境光的影响,在环境光影响下拍摄的led图像对后期校正效果影响非常大。因此实际工程中为避免环境光的影响,通常要在深夜进行拍摄和校正,以减少环境光的影响,但是这大大增加了校正工作的工作强度也同时降低了工作效率。

基于此,本发明提出一种消除环境光影响的方法,以提高led显示屏的校正质量。具体的,步骤s140之后,步骤s200之前还包括:

步骤s150:将每个led单灯的亮度值减去该led单灯处的环境光亮度值。

其中,每个led单灯处的环境光亮度值通过如下方法得到:

步骤s100’:控制单元对第i个led单灯发送亮度控制信号其显示亮度在环境光δi的影响下将变为获取第i个led单灯的实际亮度值其中满足如下式(5);

si为第i个led单灯的基础亮度,δi为第i个led单灯处的环境光亮度值。

步骤s200’:控制单元对第i个led单灯发送亮度控制信号其显示亮度在环境光δi的影响下将变为获取第i个led单灯的实际亮度值其中满足如下式(6);

步骤s300’:通过式(5)和式(6),求解得到第i个led单灯处的环境光亮度值δi。

式(5)和式(6)中,中基础亮度si和环境光亮度δi为未知数,已知,两个方程有两个未知数,联立即可得到两个未知数si和δi的解。

本发明中,为了提高校正效果,还可以对拍摄的图像进行预处理,预处理包括:对分块亮度图像或整个led显示屏的亮度图像进行去除噪声和归一化处理。

综上所述,本发明实施例具有以下有益效果:

1、基于梯度下降的误差计算方法通过不断评估每轮参数修正以后对led显示效果的影响来确定参数的修正大小和方向,经过一轮轮迭代逼近使得led显示能够真实充分的接近理想值。

2、环境光消除方法克服了环境光在校正过程中对校正效果的影响,提高了校正效率和校正准确度。

3、交互式区域拼接方法扩展了可校正led显示屏的大小和分辨率,对于任意大小、任意分辨率的led显示屏都可以校正。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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