本发明属于图像处理技术领域,更具体地,涉及一种oled屏亮度灰阶图像的摩尔纹补偿方法。
背景技术:
oled屏具有广视角、高对比度、较低的功耗、极高的反应速度、可弯曲且制程简单等优点。oled显示技术,按驱动方式的不同,可分为被动式(passivematrix),即pmoled和主动式(activematrix),即amoled,目前手机上采用的均为amoled产品。oled采用的是电流驱动,amoled可以对各像素独立进行选择性亮度调节,这一特性也导致oled屏在制造工程中可能出现的显示缺陷,例如,亮度不均匀,降低了显示屏的品质。
为了提升出厂oled屏的品质,往往会增加许多屏幕检测环节,例如,demura检测,根据亮度数据逐点调节使所有像素点的灰度保持一致。后续屏幕检测的前提是提取oled屏的亮度数据,其基本流程为:点亮oled的所有像素点,用高分辨率相机采集屏幕的灰阶图像,再从灰阶图像中提取各像素点的亮度,输出一张亮度灰阶图,图中每个像素点的灰度值代表一个发光单元所采集的亮度数据。
而在用相机采集oled屏图像时,由于相机的感光元件像素的空间频率和使用相机实际拍摄的影像中条纹的空间频率接近,拍摄的图片中会出现高频率条纹,即摩尔纹。这也导致从采集图像中提取的oled亮度灰阶图中也存在摩尔纹的现象,具体表现为:相较于非摩尔纹区域,摩尔纹区域的亮度数据较低,呈现暗条纹。为了后续屏幕校正的准确性,要求亮度信息必须能反映真实亮度数据,因而,摩尔纹的干扰需尽量排除。
常用的去摩尔纹方法可以分为两种,一种是在采集图像时采用物理手段来去摩尔纹,如调整相机角度和相机位置来改变拍摄物体的角度关系,可以减少摩尔纹;或调整焦点,因为过于清晰的焦点和高度细节可能会导致摩尔波纹,稍微改变焦点可改变清晰度,进而帮助消除摩尔波纹;还可以在ccd前面直接安装镜前滤光镜,使其曝光条件满足空间频率,彻底过滤影像中高空间频率部分,减少摩尔纹发生的机会,但这也会同步降低影像的锐利度。这些方法对人工操作或物理设备的依赖性强,不适合工厂流水线生产的应用环境。另一种方法是对采集到的图像进行滤波处理,如对图像数据进行傅里叶变换以消除对应于摩尔纹的频率数据,再执行逆傅里叶变换等频域滤波方法。这些方法所去除的频率数据不一定仅为摩尔纹数据,导致除摩尔纹以外的正常区域的亮度数据受干扰,从而影响后续oled屏的校正。如何能在保证正常区域亮度数据不受干扰且保留原始不同像素点之间亮度数据差异性的前提下补偿摩尔纹,是本领域技术人员亟需解决的问题。
技术实现要素:
针对现有技术的缺陷和改进需求,本发明提供了一种oled屏亮度灰阶图像的摩尔纹补偿方法,其目的在于对含有摩尔纹的oled屏亮度灰阶图像进行摩尔纹补偿,仅对摩尔纹区域的灰度数据进行补偿,补偿的同时需保留原始亮度数据的高频抖动,使其补偿后的灰度数据分布与正常区域的分布相似,且不影响正常区域的灰度数据。
为实现上述目的,按照本发明的第一方面,提供了一种oled屏亮度灰阶图像的摩尔纹补偿方法,该方法包括以下步骤:
s1.根据oled屏原始亮度灰阶图,得到摩尔纹方向
s2.根据摩尔纹倾斜斜率rate和方向
s3.用该斜条纹滤波模板对亮度灰阶图进行斜条纹滤波;
s4.根据摩尔纹间距方差值stdev和斜条纹滤波后的图像,生成逐行扫描的极小值图、逐列扫描的极小值图;
s5.根据逐行扫描的极小值图中连通直线长度,筛选出摩尔纹骨架;
s6.根据摩尔纹间距方差值stdev、逐行扫描的极小值图和逐列扫描的极小值图,对筛选出的摩尔纹骨架进行逐条纹扫描补全;
s7.根据补全后的摩尔纹骨架与左右邻近极大值点之间的亮度差,确定摩尔纹区域及其补偿值;
s8.根据摩尔纹区域掩膜图和对应的补偿值,对原始亮度灰阶图进行摩尔纹补偿。
具体地,步骤s1包括以下子步骤:
s11.对原始亮度灰阶图进行小窗口降噪滤波;
s12.根据降噪滤波后图像第y行的灰度信息,生成对应第y行的一维数组x1;根据降噪滤波后图像第(y+δy)行的灰度信息,生成对应(y+δy)行的一维数组x2;
s13.分别对一维数组x1、x2进行极小值定位,得到极小值点列位置集合
s14.找出极小值点列位置集合
s15.对每对极小值点对
s16.对所有δxi求平均值,得到同一条摩尔纹上间隔δy的点对的偏移量
s17.根据集合
s18.根据
具体地,第y行是滤波后图像高度自上而下1/8、1/4、1/2或3/4位置,δy取值范围为[10,20]。
具体地,步骤s15中,若
具体地,步骤s2包括以下子步骤:
s21.设置模板宽度为width,width限制为[5,31]范围之内的任意奇数;
s22.根据模板宽度width,计算模板高度height=(width-1)×rate+1;
s23.根据模板宽度width、高度height和方向
以图像左上角像素点为原点,滤波模板的高度对应数组的行,
若
若
其他位置均为0。
具体地,步骤s4包括以下子步骤:
s41.根据摩尔纹间距方差值stdev,判断摩尔纹是否规律,若是,进入步骤s42,否则,进入步骤s43;
s42.直接逐行扫描所述斜条纹滤波后的图像,提取各行极小值点,生成极小值图;
s43.逐行扫描所述斜条纹滤波后的图像,提取各行极小值点,并从中筛除摩尔纹骨架外的噪点,生成极小值图。
具体地,步骤s5包括以下步骤:
s51.在逐行扫描的极小值图上标记连通直线;
s52.分别统计连通直线上的像素点数量;
s53.保留像素点数量大于γ∈[50,300]的连通直线,作为筛选出的摩尔纹骨架。
具体地,步骤s6包括以下步骤:
s61.根据摩尔纹间距方差值stdev,判断摩尔纹是否规律,若是,进入步骤s62,否则,进入步骤s64;
s62.以筛选出的摩尔纹骨架起点或终点为基础,分别向上下左右搜索逐行扫描提取到的极小值图,找到最符合当前摩尔纹走向的极小值点,对摩尔纹骨架进行逐行扫描补全;
s63.以当前的摩尔纹骨架为基础,分别向上下左右搜索逐列扫描提取到的极小值图,找到最符合当前摩尔纹走向的极小值点,对摩尔纹骨架进行逐列扫描补全;
s64.不进行补全。
具体地,步骤s7包括以下步骤:
s71.将摩尔纹骨架作为基点,逐行提取斜条纹滤波后的图像中极大值点图,找出距离当前骨架点
s72.判断以当前骨架点
s73.若斜条纹滤波后的图像的像素点与
其中,
为实现上述目的,按照本发明的第二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的oled屏亮度灰阶图像的摩尔纹补偿方法。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明基于摩尔纹骨架,定位摩尔纹的区域范围,并计算相应区域的补偿值,最终根据生成的摩尔纹区域掩模图,对原始图像的对应位置进行补偿。摩尔纹区域本质上是一个灰度值下凹的曲线,原始灰度值-小窗口滤波后的灰度值,这一操作能大致保留亮度数据的高频抖动,并将区域内的灰度值分布拉至0灰度值;加上相应区域补偿值,即可使摩尔纹区域的灰度值分布与正常区域的灰度值分布相似。仅对掩模区域进行摩尔纹补偿,在对摩尔纹区域的亮度数据进行补偿校正的同时,不影响其他正常成像区域的亮度数据,能提高后续oled屏幕校正的准确率,避免了因摩尔纹而导致的错误校正。
(2)本发明对不同输入图像,采用符合当前图像摩尔纹走向的斜条纹滤波,对摩尔纹区域进行增强,使后续摩尔纹骨架提取更准确,整个方法自适应能力强。
(3)本发明根据摩尔纹的连通性,进行极小值点的连通区域标记,依据连通区域长度提取摩尔纹骨架,根据已有骨架的方向性搜索符合当前摩尔纹走向的极小值点,对骨架进行补全,提取出较完整且准确的摩尔纹骨架。
附图说明
图1为本发明实施例提供的一种oled屏亮度灰阶图像的摩尔纹补偿方法流程图;
图2(a)为本发明实施例提供的摩尔纹骨架筛选与补全过程示意图;
图2(b)为本发明实施例提供的摩尔纹补全示意图;
图3为本发明实施例提供的摩尔纹宽度计算过程示意图;
图4为本发明实施例提供的摩尔纹补偿前后图像某一行局部亮度数据对比图;
图5(a)为本发明实施例提供的补偿前oled屏采集的亮度信息图;
图5(b)为本发明实施例提供的补偿后的亮度信息图;
图5(c)为本发明实施例提供的摩尔纹骨架图;
图5(d)为本发明实施例提供的摩尔纹区域掩模图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明提出一种oled屏亮度灰阶图像的摩尔纹补偿方法,该方法包括以下步骤:
步骤s1.根据oled屏原始亮度灰阶图,得到摩尔纹方向
点亮oled屏的所有像素点,用高分辨率相机采集屏幕的灰阶图像,再从灰阶图像中提取各像素点的亮度,输出一张亮度信息图,图中每个像素点的灰度值代表一个发光单元所采集的亮度数据。本实施例以224灰阶,分辨率960×2960的oled屏亮度数据图,进行摩尔纹补偿的详细说明。
为了尽量保留无摩尔纹区域的亮度数据,不影响其后续屏幕校正,本发明采用对摩尔纹区域进行补偿的方法,主要可分为两部分,一是摩尔纹骨架提取,二是根据骨架计算摩尔纹区域宽度及相应的补偿值。
s11.对原始亮度灰阶图进行小窗口降噪滤波。
为了去除噪点对极小值点的干扰,本发明将原始亮度灰阶图由8位转换为32位浮点数存储后,进行小窗口降噪滤波。本实施例采用均值滤波,小窗口大小为9×9。
s12.根据降噪滤波后图像第y行的灰度信息,生成对应第y行的一维数组x1;根据降噪滤波后图像第(y+δy)行的灰度信息,生成对应(y+δy)行的一维数组x2。
为了能更精确的计算摩尔纹夹角同时也为了使计算更方便,分别依据图像不同位置的灰度信息来进行计算夹角,最后取其平均值。第y行是可以为滤波后图像高度1/8、1/4、1/2或3/4位置。这些位置代表了图像上半部分以及下半部分的灰度信息,依据这些位置计算的结果较准确。为了防止对隶属同一条摩尔纹上间隔δy的两点对匹配不准确,δy不宜过大,取值范围为[10,20]。本实施例中δy=10。
s13.分别对一维数组x1、x2进行极小值定位,得到极小值点列位置集合
分别对一维数组x1、x2进行极小值定位,得到
s14.找出极小值点列位置集合
根据极小值点
s15.对每对极小值点对
判断极小值点对的方向di的方式如下:
若
s16.对所有δxi求平均值,得到同一条摩尔纹上间隔δy的点对的偏移量
如果di=0的频次大于di=1的频次,则摩尔纹方向
s17.根据集合
根据集合
s18.根据
其中,round为四舍五入函数。
步骤s2.根据摩尔纹倾斜斜率rate和方向
采集到的oled屏像素点之间的亮度数据差异,会直接影响对原始亮度灰阶图进行摩尔纹骨架提取的准确度。为了提高骨架提取的准确度,本发明采用了斜条纹滤波。斜条纹的角度与摩尔纹基本符合,所以斜条纹滤波可以对摩尔纹区域进行增强,使后续摩尔纹骨架提取更准确。
s21.设置模板宽度为width,width限制为[5,31]范围之内的任意奇数。
s22.根据模板宽度width,计算模板高度height=(width-1)×rate+1。
s23.根据模板宽度width、高度height和方向
以图像左上角像素点为原点,滤波模板的高度对应数组的行。
若
若
其他位置均为0。
模板宽度要求为奇数,使得生成的模板宽高都为奇数,保证中心列只有中心点的值为1,其余列依照方向
例如,当width=5,rate=1,
例如,当width=5,rate=2,
本实施例中最终计算出的rate=4,
本发明基于自适应的局部空间滤波方法,来补偿实际应用中遇到的多样化的摩尔纹。在对不同的输入图像,采用符合当前图像摩尔纹走向的斜条纹滤波,以及自适应定位其摩尔纹区域。
步骤s3.用该模板对降噪滤波后的亮度灰阶图进行斜条纹滤波。
用该模板对降噪滤波后的亮度信息图进行斜条纹滤波,具体如下:
模板值为1且降噪滤波后的亮度灰阶图对应的灰度值不为0的像素点,参与均值滤波运算,其他不参与。
步骤s4.根据摩尔纹间距方差值stdev,生成斜条纹滤波后的图像的逐行扫描的极小值图和逐列扫描的极小值图。
根据摩尔纹间距方差值stdev判断摩尔纹是否规律,若是,则直接逐行扫描所述斜条纹滤波后的图像,提取各行极小值点,生成极小值图;否则,则逐行扫描所述斜条纹滤波后的图像,提取各行极小值点,并从中筛除摩尔纹骨架外的噪点,生成极小值图。
摩尔纹是否规律的判断依据为:摩尔纹间距方差值stdev>10。
摩尔纹骨架外的噪点的判断依据为:与邻近极大值点的灰度差值小于某阈值的极小值点,阈值设为极小极大灰度差值的平均值与p∈[0,5,1]的乘积。噪点与相邻极大值点的差值会比较小,真实骨架点作为真的局部极小值点,与极大值点的差值会大一些。
逐列扫描的极小值图同理。
步骤s5.根据逐行扫描的极小值图中连通直线长度,筛选出摩尔纹骨架。
如图2(a)所示,步骤s5包括以下步骤:
s51.在逐行扫描的极小值图上标记连通直线。
s52.分别统计连通直线上的像素点数量。
s53.保留像素点数量大于γ∈[50,300]的连通直线,作为筛选出的摩尔纹骨架。
用一个三维数组vector来存储不同摩尔纹骨架上像素点的位置信息。
步骤s6.根据摩尔纹间距方差值stdev、逐行扫描的极小值图和逐列扫描的极小值图,对筛选出的摩尔纹骨架进行逐条纹扫描补全。
骨架补全是逐条纹进行的,例如补全某一条摩尔纹骨架时,以当前摩尔纹的起点/终点为中心进行矩形区域范围搜索,依据搜索到的符合要求的极小值点来补全当前骨架,直至无符合要求的点。
如图2(b)所示,根据摩尔纹间距方差值stdev判断摩尔纹是否规律,若是,认为逐行扫描提取的摩尔纹骨架有缺失,需要对摩尔纹骨架进行补全。否则,认为不需要补全。
如图2(b)所示,对摩尔纹骨架进行补全,具体如下:
(1)以筛选出的摩尔纹骨架起点/终点为基础,分别向上下左右搜索逐行扫描提取到的极小值图,找到最符合当前摩尔纹走向的极小值点,对摩尔纹骨架进行补全。
以搜寻起点及与起点间隔d=30的位于摩尔纹骨架上的点所构成的向量作为方向参考,若某一搜索到的极小值点与搜寻起点之间构成的向量与参考向量的夹角θ最小,且最小值小于设定阈值
本实施例中左右搜索宽度为30个像素点,上下搜索宽度为60个像素点,即最终搜索区域为以搜索起点为中心的一个宽为60个像素点,高为120个像素点的矩形区域。
(2)以当前的摩尔纹骨架为基础,分别向上下左右搜索逐列扫描提取到的极小值图,找到最符合当前摩尔纹走向的极小值点,对摩尔纹骨架进行补全。
步骤s7.根据补全后的摩尔纹骨架与左右邻近极大值点之间的亮度差,确定摩尔纹区域及其补偿值。
逐条纹扫描补全后的摩尔纹骨架,需分别根据逐行逐列扫描的方法来计算摩尔纹区域及其补偿值。以逐行扫描为例,如图3所示,图中曲线的横坐标为列,纵坐标为灰度值,表示某一行局部灰度值曲线。
(1)将摩尔纹骨架作为基点,逐行提取斜条纹滤波后的图像中极大值点图,找出距离当前骨架点
其中,
(2)以当前骨架点
一般情况下,
若斜条纹滤波后的图像的像素点与
(3)将
步骤s8.根据摩尔纹区域掩膜图和对应的补偿值,对原始亮度灰阶图进行摩尔纹补偿。
摩尔纹区域补偿后的值=原始灰度值-小窗口滤波(3x3~11x11)后的灰度值+相应区域补偿值。
补偿原理如下:所述摩尔纹区域对应了当前图像的摩尔纹掩模,本质上是一个灰度值下凹的曲线。在原始oled亮度图像上对掩模区域进行小窗口(3x3~11x11)滤波,区域外的像素点不参与滤波运算。对摩尔纹掩模区域,用原值减去滤波后的值,相当于将摩尔纹区域的像素值拉至0灰度值,同时也保留着原始亮度数据间的高频抖动。再叠加上相应的摩尔纹补偿数据,叠加操作使摩尔纹区域的灰度值分布与正常区域的灰度值分布相似,同时也最大程度地保留了本区域原始亮度数据的抖动,即得最终摩尔纹补偿后的亮度图。
如图4所示,深浅颜色两条线重叠的部分表示不需要补偿的非摩尔纹区域,而在摩尔纹区域补偿亮度数据的同时,补偿后的亮度数据也基本保留了原始数据的变化趋势。
补偿前oled屏采集的亮度信息图如图5(a)所示,可从图中看出有若干条纹路,即为摩尔纹,这些纹理区域与周围正常区域相比像素亮度较小,表现为暗条纹。补偿后的亮度信息图如图5(b)所示,与图5(a)相比,暗条纹得以补偿,图5(b)中无明显摩尔纹现象。对图5(a)提取到的摩尔纹骨架图如图5(c)所示,对比5(a)与5(c)可看出,原图中所有摩尔纹的骨架都定位出来,骨架表现为对应于摩尔纹区域极小值的一条连续直线。得到的摩尔纹区域掩模图如图5(d)所示,掩模图能大致反应原图摩尔纹区域的范围。
本方法可以在不影响oled屏亮度提取图像中正常区域亮度信息的前提下,对其中的摩尔纹区域进行定位与亮度补偿。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。