本申请涉及头戴显示设备技术领域,具体涉及一种屏幕缺陷检测方法、装置及头戴显示设备。
背景技术:
近年来头戴显示设备,比如vr(virtualreality,虚拟现实)产品火爆,根据市场预测,下一代vr将采用oled(organiclight-emittingdiode,有机发光半导体)屏。为保证vr产品能得到较广泛的应用且用户体验较好,那么vr屏幕必须能达到较好的分辨率,而且不能存在坏点以及脏污,因此产品检测是必不可少的工序。
现阶段vr的oled显示屏的检测存在下列技术问题:一方面,由于边缘图像的畸变,难以分辨边缘黑线、边缘划痕等边缘缺陷,另一方面,误检率、漏检率较高。
技术实现要素:
鉴于上述技术问题,提出了本申请以便提供克服上述技术问题或者至少部分地解决上述技术问题的一种屏幕缺陷检测方法、装置及头戴显示设备。
依据本申请的一个方面,提供了一种屏幕缺陷检测方法,包括:
获取待检测屏幕的原始图像;
去除原始图像中的干扰信息,得到检测图像;
为检测图像的中心区域选取对应的第一算法,为检测图像的边缘区域选取对应的第二算法,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点;
判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点,得到检测结果。
依据本申请的另一个方面,提供了一种屏幕缺陷检测装置,包括:
图像获取单元,用于获取待检测屏幕的原始图像;
图像处理单元,用于去除原始图像中的干扰信息,得到检测图像;
检测单元,用于为检测图像的中心区域选取对应的第一算法,为检测图像的边缘区域选取对应的第二算法,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点;
缺陷判定单元,用于判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点,得到检测结果。
依据本申请的又一个方面,提供了一种头戴显示设备,头戴显示设备包括如本申请另一个方面的屏幕缺陷检测装置。
由上述可知,本申请的技术方案,获取待检测屏幕的原始图像,去除原始图像中的干扰信息,得到检测图像,去除干扰信息有利于提高检测的准确性并提高检测的效率。为检测图像的中心区域选取对应的第一算法,为检测图像的边缘区域选取对应的第二算法,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点;这样,对检测图像的中心区域和边缘区域选取不同的算法进行疑似缺陷检测,既减少了工程耗时,增强了检测的自适应能力,又能减少误检、漏检的发生,保证检测的准确。最后,判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点得到检测结果,进一步提高了本申请屏幕检测方案的准确性,满足了实际应用需求,提高了头戴显示设备的市场竞争力。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请一个实施例的屏幕缺陷检测方法的流程示意图;
图2示出了本申请一个实施例的原始图像的示意图;
图3示出了图2所示原始图像二值化后的二值图像的示意图;
图4示出了图2所示原始图像绘制屏幕轮廓后的示意图;
图5示出了本申请一个实施例的检测图像的示意图;
图6示出了本申请一个实施例利用halcon视觉算法对图5所示检测图像进行疑似缺陷点检测的结果示意图;
图7示出了本申请一个实施例对图5所示检测图像进行边缘区域划分后的结果示意图;
图8示出了本申请一个实施例的屏幕缺陷检测装置的框图;
图9示出了本申请一个实施例的头戴显示设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
目前对于组装好的vr(virtualreality,虚拟现实)产品,都是采用人眼通过镜头lens来查看有无缺陷,具体方式是:控制vr屏幕输出不同颜色的图卡,人眼通过lens查看不同图卡下是否有缺陷,比如,该缺陷表现为绿屏暗点,绿屏亮点,红屏亮点,红屏暗点,黑屏亮点,白屏暗点,划痕,边缘黑线等。对于中心区域的缺陷点,有一种方案是通过halcon机器视觉软件软件进行检测区分,而边缘的缺陷点比如边缘黑线,halcon视觉算法则无法区分出来。
针对这一问题,本申请实施例提出了一种屏幕缺陷检测的方案,利用相机对屏幕输出的不同的图卡进行拍照,将不同的图像保存下来,之后对图像中心区域通过halcon检测出缺陷点,根据缺陷点位置及处理后的缺陷点的灰度值来判定为何种缺陷类型。由于halcon无法准确检测边缘黑线等边缘缺陷,本申请实施例利用特征点检测算法检测出关键点的方式来提取边缘缺陷特征点,并进行边缘缺陷特征点筛选,以实现边缘缺陷快速、准确的检测。
图1示出了本申请一个实施例的屏幕缺陷检测方法的流程示意图,参见图1,本申请实施例的屏幕缺陷检测方法包括下列步骤:
步骤s110,获取待检测屏幕的原始图像。这里的原始图像例如是对待检测屏幕输出的图像进行拍照而采集到的图像。
步骤s120,去除原始图像中的干扰信息,得到检测图像。干扰信息不仅会影响检测的准确性而且影响检测效率,因此,本申请实施例去除原始图像中的干扰信息。
步骤s130,为检测图像的中心区域选取对应的第一算法,为检测图像的边缘区域选取对应的第二算法,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点。
由于中心区域和边缘区域的图像特点不同,比如,边缘区域图像畸变严重,因此,边缘区域和中心区域利用不同的算法分别进行缺陷检测,增强了检测的自适应能力,又能减少误检、漏检的发生。
步骤s140,判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点,得到检测结果。
对于疑似缺陷点进一步判定以得到疑似缺陷点是否属于边缘缺陷点或中心缺陷点的检测结果,提高了检测准确性。
由图1所示可知,本申请实施例的屏幕缺陷检测方法,对检测图像的中心区域和边缘区域选取不同的算法进行疑似缺陷点检测,既减少了工程耗时,增强了检测的自适应能力,又能减少误检、漏检的发生,保证了检测的准确性。再判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点,进一步提高了屏幕检测的准确性,满足了实际应用需求。
为更好理解本申请实施例的屏幕缺陷检测方法的实现步骤,下面结合具体的实施例进行说明。
图2示出了本申请一个实施例的原始图像的示意图,本申请的屏幕缺陷检测方法,首先获取待检测屏幕的原始图像,如图2所示。
在进行缺陷检测之前提取出被检测的有效区域,以排除干扰,也就是说,去除原始图像中的干扰信息,得到检测图像。具体包括:将原始图像通过自适应的二值化阈值,转换为二值图像;在二值图像上进行屏幕轮廓查找,根据查找到的屏幕轮廓在原始图像上对应绘制屏幕轮廓,并确定屏幕轮廓的最小外接矩形;基于最小外接矩形确定原始图像上的有效区域,提取有效区域得到检测图像。
应当理解,去除原始图像中的干扰信息的过程就是提取图像中有效区域的过程。提取有效区域的方式例如包括下列步骤:
步骤一,调用处理器中的adaptivethreshold()函数对图2所示原始图像进行自适应二值化处理,获取二值图像,得到的二值图像如图3所示。
步骤二,在图3所示二值图像的基础上,通过轮廓查找找到屏幕轮廓,并在图2所示原始图像上对应绘制屏幕轮廓,得到图4。图4中的白色箭头所指示的位置即为查找到的轮廓contours的一部分。注:轮廓查找或轮廓搜索可以采用现有技术中实现,比如利用opencv(开源计算机视觉库,opensourcecomputervisionlibrary)平台实现。
步骤三,由屏幕轮廓确定屏幕轮廓的最小外接矩形,并截取有效区域得到有效区域图像,即检测图像。检测图像的宽为width,高为height,检测图像如图5所示。
至此,得到了包含屏幕轮廓的检测图像。
对于检测图像,本申请实施例根据待检测屏幕中疑似缺陷点的灰度特点选取第一算法和第二算法,将检测图像的中心区域与第一算法对应,将检测图像的边缘区域与第二算法对应,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点。这里的第一算法比如是halcon视觉算法。
由于中心区域的缺陷相对容易检测,因此,这里先对中心区域的缺陷点检测进行说明。
具体的,利用第一算法检测出位于中心区域的第一疑似缺陷点包括:利用halcon视觉算法确定出检测图像上的疑似缺陷点;计算各疑似缺陷点与相对应屏幕轮廓之间的距离;将距离大于预设距离阈值的疑似缺陷点确定为第一疑似缺陷点。注:检测图像中包含屏幕轮廓。
示例性的,一种实现方式可以为将图5所示的检测图像读入halcon软件中,利用halcon软件基于不同的参数创建两个高斯滤波器,这两个高斯滤波器构造成一个带通滤波器,对检测图像进行傅里叶变换,利用带通滤波器对变换后的检测图像进行卷积计算,然后再对卷积计算结果进行反傅里叶变换。对反傅里叶变换后的图像进行掩膜处理,获得掩膜后图像。根据掩摸后图像确定出疑似缺陷点,在检测图像上对应标记出疑似缺陷点,结果如图6所示,图6中的圆圈即为检测出的疑似缺陷点。
接着,对图6中的疑似缺陷点进行筛选,计算疑似缺陷点距离相对应屏幕轮廓(由于屏幕轮廓是一条圆曲线,所以疑似缺陷点将距离近的一段屏幕轮廓作为相对应屏幕轮廓)的距离,当该疑似缺陷点距离屏幕轮廓的距离大于预设距离阈值thresh_distance时,将该疑似缺陷点判定为中心区域的缺陷点,即,第一疑似缺陷点。
需要说明的是,如何计算关键点与相对应屏幕轮廓的距离的为现有技术,可参见现有技术中的说明,本申请实施例对此不再赘述。
在检测出第一疑似缺陷点之后,本申请实施例判定第一疑似缺陷点是否属于中心缺陷点。具体的,根据第一疑似缺陷点所在目标像素区域内各像素点的灰度值以及目标像素区域的灰度均值,确定目标像素区域内各像素点的对比度,根据目标像素区域内各像素点的对比度判定第一疑似缺陷点是否属于中心缺陷点。
比如,确定该第一缺陷点所在的50*50(仅作示例)区域为目标像素区域,对目标像素区域滤波,比如进行2*2滤波以去除噪点。而后,根据目标像素区域内各像素点的灰度值计算目标像素区域的灰度均值,由各像素点的灰度值以及灰度均值确定各像素点对应的对比度。获得各像素点对应的对比度之后,统计对比度小于对比度阈值k的像素点个数,当像素点个数大于某一数量阈值时,确定第一疑似缺陷点为中心缺陷点,否则确定第一疑似缺陷点非中心缺陷点。
这里的中心缺陷点是中心区域缺陷类型对应的缺陷点,中心区域缺陷类型比如是屏幕中心区域常见的缺陷,如屏幕中心区域有杂质、灰尘等缺陷。
经过上述过程,即可判定第一疑似缺陷点是否属于中心缺陷点。
对于边缘区域,halcon软件无法识别区分边缘黑线、划痕等边缘缺陷,本申请实施例提出,对检测图像的边缘区域进行分块,对分块区域进行关键点提取,然后进行缺陷点检测和判定,以增强检测的自适应能力,减少误检、漏检的发生,提高检测准确性。
以下对边缘区域的缺陷点检测进行说明。
如前述可知,检测图像中包含屏幕轮廓,由于这里只需要进行边缘区域的关键点提取,为减小工程耗时,并避免误检、漏检的发生,故对边缘区域进行分块。即,本申请实施例在利用第二算法检测出位于边缘区域的第二疑似缺陷点之前,包括:根据屏幕轮廓的形状,对边缘区域进行分块,得到各分块区域。
进一步的,根据屏幕轮廓的形状,对边缘区域进行分块的一种实现方式为将边缘区域分为四个分块,具体包括:根据屏幕轮廓的形状,确定屏幕轮廓的最大内接矩形的位置;将包括最大内接矩形的左边以外且屏幕轮廓以内的区域划分为第一分块区域,将包括最大内接矩形的右边以外且屏幕轮廓以内的区域划分为第二分块区域,将包括最大内接矩形的上边以外且屏幕轮廓以内的区域划分为第三分块区域,将包括最大内接矩形的下边以外且屏幕轮廓以内的区域划分为第四分块区域;利用特征点检测算法,分别检测第一分块区域,第二分块区域,第三分块区域以及第四分块区域中的第二疑似缺陷点(即关键点)。
举例而言,根据屏幕轮廓的形状,如图5所示屏幕轮廓大致可看成圆形的,根据圆形轮廓确定最大内接矩形的位置,最大内接矩形的的四个顶点比如是point1(x,y),point2(x,y),point3(x,y),point4(x,y),其中,x和y分别表示像素点水平方向的宽度值和垂直方向的高度值。由四个顶点、屏幕轮廓和检测图像的四边划分四个矩形区域,
进行边缘分块之后的检测图像,如图7所示,图7中检测图像左上角的点,即检测图像的原点point0,point0的坐标为(0,0),各分块区域如下:
第一分块区域rect_left(0,0,point1.x,height),参见图7所示的由黑色加粗间断线所围合的矩形区域710,其中,(0,0)表示第一分块区域左上角顶点的像素位置,point1.x表示第一分块区域的宽(即,第一分块区域的宽等于点point1的水平方向的值),height表示第一分块区域的高(即,第一分块区域的高等于图5所示检测图像的高度值)。
第二分块区域rect_right(point2.x,0,width-point2.x,height),参见图7,第二分块区域720是与第一分块区域710位置左右相对的区域,其中(point2.x,0)表示第二分块区域左上角顶点的像素位置,width-point2.x表示第二分块区域的宽(即,第二分块区域的宽等于检测图像的宽度值减去点point2的宽度值),height表示第二分块区域的高(即,第二分块区域的高等于图5所示检测图像的高度值)。
第三分块区域rect_top(point1.x,0,point2.x-point1.x,point1.y),参见图7所示的由黑色加粗间断线所围合的矩形区域730,其中(point1.x,0)表示第三分块区域左上角顶点的像素位置,point2.x-point1.x表示第三分块区域的宽(即,第三分块区域的宽等于点point2的宽度值减去点poin1的宽度值),point1.y表示第三分块区域的高(即,第三分块区域的高等于点point1的高度值)。由于本申请实施例中是根据检测图像(矩形),屏幕轮廓最大内接矩形进行边缘区域分块的,所以点point1的高度值与点point2的高度值是相等的,也就是说,第三分块区域的高也可以由点point2的高度值表示。
第四分块区域rect_bottom(point1.x,point4.y,point2.x-point1.x,point1.y)。参见图7所示,第四分块区域740是与区域730的位置上下相对的区域,其中(point1.x,point4.y)表示第四分块区域左上角顶点的像素位置,point2.x-point1.x表示第四分块区域的宽(即,第四分块区域的宽等于点point2的宽度值减去point1的宽度值),point1.y表示第四分块区域的高(即,第四分块区域的高等于点point1的高度值)。
需要说明的是,由于本申请实施例中是根据检测图像(矩形),屏幕轮廓最大内接矩形进行边缘区域分块的,划分出的分块区域也是矩形,所以点point3的宽度值与点point1的宽度值相等,点point4的宽度值与点point2的宽度值是相等的,基于此,第四分块区域的左上角顶点的像素位置中的水平位置也可以由点point3的水平方向的宽度值,即,point3.x表示,同理,第四分块区域的宽也可以由point4.x-point3.x表示。
划分出上述四个分块区域之后,利用第二算法提取第二疑似缺陷点,第二算法比如sift(scale-invariantfeaturetransform,尺度不变特征变换)特征点检测算法。
sift算法对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性该算法区分性好,适合在海量特征数据中进行快速、准确的匹配。
可以理解,第二算法也可以采用其它特征点检测算法,比如surf(speeduprobustfeatures)算法,surf算法对sift算法进行了改进,或者采用fast(featuresfromacceleratedsegmenttest)算法等,本申请实施例对此不作限制。
以sift算法为例,具体的,在各分块区域内,利用第二算法提取关键点,并根据关键点与相对应屏幕轮廓的距离检测出第二疑似缺陷点;也就是说,利用sift算法提取关键点。计算各关键点与相对应屏幕轮廓的距离,如果距离在预设距离阈值范围内则将关键点确定为第二疑似缺陷点。
考虑到四个分块区域的图像亮度不一致,如果采用单一判定参数进行缺陷区分,会造成缺陷点的漏检以及非缺陷点的误检,针对这种情况,本申请实施例提出对四个区域采用不同的判定参数,比如设置四个判定参数进行缺陷检测的方案。
即,在各分块区域内,判定第二疑似缺陷点是否属于边缘缺陷点;其中,每个分块区域采用的判定参数不相同,或者,对分块区域进行归类,不同类分块区域采用的判定参数不相同,判定参数包括第二疑似缺陷点所在的目标像素区域以及用于判定目标像素区域内各像素点的阈值。也就是说,目标像素区域的大小是可变的,并且用于判定目标像素区域内各像素点的阈值也是可变的,从而提高本申请屏幕缺陷检测方法的准确性。
比如,在确定出第二疑似缺陷点之后,在各分块区域内,根据当前分块区域对应的判定参数,来判定第二疑似缺陷点是否属于边缘缺陷点,这里的判定参数包括第二疑似缺陷点所在的目标像素区域。目标像素区域的大小根据当前分块区域内基准点的像素位置确定,基准点是从第二疑似缺陷点中选取的缺陷点。
为了缩短检测耗费的时间,可以对分块区域进行归类,不同类分块区域采用的判定参数不相同。比如,根据第一分块区域和第二分块区域内的边缘缺陷大都呈现水平状态的特点,本申请实施例将第一分块区域和第二分块区域分为一类,根据第三分块区域和第四分块区域内的边缘缺陷大都呈现垂直状态的特点,本申请实施例将第三分块区域和第四分块区域分为另一类。
对于一类分块区域内当前处理的第二疑似缺陷点,本申请实施例从第二疑似缺陷点所在的分块区域内,选取与当前处理的第二疑似缺陷点距离在预设距离阈值范围内的一个邻近的第二疑似缺陷点,将当前处理的第二疑似缺陷点以及该邻近的第二疑似缺陷点共同作为基准点。
举例来说,对于第一分块区域内的当前处理的第二疑似缺陷点h,以点h为圆心,以预设大小(比如7个像素大小)为半径查找附近的第二疑似缺陷点,查找到了两个第二疑似缺陷点m和n,点m到点h的距离小于点n到点h的距离,为了保证检测的准确性,本申请实施例选取点n与点h作为两个基准点。
同样的,对于当前处理的第二疑似缺陷点h之外的各第二疑似缺陷点,可以按照前述方式重新确定基准点。另一种更加高效的方式是:对于前述半径范围内的任一缺陷点,也采用前述点n与点h作为两个基准点,避免了查找和确定基准点的步骤,节省了时间,简化了流程。
接上例,根据这两个基准点n与h的像素位置,比如根据基准点的水平方向的差值n,确定像素区域大小的宽*高为n*(n/2)。确定像素区域大小之后,以第二疑似缺陷点(如点h)为中心,并按照像素区域大小确定目标像素区域。
又例如,对于第三分块区域内的当前处理的第二疑似缺陷点o,以点o为圆心,以预设大小(比如7个像素大小)为半径查找附近的第二疑似缺陷点,查找到了两个第二疑似缺陷点e和点f,点e到点o的距离小于点f到点o的距离,那么本申请实施例选取点f与点o作为两个基准点。根据这两个基准点f与o的像素位置,比如根据基准点的垂直方向的差值n,确定像素区域大小的宽*高为n*(n*2)。
接下来,判定第二疑似缺陷点是否属于边缘缺陷点。
具体的,根据第一疑似缺陷点所在目标像素区域内各像素点的灰度值以及目标像素区域的灰度均值,确定目标像素区域内各像素点的对比度,根据目标像素区域内各像素点的对比度判定第一疑似缺陷点是否属于中心缺陷点;根据第二疑似缺陷点所在目标像素区域内各像素点的灰度值以及目标像素区域的灰度均值,确定目标像素区域内各像素点的对比度,根据目标像素区域内各像素点的对比度判定第二疑似缺陷点是否属于边缘缺陷点。
比如,由目标像素区域内各像素点的灰度值,得到目标像素区域的灰度均值;基于目标像素区域的灰度均值以及目标像素区域内各像素点的灰度值,得到目标像素区域内各像素点的对比度;统计对比度小于当前分块区域对应的预设对比度阈值k1的目标像素点个数pixel_sum;如果目标像素点个数pixel_sum大于预设数量阈值,则判定第二疑似缺陷点为边缘缺陷点。
需要说明的是,灰度均值即各像素点的灰度值的平均值。边缘缺陷点即对应边缘缺陷类型的缺陷点,这里的边缘缺陷类型比如是边缘划痕等。另外,本申请实施例中考虑到各分块区域的亮度不同,所以对应不同的分块区域,判定参数之对比度阈值(即,用于判定目标像素区域内各像素点的阈值)有所不同。比如,对于第一分块区域,对比度阈值为k1,对于第二分块区域,对比度阈值为k2,对于第三分块区域,对比度阈值为k3,对于第四分块区域,对比度阈值为k4。或者,第一分块区域与第二分块区域对应的对比度阈值相同,但与第三分块区域或第四分块区域的对比度阈值不同,从而准确判定当前分块区域内的第二疑似缺陷点是否为边缘缺陷点。
以上即可判定第二疑似缺陷点是否属于边缘缺陷点。
由上述可知,本申请实施例的屏幕缺陷检测方法,考虑到边缘区域中各部分的图像亮度不一致,所以对边缘区域进行分块,各分块采用不同的判定参数进行边缘缺陷点判定,避免了缺陷点漏检以及非缺陷点误检的发生,提高了检测的准确性。
本申请实施例还提供了一种屏幕缺陷检测装置,图8示出了本申请一个实施例的屏幕缺陷检测装置的框图,参见图8,屏幕缺陷检测装置800包括:
图像获取单元810,用于获取待检测屏幕的原始图像;
图像处理单元820,用于去除原始图像中的干扰信息,得到检测图像;
检测单元830,用于为检测图像的中心区域选取对应的第一算法,为检测图像的边缘区域选取对应的第二算法,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点;
缺陷判定单元840,用于判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点,得到检测结果。
在本申请的一个实施例中,检测图像中包含屏幕轮廓;检测单元830,具体用于在利用第二算法检测出位于边缘区域的第二疑似缺陷点之前,根据屏幕轮廓的形状,对边缘区域进行分块,得到各分块区域,在各分块区域内,利用第二算法提取关键点,并根据关键点与相对应屏幕轮廓的距离检测出第二疑似缺陷点;
缺陷判定单元840,具体用于在各分块区域内,判定第二疑似缺陷点是否属于边缘缺陷点;其中,每个分块区域采用的判定参数不相同,或者,对分块区域进行归类,不同类分块区域采用的判定参数不相同,判定参数包括第二疑似缺陷点所在的目标像素区域,以及用于判定目标像素区域内各像素点的阈值。
在本申请的一个实施例中,缺陷判定单元840,具体用于根据待检测屏幕中疑似缺陷点的灰度特点选取第一算法和第二算法,根据第一疑似缺陷点所在目标像素区域内各像素点的灰度值以及目标像素区域的灰度均值,确定目标像素区域内各像素点的对比度,根据目标像素区域内各像素点的对比度判定第一疑似缺陷点是否属于中心缺陷点;
根据第二疑似缺陷点所在目标像素区域内各像素点的灰度值以及目标像素区域的灰度均值,确定目标像素区域内各像素点的对比度,根据目标像素区域内各像素点的对比度判定第二疑似缺陷点是否属于边缘缺陷点。
在本申请的一个实施例中,检测单元830,具体用于根据屏幕轮廓的形状,确定屏幕轮廓的最大内接矩形的位置;将包括最大内接矩形的左边以外且屏幕轮廓以内的区域划分为第一分块区域,将包括最大内接矩形的右边以外且屏幕轮廓以内的区域划分为第二分块区域,将包括最大内接矩形的上边以外且屏幕轮廓以内的区域划分为第三分块区域,将包括最大内接矩形的下边以外且屏幕轮廓以内的区域划分为第四分块区域;利用特征点检测算法,分别检测第一分块区域,第二分块区域,第三分块区域以及第四分块区域中的第二疑似缺陷点。
在本申请的一个实施例中,缺陷判定单元840,具体用于从第二疑似缺陷点所在的分块区域内选取与当前处理的第二疑似缺陷点距离在预设距离阈值范围内的一个邻近的第二疑似缺陷点,将当前处理的第二疑似缺陷点以及邻近的第二疑似缺陷点共同作为基准点;根据基准点的水平方向或者垂直方向的差值,确定像素区域大小,以第二疑似缺陷点为中心,并按照像素区域大小确定目标像素区域;由目标像素区域内各像素点的灰度值,得到目标像素区域的灰度均值;基于目标像素区域的灰度均值以及目标像素区域内各像素点的灰度值,得到目标像素区域内各像素点的对比度;统计对比度小于当前分块区域对应的预设对比度阈值的目标像素点个数;如果目标像素点个数大于预设数量阈值,则判定第二疑似缺陷点为边缘缺陷点。
在本申请的一个实施例中,图像处理单元820,具体用于将原始图像通过自适应的二值化阈值,转换为二值图像;在二值图像上进行屏幕轮廓查找,根据查找到的屏幕轮廓在原始图像上对应绘制屏幕轮廓,并确定屏幕轮廓的最小外接矩形;基于最小外接矩形确定原始图像上的有效区域,提取有效区域得到检测图像。
在本申请的一个实施例中,检测图像中包含屏幕轮廓,检测单元830,具体用于利用halcon视觉算法确定出检测图像上的疑似缺陷点;计算各疑似缺陷点与相对应屏幕轮廓之间的距离;将距离大于预设距离阈值的疑似缺陷点确定为第一疑似缺陷点。
需要说明的是,上述屏幕缺陷检测装置,能够实现前述实施例中提供的由头戴显示设备执行的屏幕缺陷检测方法的各个步骤,关于屏幕缺陷检测方法的相关阐释均适用于屏幕缺陷检测装置,此处不再赘述。
需要说明的是:
图9示意了头戴显示设备的结构示意图。请参考图9,在硬件层面,该头戴显示设备包括处理器,可选地还包括内部总线、网络接口、存储器。其特征在于,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该头戴显示设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成屏幕缺陷检测装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取待检测屏幕的原始图像;
去除原始图像中的干扰信息,得到检测图像;
为检测图像的中心区域选取对应的第一算法,为检测图像的边缘区域选取对应的第二算法,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点;
判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点,得到检测结果。
上述如本申请图8所示实施例揭示的屏幕缺陷检测装置执行的功能可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该头戴显示设备还可执行图1中屏幕缺陷检测方法执行的步骤,并实现屏幕缺陷检测方法在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的头戴显示设备执行时,能够使该头戴显示设备执行图1所示实施例中屏幕缺陷检测方法,并具体用于执行:
获取待检测屏幕的原始图像;
去除原始图像中的干扰信息,得到检测图像;
为检测图像的中心区域选取对应的第一算法,为检测图像的边缘区域选取对应的第二算法,利用第一算法检测出位于中心区域的第一疑似缺陷点,以及利用第二算法检测出位于边缘区域的第二疑似缺陷点;
判定第一疑似缺陷点是否属于中心缺陷点,判定第二疑似缺陷点是否属于边缘缺陷点,得到检测结果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其特征在于包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其特征在于包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。