CN113744200A - 一种摄像头脏污检测方法、装置及设备 - Google Patents

一种摄像头脏污检测方法、装置及设备 Download PDF

Info

Publication number
CN113744200A
CN113744200A CN202110918666.5A CN202110918666A CN113744200A CN 113744200 A CN113744200 A CN 113744200A CN 202110918666 A CN202110918666 A CN 202110918666A CN 113744200 A CN113744200 A CN 113744200A
Authority
CN
China
Prior art keywords
image
dirty
contamination
gray
detection method
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.)
Granted
Application number
CN202110918666.5A
Other languages
English (en)
Other versions
CN113744200B (zh
Inventor
郑国荣
胡斌
谢松乐
张晓�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Xinxinteng Technology Co ltd
Original Assignee
Shenzhen Xinxinteng Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Xinxinteng Technology Co ltd filed Critical Shenzhen Xinxinteng Technology Co ltd
Priority to CN202110918666.5A priority Critical patent/CN113744200B/zh
Publication of CN113744200A publication Critical patent/CN113744200A/zh
Application granted granted Critical
Publication of CN113744200B publication Critical patent/CN113744200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

本申请提供一种摄像头脏污检测方法、装置及设备,涉及检测技术领域,能够有效提高对摄像头脏污检测的准确度。该方法包括:获取目标图像并对目标图像进行灰度化处理,得到第一灰度图像;通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对第一灰度图像进行检测,对应得到第一脏污图像、第二脏污图像和第三脏污图像,其中,第一脏污检测方法,用于检测第一灰度图像中的团状脏污特征;第二脏污检测方法,用于检测第一灰度图像中的线状脏污特征;第三脏污检测方法,用于检测第一灰度图像中的点状脏污特征;将第一脏污图像、第二脏污图像和第三脏污图像进行像素融合处理,根据融合结果确认摄像头是否脏污以及脏污位置。

Description

一种摄像头脏污检测方法、装置及设备
技术领域
本申请涉及检测技术领域,尤其涉及一种摄像头脏污检测方法、装置及设备。
背景技术
目前,在摄像头测评系统中,摄像头脏污检测是非常重要的测试项目,随着各类终端产品对摄像头的品质要求越来越高,而摄像头脏污检测作为摄像头组装完成后的一项重要项目,使得对摄像头脏污的检测要求也越来越高。
现有的摄像头脏污检测方法普遍存在误判率高,测试效率低等问题,并且对于脏污不明显的瑕疵无法进行有效检测,测试结果一致性差,从而无法保证摄像头的质量。
发明内容
本申请实施例提供了一种摄像头脏污检测方法、装置及设备,能够有效提高对摄像头脏污检测的准确度。
第一方面,本申请提供一种摄像头脏污检测方法,包括:获取目标图像并对目标图像进行灰度化处理,得到第一灰度图像;通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对第一灰度图像进行检测,对应得到第一脏污图像、第二脏污图像和第三脏污图像;其中,第一脏污检测方法,用于检测第一灰度图像中的团状脏污特征以得到第一脏污图像;第二脏污检测方法,用于检测第一灰度图像中的线状脏污特征以得到第二脏污图像;第三脏污检测方法,用于检测第一灰度图像中的点状脏污特征以得到第三脏污图像;将第一脏污图像、第二脏污图像和第三脏污图像进行像素融合处理,根据融合结果确认摄像头是否脏污以及脏污位置。
在本申请实施例中,通过使用不同的脏污检测方法对灰度化处理后的目标图像即第一灰度图像进行检测,对应得到不同的脏污图像,再将所得到的脏污图像进行像素融合处理后,根据最终的融合结果确定摄像头是否脏污以及确认脏污在目标图像中的位置,可以有效地提高摄像头脏污检测的准确度,提高了摄像头脏污检测的鲁棒性和可靠性。
第二方面,本申请提供一种摄像头脏污检测装置,包括:
第一灰度图像处理单元,用于获取目标图像并对目标图像进行灰度化处理,得到第一灰度图像;
脏污检测单元,用于通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对第一灰度图像进行检测,对应得到第一脏污图像、第二脏污图像和第三脏污图像;其中,第一脏污检测方法,用于检测第一灰度图像中的团状脏污特征以得到第一脏污图像;第二脏污检测方法,用于检测第一灰度图像中的线状脏污特征以得到第二脏污图像;第三脏污检测方法,用于检测第一灰度图像中的点状脏污特征以得到第三脏污图像;
脏污确认单元,用于将第一脏污图像、第二脏污图像和第三脏污图像进行像素融合处理,根据融合结果确认摄像头是否脏污以及脏污位置。
第三方面,本申请提供一种摄像头脏污检测设备,包括处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第一方面或第一方面的任意可选方式的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如第一方面或第一方面的任意可选方式的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在摄像头脏污检测设备上运行时,使得摄像头脏污检测设备执行上述第一方面的摄像头脏污检测方法的步骤。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种摄像头脏污检测方法的流程示意图;
图2是本申请实施例提供的一种对目标图像进行灰度化处理后得到的第一灰度图像的示意图;
图3是本申请实施例提供的一种获取第一脏污图像的方法的流程示意图;
图4本申请实施例提供的一种获取分区检测结果图的方法的流程示意图;
图5是本申请实施例提供的一种获取第二脏污图像的方法的流程示意图;
图6是本申请实施例提供的一种卷积图像的示意图;其中图6中的(1)为第一卷积图像的示意图,图6中的(2)为第二卷积图像的示意图;
图7是本申请实施例提供的一种获取第三脏污图像的方法的流程示意图;
图8是本申请实施例提供的一组脏污图像的示意图;其中,图8中的(1)为第一脏污图像的示意图,图8中的(2)为第二脏污图像的示意图,图8中的(3)为第三脏污图像的示意图;
图9是本申请实施例提供的一种脏污区域的绘制方法的流程示意图;
图10是本申请实施例提供的一种在目标图像中矩形绘制所有的脏污轮廓得到的脏污绘制区域的示意图;
图11是本申请实施例提供的一种摄像头脏污检测装置的结构示意图;
图12是本申请实施例提供的一种摄像头脏污检测设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
还应当理解,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
摄像头作为一种视频输入设备,具有体积小,成本低,高成像质量等诸多特点,被广泛应用于智能手机、电脑,监控设备,车载设备,虹膜识别等电子设备中。脏污检测是摄像头组装完成后的一项重要测试项目,由于摄像头传感器本身存在像素坏点以及在组装过程中沾染的灰尘粒子,造成在成像时会形成亮点、暗点、色点、坏点以及线状、团状等缺陷,影响成像质量。
目前常用的脏污检测方法是:通过对比亮度差来检测脏污的方法中,由于摄像头成像时大多中心亮度高,四周亮度地,特别是摄像头偏心或者lens偏心时,画面中心与四周差异很大,可以用同一个亮度差异来判定摄像头是否脏污。然而此种方法对图像一致性要求较高,也无法检测点、线缺陷,造成无法准确抓取脏污,或者会造成误判或不良产品流程,在实际生产测试中造成良率和直通率的降低,影响产品品质,而且降低了生产效率。
为了可以精确的检测并区分摄像头的脏污并确定脏污的位置,本申请实施提供了一种摄像头脏污检测方法,可以快速并准确地检测出摄像头的脏污并确定脏污的位置。
在说明本申请实施例提供的摄像头脏污检测方法之前,首先对本申请实施例中涉及的摄像头脏污的特征进行示例性说明。
脏污特征,包括点状脏污特征、线状脏污特征和团状脏污特征。点状脏污特征、线状脏污特征和团状脏污特征是摄像头上的脏污在图像中以不同形态呈现出来的特征。其中,点状脏污特征为表征点状脏污的图像特征,线状脏污特征为表征线状脏污的图像特征,团状脏污特征为表征团状脏污的图像特征。点状脏污特征:一个或者几个集中但没有形成线状或团状的噪点、亮点、暗点等异常像素所呈现出来的形态特征,或者区域分散的噪点、亮点、暗点等异常像素所呈现出来的特征;线状脏污特征:几个集中且形成线状的点、亮线、暗线以及不同形状与长度的线性缺陷所呈现出来的特征;团状脏污特征:面积形状各异的团状脏污的所呈现出来的特征,包括几个集中且形成团状的点、几根存在重合的线以及其他团状形态所呈现出来的特征。
脏污检测,也就是通过检测沾附在摄像头上各种形态的脏污特征,为了精准的排除摄像头上的脏污,需要检测出并确认不同形态的脏污特征,从而提高摄像头的脏污检测精度,本申请实施例通过全面检测团状脏污特征、线状脏污特征和点状脏污特征,可以有效地提高脏污检测的精准度。
本申请实施例中的脏污检测方法包括第一脏污检测方法、第二脏污检测方法和第三脏污检测方法。
其中,第一脏污检测方法,用于检测第一灰度图像中的团状脏污特征以得到第一脏污图像;第二脏污检测方法,用于检测第一灰度图像中的线状脏污特征以得到第二脏污图像;第三脏污检测方法,用于检测第一灰度图像中的点状脏污特征以得到第三脏污图像。
第一灰度图像为对目标图像进行灰度化处理后得到的图像,进行灰度化处理的目的是为了减少图像的运行量,提高检测效率。
在本申请实施例中,在获取到需要进行脏污检测的目标图像后,需要对该目标图像进行预处理以提高运算速度,本申请实施例中对目标图像的预处理为灰度化处理,再根据灰度化后的图像即第一灰度图像进行脏污检测。
请参阅图1,图1是本申请实施例提供的一种摄像头脏污检测方法的流程示意图,详述如下:
步骤S101,获取目标图像并对目标图像进行灰度化处理,得到第一灰度图像。
在本申请实施例中,目标图像为利用待测摄像头传感器对预定场景进行拍摄得到的需要进行脏污检测的图像。目标图像中的脏污可以以点状脏污特征、线状脏污特征以及团状脏污特征中的任意一种或几种的组合呈现出来。
在本申请的一个具体实施例中,当获取到的目标图像中的脏污同时包含有点状脏污、线状脏污以及团状脏污时,在对该目标图像进行灰度化处理后,得到如图2所示的第一灰度图。
步骤S102,通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对第一灰度图像进行检测,对应得到第一脏污图像、第二脏污图像和第三脏污图像。
在本申请实施例中,通过第一脏污检测方法,可以有效地检测出第一灰度图像中具有团状脏污特征的脏污图像;通过第二脏污检测方法,可以有效地检测出第一灰度图像中具有线状脏污特征的脏污图像;通过第三脏污检测方法,可以有效地检测出第一灰度图像中具有点状脏污特征的脏污图像,通过多个脏污检测方法,将不同形态下的脏污特征检测出来,可以有效地提高摄像头脏污检测的准确度。
在本申请的一些实施例中,通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法,按顺序分别对第一灰度图像进行检测。也可以按随机顺序对第一灰度图像进行检测。本申请实施例中对使用第一脏污检测方法、第二脏污检测方法和第三脏污检测方法脏污对第一灰度图像进行检测的顺序不做具体限定。
在本申请的一些实施例中,可以同时通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对第一灰度图像进行检测,即同步进行第一脏污检测方法、第二脏污检测方法和第三脏污检测方法的线程,这大大提高了摄像头脏污检测的效率。
请参阅图3,图3是本申请实施例提供的一种获取第一脏污图像的方法的流程示意图,详述如下:
步骤S301,将第一灰度图像各个位置的灰度值与其灰度平均值相减,根据相减得到的像素差值得到第二灰度图像。
在本申请实施例中,将第一灰度图像各个位置的灰度值与其灰度平均值相减,并通过第一二值化公式对相减得到灰度差值进行归一化处理,得到第二灰度图像。
在本申请的一些实施例中,首先获取第一灰度图像所有位置的灰度值,计算第一灰度图像的灰度平均值,然后将第一灰度图像中各个位置的灰度值,分别与计算得到的灰度平均值相减,再通过第一二值化公式对相减得到的像素差值进行归一化处理,得到图像数据量较低且脏污特征较为明显的第二灰度图像。
其中,第一二值化公式为公式(1),具体如下:
Figure BDA0003206570380000051
其中,dst(x,y)表示位置为(x,y)的点的像素值,thread1表示第一像素阈值。
需要说明的是,本申请实施例中使用到多个不同的二值化公式,为便于区别,通过第一、第二诸如此类的方式对不同的二值化公式进行区分。
步骤S302,调整第二灰度图像的尺寸为第一预定尺寸,并按第一预定像素扩充调整后的灰度图像的边缘,得到第三灰度图像。
在本申请实施例中,第一预定尺寸为小于第二灰度图像的原始尺寸的任意尺寸,调整第二灰度图像的尺寸目的是为了进一步减少图像数据的运算量,提高摄像头脏污检测的效率。
在本申请的一些实施例中,可以按照预设比例调整第二灰度图像的尺寸,比如,将第二灰度图像的尺寸按其原始尺寸的1/5进行缩小,也即调整第二灰度图像的尺寸为其原始尺寸的1/5。
在本申请的一些实施例中,在调整第二灰度图像的尺寸时,为了避免由于波纹干扰而导致摄像头脏污检测的准确率下降的问题,可以以区域插值INTER_AREA方式调整第二灰度图像的尺寸为第一预定尺寸。通过利用像素区域关系的重采样插值,可以有效地避免由于波纹干扰而导致的精度降低问题,进一步提高了摄像头脏污检测的准确率。
进一步的,在调整第二灰度图像的尺寸为第一预定尺寸后,为了避免图像边缘所造成的误测,可以对调整了尺寸的第二灰度图像的边缘进行扩充以便于提取边缘特征,比如,以复制最边缘像素的方式扩展边界,进一步提高摄像头脏污检测的精准度。
在本申请的一些实施例中,将调整了尺寸的第二灰度图像以复制法,比如复制边缘像素的方式,将图像每侧边框的长度增加第一预定像素的方式对图像的边缘进行扩充得到第三灰度图像。其中,第一预定像素的像素范围值为5-10pixel。
步骤S303,在提取第三灰度图像的特征分量,并去除背景噪音以及增强图像之后,去除第三灰度图像中按第一预定像素所扩充的边缘,调整去除边缘之后的第三灰度图像的尺寸为第一灰度图像的原始尺寸,得到第四灰度图像。
在本申请实施例中,在得到第三灰度图像之后,通过神经网络提取第三灰度图像的特征分量,利用四个方向的反Gabor滤波器,去除第三灰度图的背景噪声并增强图像,使得在空间域和频率域同时取得最优局部化的特性,使得局部结构信息特征点的定位更准确,以达到提高摄像头脏污检测的精确度的目的。
在去除第三灰度图像的背景噪声以及增强图像之后,获取到最新处理得到的图像数据Mat dg后,为了避免因边缘扩充部分像素可能造成的干扰以及误判,需要将图像数据Mat dg中的扩充的边缘像素去除,原始扩充的边缘像素是第一预定像素,那么去除的边缘像素也是第一预定像素,按第一预定像素去除图像数据Mat dg的边缘扩充部分,得到最新的图像数据dg,这时,为了便于有足够的图像数据支持以获得清晰的脏污轮廓图,需要将图像数据dg的图像尺寸调整为第一灰度图像的原始尺寸或第二灰度图像的原始尺寸。
在本申请实施例中,特征分量包括但不限于纹理特征、形状特征,用于获取脏污区域特征,可以通过局部二值模式(Local binary patterns,LBP)方法可以提取第三灰度图像中脏污区域的纹理特征,通过sobel边缘检测算法可以提取第三灰度图像中脏污区域的形状特征。
步骤S304,对第四灰度图像进行分区检测,并将分区检测得到的若干个分区检测结果图复制至对应的分区并移除各个分区中小于第一门限阈值的连通域,得到第五灰度图像。
在本申请实施例中,在按预设区域数将第四灰度图像划分为若干个分区后,对每个分区中的灰度图像部分进行检测,并通过第一二值化公式,将得到的若干个分区检测结果图进行归一化处理后,再将各个分区检测结果图对应复制到其相应的分区中,同时,从复制得到的结果图移除小于第一门限阈值的连通域,以避免因检测过严导致的良品率和直通率过低的问题。
需要说明的是,第一门限阈值为外设的配置的参数。
具体的,在本申请实施例中,为了避免由于亮度差异而导致的误判,可以按照摄像头的成像特性如中心到四角亮度分布逐步减弱的特性,将第四灰度图像分为大小可以调节的九个区域,比如上边区、下边区、左边区、右边区、四角区(4个角的区域)和中心区,这样,同时对这九个区域进行同步检测,不仅可以提高摄像头脏污检测的效率,而且由于分区检测,可以减少因不同区域的亮度差异而导致的误测,从而进一步提高摄像头脏污检测的精准度。
具体的,根据摄像头成像特性,按照预定区域划分第四灰度图像,得到若干个区域子图像,每个区域对应有一个区域子图像,比如预定区域的数量为9个时,对应有9个区域子图像。
具体的,本申请实施例中按预定区域比如上边区、下边区、左边区、右边区、四角区和中心区划分第四灰度图像,对应得到9个区域子图像,因中心区的图像亮度最高,向四周逐渐递减,这样通过将第四灰度图像分为9个区域后,对第四灰度图像进行分区检测,可以大大降低由于亮度差异导致的误测,提高了摄像头脏污检测的准确度。
在本申请的一些实施例中,预定区域的区域范围可以根据实际需求进行调整。
在本申请实施例中,第二二值化公式为公式(2),具体如下:
Figure BDA0003206570380000061
其中,dst(x,y)表示位置为(x,y)的点的像素值。
在本申请的一些实施例中,在根据摄像头成像特性,按预定区域划分第四灰度图像,得到若干个区域子图像之后,再分别对每个区域子图像进行预处理以获得每个区域子图像中可能存在的脏污特征。
在本申请的另一些实施例中,为了进一步提高检测效率,可以同时对每个区域子图像进行预处理以获得每个区域子图像中可能存在的脏污特征。
请参阅图4,图4是本申请实施例提供的一种获取分区检测结果图的方法的流程示意图,详述如下:
步骤S401,调整区域子图像的尺寸为第二预定尺寸,并利用多项式曲面拟合,拟合区域子图像的背景,得到区域子图像对应的第一背景拟合图。
在本申请实施例中,第二预定尺寸为小于区域子图像的原始尺寸的尺寸,调整区域子图像尺寸的目的,是为了减少图像数据的运算量,提高检测效率。
在本申请的一些实施例中,可以按照预设比例调整区域子图像的尺寸,比如,将区域子图像的尺寸按其原始尺寸的1/5进行缩小,也即调整区域子图像的尺寸为其原始尺寸的1/5。
步骤S402,将第一背景拟合图的当前像素值与其像素平均值相减,根据相减得到的像素差值得到第一脏污特征增强图像。
步骤S403,调整第一脏污特征增强图像的尺寸为区域子图像的原始尺寸,得到区域子图像对应的分区检测结果图。
在本申请实施例中,在调整第一脏污特征增强图像的尺寸为区域子图像的原始尺寸之后,通过第一二值化公式对调整尺寸后的第一脏污特征增强图像进行归一化处理,得到区域子图像对应的分区检测结果图。第一脏污特征增强图像为凸显脏污区域的像素特征的图像,强化了各个区域子图像中的脏污特征,通过脏污特征增强图中脏污区域增强后的像素点值与第一拟合背景图中对应的像素点值之间的差异现象,可以凸显脏污区域的像素特征。
本申请实施例通过获取每个区域子图像得到各个检测分区的第一脏污特征增强图像,再通过一系列的处理即可得到完整的凸显所有脏污区域的像素特征的第五灰度图像。
步骤S305,获取第五灰度图像的轮廓数量,并根据轮廓数量获取对应的连通域轮廓,根据连通域轮廓,确定第一轮廓图像。
在本申请实施例中,第一轮廓图中包括有多个脏污特征增强图像,通过获取的连通域轮廓所计算得到的垂直边界最小矩形,可以确定第六灰度图像中的脏污特征增强图像,从而得到第一轮廓图像。
在本申请的一些实施例中,在获得第五灰度图像之后,计算第五灰度图像中的轮廓数量,根据轮廓数量得到第五灰度图像中的连通域轮廓的轮廓信息,再根据得到的轮廓信息,计算每个连通域轮廓的垂直边界最小矩形。
具体的,通过检测第五灰度图像中的外轮廓,存储所有的轮廓点,以相邻的两个点的像素位置差不超过1,findContours()函数首先返回一个list,list中每个元素都是图像中的一个连通域轮廓,得到每个连通域轮廓的轮廓信息。
需要说明的是,连通域轮廓是指脏污特征在图像中所显示的轮廓。
还需要说明的是,本申请实施例中计算得到的垂直边界最小矩形的个数与轮廓数量一致的,也即有多少个连通域轮廓,就对应有多少个垂直边界最小矩形。当第五灰度图像中有4个轮廓时,对应有4个垂直边界最小矩形。
在计算得到每个连通域轮廓对应的垂直边界最小矩形,利用多项式曲面拟合,拟合每个垂直边界最小矩形的背景图,得到每个垂直边界最小矩形对应的第二背景拟合图。再将第二背景拟合图的当前像素值与其像素平均值相减,根据获得的像素差值的绝对值,得到第二脏污特征增强图像;再次将第二脏污特征增强图像的当前像素值与其像素平均值相减,根据获得的像素差值的绝对值,得到第三脏污特征增强图像后,通过第三二值化公式对第三脏污特征增强图像进行归一化处理,得到每个垂直边界最小矩形对应的第四脏污特征增强图像,再根据所有的连通域轮廓对应的第四脏污特征增强图像,确定第一轮廓图像。
在本申请实施例中,第三二值化公式为公式(3),具体如下:
Figure BDA0003206570380000081
其中,dst(x,y)表示位置为(x,y)的点的像素值,S表示标准差,用于反应图像像素值与均值的离散程度。
在本申请实施例中,将包含有多个第四脏污特征增强图像的第五灰度图像称为第一轮廓图像,第四脏污特征增强图像为在第一脏污特征增强图像再次细化增强的脏污特征的图像,使得在第五灰度图像更加凸显出脏污区域的像素特征,进一步提高脏污检测的精确度。
需要说明的是,在利用多项式曲面拟合,拟合每个垂直边界最小矩形的背景图时,将每个垂直边界最小矩形的边缘即矩形的上下左右四个边缘,按预定像素比如200pixel进行扩充,并调整扩充边缘之后的垂直边界最小矩形的尺寸为其原始尺寸的1/5,再利用多项式曲面拟合,拟合每个垂直边界最小矩形的背景图,可以减少图像数据的运算量,并降低矩形特征干扰所造成的检测误差。
步骤S306,移除第一轮廓图像中面积小于第一面积阈值的区域,根据移除面积小于第一面积阈值的区域后的第一轮廓图像,得到第一脏污图像。
在本申请实施例中,首先通过第二二值化公式对第一轮廓图进行归一化处理,再移除归一化处理后的第一轮廓图像中面积小于第一面积阈值的区域,然后通过第二二值化公式对移除面积小于预设面积阈值的区域的第一轮廓图像进行归一化处理,得到第二轮廓图像,再通过第四二值化公式对第二轮廓图像进行归一化处理,得到第一脏污图像。
在本申请实施例中,移除第一轮廓图中面积小于第一面积阈值的区域,可以有效地避免因为检测过严而导致的误判,提高测试过程中的良率和直通率,降低生产成本。
在本申请实施例中,第四二值化公式为公式(4),具体如下:
Figure BDA0003206570380000082
其中,dst(x,y)表示位置为(x,y)的点的像素值。
需要说明的是,通过第四二值化公式,将灰度图像转换为黑白图像,进一步增强脏污区域的像素特征以提高检测的准确度。
需要说明的是,通过第一脏污检测方法检测第一灰度图像中的脏污时,最终会将第一灰度图像中的所有脏污均以团状脏污特征呈现出来。
请参阅图5,图5是本申请实施例提供的一种获取第二脏污图像的方法的流程示意图,详述如下:
步骤S501,调整第一灰度图像的尺寸为第三预定尺寸,并对调整尺寸后的第一灰度图像进行卷积操作,得到第一卷积图像。
在本申请实施例中,第三预定尺寸为小于第一灰度图像的原始尺寸的任意尺寸,调整第一灰度图像的尺寸目的是为了进一步减少卷积操作的运算量,提高卷积操作效率。
在本申请的一些实施例中,可以按照预设比例调整如图2所示的第一灰度图像的尺寸,比如,将第一灰度图像的尺寸按其原始尺寸的1/5进行缩小,也即调整第一灰度图像的尺寸为其原始尺寸的1/5,再对如图2所示的第一灰度图像进行卷积操作,得到如图6中的(1)所示的第一卷积图像。
步骤S502,根据脏污特征位置计算公式,计算脏污特征在第一卷积图像中的位置,得到第二卷积图像。
在本申请实施例中,在根据脏污特征位置计算公式,计算脏污特征在第一卷积图像中的位置时,需要获取第一卷积图像中的最大像素值和最小像素值,再根据最大像素值和最小像素值,在估计得连续区间取值范围比如[0,255]内,通过脏污特征位置计算公式,计算脏污特征在第一卷积图像中的位置,得到如图6中的(2)所示的第二卷积图像。
其中,脏污特征位置计算公式如下:
W=(px-pxmin)/(pxmax-pxmin)*255
其中,W为脏污特征在第一卷积图像中的位置;px为第一卷积图像的当前像素值;pxmax为第一卷积图像中的最大像素值;pxmin为第一卷积图像中的最小像素值。
步骤S503,通过若干个不同的卷积核对第二卷积图像进行卷积操作,将第二卷积图像分成若干个掩面图像,并通过的若干个不同的卷积核,将归一化处理后的若干个掩面图像融合到归一化处理后的第二卷积图像中,得到第一掩面增强图像。
在本申请实施例中,在通过若干个比如12个不同的卷积核对第二卷积图像进行卷积操作,将第二卷积图像分成mask1、mask2、mask3和mask4这4区域对应的掩面图像之后,通过第五二值化公式对该4个掩面图像进行归一化处理。同时,通过第六二值化公式对第二卷积图像进行归一化处理,以便于通过若干不同个卷积核,将归一化处理后的若干个掩面图像融合到归一化处理后的第二卷积图像中,获取第一掩面增强图像。
需要说明的是,是使用12个不同的卷积核对第二卷积图像进行卷积操作,是为了提取多样化的图像特征,避免单一卷积核所提取到的特征不够全面而导致检测精度降低,通过12个不同的卷积核可以实现对第二卷积图像的全部特征的提取,使得所提取到的图像特征更为丰富,从而提高摄像头脏污检测的精准度。
在本申请实的一些施例中,提供的12个不同的卷积核具体如下:
一.cv::Mat_<double>(12,12)<<
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1);
二.(cv::Mat_<double>(15,15)<<
0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,
0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,0,0,
0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,0,0,
0,-1,-1,-1,2,2,2,2,2,2,2,2,2,0,0,
0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,
0,0,2,2,2,2,2,2,2,2,2,-1,-1,-1,0,
0,0,2,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,
0,0,2,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0);
三.(cv::Mat_<double>(17,17)<<
0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,2,2,0,0,0,0,
0,0,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,0,0,0,
0,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,-1,0,0,
0,0,-1,-1,-1,2,2,2,2,2,2,2,-1,-1,-1,0,0,
0,0,-1,2,2,2,2,2,2,2,2,-1,-1,-1,-1,-1,0,
0,0,0,2,2,2,2,2,2,-1,-1,-1,-1,-1,-1,-1,-1,
0,0,0,2,2,2,2,-1,-1,-1,-1,-1,-1,-1,-1,0,0,
0,0,0,0,2,2,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0);
四.(cv::Mat_<double>(17,17)<<
0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,-1,2,0,0,0,0,0,
0,0,0,0,-1,-1,-1,-1,-1,-1,2,2,2,0,0,0,0,
0,0,0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,0,0,0,
0,0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,0,0,
0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,
-1,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,-1,
0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,
0,0,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,0,
0,0,0,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,0,0,
0,0,0,0,2,2,2,-1,-1,-1,-1,-1,-1,0,0,0,0,
0,0,0,0,0,2,-1,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0);
五.(cv::Mat_<double>(17,17)<<
0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,-1,-1,-1,-1,-1,2,2,2,0,0,0,0,0,
0,0,0,0,-1,-1,-1,-1,-1,2,2,2,2,-1,0,0,0,
0,0,0,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,0,0,
0,0,0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,
0,0,-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,0,
0,0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,0,
0,-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,0,0,
-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,0,0,
0,0,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,0,0,0,
0,0,0,-1,2,2,2,2,2,-1,-1,-1,-1,0,0,0,0,
0,0,0,0,0,2,2,2,-1,-1,-1,-1,-1,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0);
六.(cv::Mat_<double>(15,15)<<
0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,
0,0,0,-1,-1,-1,-1,2,0,0,0,0,0,0,0,
0,0,0,-1,-1,-1,-1,2,2,2,2,-1,0,0,0,
0,0,-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
0,0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,
0,0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,
0,0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,0,
0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,0,
-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,0,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,0,0,
0,0,0,-1,2,2,2,2,-1,-1,-1,-1,0,0,0,
0,0,0,0,0,0,0,2,-1,-1,-1,-1,0,0,0,
0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0);
七.(cv::Mat_<double>(12,12)<<
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1);
八.(cv::Mat_<double>(15,15)<<
0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,
0,0,0,0,0,0,0,2,-1,-1,-1,-1,0,0,0,
0,0,0,-1,2,2,2,2,-1,-1,-1,-1,0,0,0,
-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,0,0,
-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,0,
0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,0,
0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,0,
0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,
0,0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,
0,0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,0,
0,0,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,
0,0,-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,
0,0,0,-1,-1,-1,-1,2,2,2,2,-1,0,0,0,
0,0,0,-1,-1,-1,-1,2,0,0,0,0,0,0,0,
0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0);
九.(cv::Mat_<double>(17,17)<<
0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,0,2,2,2,-1,-1,-1,-1,-1,0,0,0,0,
0,0,0,-1,2,2,2,2,-1,-1,-1,-1,-1,0,0,0,0,
0,0,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,0,0,0,
-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,0,0,
0,-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,0,0,
0,0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,0,
0,0,-1,-1,-1,-1,-1,2,2,2,2,-1,-1,-1,-1,-1,0,
0,0,0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,
0,0,0,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,0,0,
0,0,0,0,-1,-1,-1,-1,2,2,2,2,2,-1,0,0,0,
0,0,0,0,-1,-1,-1,-1,-1,2,2,2,0,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0);
十.(cv::Mat_<double>(17,17)<<
0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,2,-1,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,2,2,2,-1,-1,-1,-1,-1,-1,0,0,0,0,
0,0,0,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,0,0,
0,0,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,0,
0,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,
-1,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,-1,-1,
0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,-1,-1,0,
0,0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,-1,-1,0,0,
0,0,0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,0,0,0,
0,0,0,0,-1,-1,-1,-1,-1,-1,2,2,2,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,-1,2,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0);
十一.(cv::Mat_<double>(17,17)<<
0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,2,2,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
0,0,0,2,2,2,2,-1,-1,-1,-1,-1,-1,-1,-1,0,0,
0,0,0,2,2,2,2,2,2,-1,-1,-1,-1,-1,-1,-1,-1,
0,0,-1,2,2,2,2,2,2,2,2,-1,-1,-1,-1,-1,0,
0,0,-1,-1,-1,2,2,2,2,2,2,2,2,-1,-1,0,0,
0,-1,-1,-1,-1,-1,2,2,2,2,2,2,2,2,-1,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,0,0,0,
0,0,-1,-1,-1,-1,-1,-1,-1,-1,2,2,2,2,0,0,0,
0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,2,2,0,0,0,0,
0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0);
十二.(cv::Mat_<double>(15,15)<<
0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,
0,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,
0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
0,0,2,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
0,0,2,2,2,2,2,2,-1,-1,-1,-1,-1,-1,0,
0,0,2,2,2,2,2,2,2,2,2,-1,-1,-1,0,
0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,
0,-1,-1,-1,2,2,2,2,2,2,2,2,2,0,0,
0,-1,-1,-1,-1,-1,-1,2,2,2,2,2,2,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,
0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,0,
0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0);
在本申请实施例中,第五二值化公式为公式(5),具体如下:
Figure BDA0003206570380000141
其中,dst(x,y)表示位置为(x,y)的点的像素值,S表示标准差。
第六二值化公式为公式(6),具体如下:
Figure BDA0003206570380000142
其中,dst(x,y)表示位置为(x,y)的点的像素值,AVG表示当前图像的像素平均值;S表示标准差。
步骤S504,调整第一掩面增强图像的尺寸为第一卷积图像的原始尺寸,移除调整尺寸后的第一掩面增强图像中面积小于第二面积阈值的连通域并进行归一化处理,移除归一化处理后的第一掩面增强图像中小于第二门限阈值的连通域,得到第二掩面增强图像。
在本申请实施例中,调整第一掩面增强图像的尺寸为第一卷积图像的原始尺寸,并通过第二二值化公式对调整尺寸后的第一掩面增强图像进行归一化处理,在归一化处理之后,移除归一化处理后的第一掩面增强图像中面积小于第二面积阈值的连通域,在通过第二二值化公式对去除面积小于第二面积阈值的连通域的第一掩面图像进行归一化处理后,再移除通过第二二值化公式进行归一化处理之后的第一掩面增强图像中小于第二门限阈值的连通域,并通过第二二值化公式对移除小于第一阈值的连通域后的第一掩面图像进行归一化处理,得到第二掩面增强图像。
步骤S505,获取第二掩面增强图像中的轮廓数量,并根据轮廓数量获取对应的连通域轮廓,对连通域轮廓进行图像形态学操作,得到第三轮廓图像。
在本申请实施例中,图像形态学操作包括膨胀、腐蚀、白色顶帽变换、黑色顶帽变换等操作。在根据轮廓数量获取到对应的连通域轮廓后,将每个连通域轮廓的边界向外扩充预定像素数,比如30pixel,在通过第七二值化公式对扩充轮廓边界的第二掩面图像进行归一化处理,其中,第七二值化公式为公式(7),具体如下:
Figure BDA0003206570380000151
其中,dst(x,y)表示位置为(x,y)的点的像素值,CV表示当前像素;S表示标准差。
步骤S506,移除归一化处理后的第三轮廓图像中面积小于第四面积阈值的区域并进行归一化处理,得到第二脏污图像。
在本申请实施例中,通过第二二值化公式对第三轮廓图像进行归一化处理,移除归一化处理后的第三轮廓图像中面积小于第四面积阈值的区域,并通过第二二值化公式对移除面积小于第四面积阈值的区域的第三轮廓图像进行归一化处理,再使用第二二值化公式对归一化处理后的第三轮廓图像进行归一处理,得到第二脏污图像。
需要说明的是,通过第二脏污检测方法检测第一灰度图像中的脏污时,最终会将第一灰度图像中的所有脏污均以线状脏污特征呈现出来。
请参阅图7,图7是本申请实施例提供的一种获取第三脏污图像的方法的流程示意图,详述如下:
步骤S701,调整第一灰度图像的尺寸为第四预定尺寸,并对调整尺寸后的第一灰度图像进行卷积操作,得到第三卷积图像。
在本申请实施例中,第四预定尺寸为小于第一灰度图像的原始尺寸的任意尺寸,调整第一灰度图像的尺寸目的是为了进一步减少卷积操作的运算量,提高卷积操作效率。
在本申请的一些实施例中,可以按照预设比例调整第一灰度图像的尺寸,比如,将第一灰度图像的尺寸按其原始尺寸的1/5进行缩小,也即调整第一灰度图像的尺寸为其原始尺寸的1/5。
步骤S702,根据脏污特征位置计算公式,计算脏污特征在第三卷积图像中的位置,得到第四卷积图像。
在本申请实施例中,在根据脏污特征位置计算公式,计算脏污特征在第一卷积图像中的位置时,需要获取第一卷积图像中的最大像素值和最小像素值,再根据最大像素值和最小像素值,在估计得连续区间取值范围比如[0,255]内,通过脏污特征位置计算公式,计算脏污特征在第一卷积图像中的位置,得到第二卷积图像。
其中,脏污特征位置计算公式如下:
W=(px-pxmin)/(pxmax-pxmin)*255
其中,W为脏污特征在第一卷积图像中的位置;px为第一卷积图像的当前像素值;pxmax为第一卷积图像中的最大像素值;pxmin为第一卷积图像中的最小像素值。
在本申请的另一些实施中,在根据脏污特征位置计算公式,计算脏污特征在第一卷积图像中的位置之前,还需要将第一卷积图像的尺寸调整为第一灰度图像的原始尺寸,这样可以避免第一卷积图的尺寸过小无法全面显示脏污特征,使得后续操作进行时无法全面的排除点状脏污特征,降低了摄像头脏污检测的精准度。
步骤S703,将第四卷积图像的当前像素值与其像素平均值相减,根据相减得到的像素差值,得到第五脏污特征增强图像。
在本申请实施例中,将第四卷积图像的当前像素值与其像素平均值相减,并通过第八二值化公式对相减后得到的像素差值进行归一化处理,根据归一化处理后的像素差值,得到第五脏污特征增强图像。
在本申请实施例中,第八二值化公式为公式(8),具体如下:
Figure BDA0003206570380000161
其中,dst(x,y)表示位置为(x,y)的点的像素值,thread4表示第四像素阈值。
步骤S704,移除第五脏污特征图像中面积小于第三面积阈值的区域,并进行归一化处理,得到第六脏污特征增强图像。
在本申请实施例中,首先通过第四二值化公式对第五脏污特征增强图像进行归一化处理,移除归一化处理后的第五脏污特征增强图像中面积小于第三面积阈值的区域,并通过第二二值化公式对移除面积小于第四面积阈值的区域之后得到的第五脏污特征增强图像进行归一化处理,得到第六脏污特征增强图像。
步骤S705,计算第一灰度图像的梯度幅值,根据计算得到的梯度幅值,得到第七脏污特征增强图像。
在本申请实施例中,从水平方向和垂直方向计算第一灰度图像的梯度幅值,以获得凸显脏污区域的特征像素,从而获得第七脏污特征增强图像。
步骤S706,对归一化处理后的第七脏污特征增强图像进行泛洪填充,并移除泛洪填充后的第七脏污特征增强图像中面积小于第四面积阈值的区域,得到第八脏污特征增强图像。
在本申请实施例中,通过第九二值化公式对第七脏污特征增强图像进行二值化处理,并对归一化处理后的第七脏污特征增强图像进行泛洪填充,再通过第四二值化公式对泛洪填充后的第七脏污特征增强图像进行归一化处理,移除归一化处理后的第七脏污特征增强图像中面积小于第四面积阈值的区域,再通过第二二值化公式对移除面积小于第四面积阈值的区域的第七脏污特征增强图像进行归一化处理,得到第八脏污特征增强图像。
在本申请实施例中,第九二值化公式为公式(9),具体如下:
Figure BDA0003206570380000171
其中,dst(x,y)表示位置为(x,y)的点的像素值,thread5表示第五像素阈值
步骤S707,将第六脏污特征增强图像和第八脏污特征增强图像进行像素融合处理,得到第三脏污图像。
在本申请实施例中,将第六脏污特征增强图像和第八脏污特征增强图像中对应位置的各个像素点进行相加融合,再通过第二二值化公式对相加后的像素点进行归一化处理,得到第三脏污图像。
需要说明的是,通过第三脏污检测方法检测第一灰度图像中的脏污时,最终会将第一灰度图像中的所有脏污均以点状脏污特征呈现出来。
步骤S103,将第一脏污图像、第二脏污图像和第三脏污图像进行像素融合处理,根据融合结果确认摄像头是否脏污以及脏污位置。
在本申请实施例中,将第一脏污图像、第二脏污图像和第三脏污图像中同一位置的脏污特征对应的像素点,取三者中最大的像素值或绝对值最大的像素值作为当前位置的像素值,实现将第一脏污图像、第二脏污图像和第三脏污图像的像素融合,根据融合后的像素,得到一张融合结果图,从该融合结果图中提取脏污特征,根据提取到的脏污特征,确定摄像头是否脏污,以及确定脏污在融合结果图中的位置。在确定脏污在融合结果图中的位置后,可以根据脏污在融合结果图中的位置,确定脏污在目标图像中的位置。
请参见图8,图8是本申请实施例提供的一组脏污图像的示意图,具体是对如图2所示的第一灰度图像使用第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对应得到的第一脏污图像、第二脏污图像和第三脏污图像,其中,图8中的(1)为第一脏污图像的示意图,图8中的(2)为第二脏污图像的示意图,图8中的(3)为第三脏污图像的示意图。
需要说明的是,从融合结果图中提取到的脏污特征比第一脏污图像、第二脏污图像和第三脏污图像中的脏污特征更为精准。也就是说,将第一脏污图像、第二脏污图像和第三脏污图像进行像素融合处理,是为了获取更为凸显的脏污特征,从而进一步提高摄像头脏污检测的精确度。
在本申请的一些实施例中,在从融合结果图中提取到脏污特征后,为每个脏污特征添加属性信息,属性信息包括但不限于脏污的形状、大小、位置等信息。
具体的,在得到第一脏污图像、第二脏污图像和第三脏污图像后,根据各个脏污图像的像素点进行图像配准,以为像素级融合做好基础。再通过采用基于像素的图像融合方法,尤其是融合规则为最大值法,高频分解系数对输入图像的边缘、纹理等细节信息,以得到最能凸显脏污的像素特征。像素绝对值作为细节信息强度的最直观量,通过比对不同脏污图像中同一位置的像素值,取像素绝对值最大的一个作为当前位置的像素值,可以更为凸显脏污特征的细节信息,提高摄像头脏污检测的精准度。
在本申请的一些实施例中,为了更为直观地显示脏污以及脏污在目标图像中的位置,本申请实施例还在目标图像中准确地绘制出脏污区域,实现可视化,可以方便快速定位脏污区域进行清洁,提高清洁摄像头脏污的工作效率。
请参阅图9,图9是本申请实施例提供的一种脏污区域的绘制方法的流程示意图,详述如下:
步骤S901,分别从第一脏污图像、第二脏污图像和第三脏污图像中查找轮廓数量,根据轮廓数量获取脏污轮廓信息。
在本申请实施例中,脏污轮廓信息包括第一脏污图像、第二脏污图像和第三脏污图像中所有脏污轮廓的属性信息。
比如,当第一脏污图像、第二脏污图像和第三脏污图像中分别有四个脏污轮廓时,所获取到脏污轮廓信息包含有12个脏污轮廓信息,在这12个脏污轮廓信息中,有部分脏污轮廓信息会存在重复。
步骤S902,根据脏污轮廓信息将第一脏污图像、第二脏污图像和第三脏污图像中所有脏污轮廓的形状组织成两级层次结构。
在本申请实施例中,两级层级结构中的一层为外边界的边界信息,另一层为内孔的边界信息。在两级层次结构中,将上面的一层设定为外边界,将里面的一层设定为内孔的边界。如果在内孔内还有连通物体,则将该连通物体的边界设定为外边界。
步骤S903,根据两级层次结构的边界信息和融合结果图,在目标图像中矩形绘制所有的脏污轮廓。
在本申请实施例中,通过第四二值化公式对两级层次结构的边界信息和融合结果图的像素值进行归一化处理,再在目标图像中矩形绘制所有的脏污轮廓,得到如图10所示的脏污绘制区域,实现脏污区域的可视化。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的摄像头脏污检测方法,本申请实施例进一步给出实现上述方法实施例的装置实施例。
请参见图11,图11是本申请实施例提供的摄像头脏污检测装置的示意图。包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图11,摄像头脏污检测装置11包括:
第一灰度图像处理单元1101,用于获取目标图像并对目标图像进行灰度化处理,得到第一灰度图像;
脏污检测单元1102,用于通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对第一灰度图像进行检测,对应得到第一脏污图像、第二脏污图像和第三脏污图像;其中,第一脏污检测方法,用于检测第一灰度图像中的团状脏污特征以得到第一脏污图像;第二脏污检测方法,用于检测第一灰度图像中的线状脏污特征以得到第二脏污图像;第三脏污检测方法,用于检测第一灰度图像中的点状脏污特征以得到第三脏污图像;
脏污确认单元1103,用于将第一脏污图像、第二脏污图像和第三脏污图像进行像素融合处理,根据融合结果确认摄像头是否脏污以及脏污位置。
优选的,脏污检测单元1102,具体用于:
将第一灰度图像各个位置的灰度值与其灰度平均值相减,根据相减得到的像素差值得到第二灰度图像;
调整扩充子单元,用于调整第二灰度图像的尺寸为第一预定尺寸,并按第一预定像素扩充调整后的灰度图像的边缘,得到第三灰度图像;第一预定尺寸为小于第二灰度图像的原始尺寸的任意尺寸;
在提取第三灰度图像的特征分量,并去除背景噪音以及增强图像之后,去除第三灰度图像中按第一预定像素所扩充的边缘,调整去除边缘之后的第三灰度图像的尺寸为第一灰度图像的原始尺寸,得到第四灰度图像;
对第四灰度图像进行分区检测,并将分区检测得到的若干个分区检测结果图复制至对应的分区并移除各个分区中小于第一门限阈值的连通域,得到第五灰度图像;
获取第五灰度图像的轮廓数量,并根据轮廓数量获取对应的连通域轮廓,根据连通域轮廓,确定第一轮廓图像;
移除第一轮廓图像中面积小于第一面积阈值的区域,根据移除面积小于第一面积阈值的区域后的第一轮廓图像,得到第一脏污图像。
优选的,脏污检测单元1102,具体还用于:
根据摄像头成像特性,按预定区域划分第四灰度图像,得到若干个区域子图像;
在根据摄像头成像特性,按预定区域划分第四灰度图像,得到若干个区域子图像之后,包括:
调整区域子图像的尺寸为第二预定尺寸,并利用多项式曲面拟合,拟合区域子图像的背景,得到区域子图像对应的第一背景拟合图;
将第一背景拟合图的当前像素值与其像素平均值相减,根据相减得到的像素差值得到第一脏污特征增强图像;
调整第一脏污特征增强图像的尺寸为区域子图像的原始尺寸,得到区域子图像对应的分区检测结果图。
优选的,脏污检测单元1102,具体还用于:
获取第五灰度图像的轮廓数量,并根据轮廓数量得到第五灰度图像中的连通域轮廓的轮廓信息;
根据轮廓信息,计算每个连通域轮廓对应的垂直边界最小矩形;
根据垂直边界最小矩形,确定第一轮廓图像。
优选的,脏污检测单元1102,具体还用于:
利用多项式曲面拟合,拟合的每个连通域轮廓对应的垂直边界最小矩形的背景图,得到的每个连通域轮廓对应的垂直边界最小矩形对应的第二背景拟合图;
将第二背景拟合图的当前像素值与其像素平均值相减,根据获得的像素差值的绝对值,得到第二脏污特征增强图像;
将第二脏污特征增强图像的当前像素值与其像素平均值相减,根据获得的像素差值的绝对值,得到第三脏污特征增强图像;
根据归一化后处理后的第三脏污特征增强图像,得到的每个连通域轮廓对应的垂直边界最小矩形对应的第四脏污特征增强图像;
根据所有连通域轮廓对应的第四脏污特征增强图像,确定第一轮廓图像。
优选的,脏污检测单元1102,具体还用于:
调整第一灰度图像的尺寸为第三预定尺寸,并对调整尺寸后的第一灰度图像进行卷积操作,得到第一卷积图像;第三预定尺寸为小于第一灰度图像的原始尺寸的任意尺寸;
根据脏污特征位置计算公式,计算脏污特征在第一卷积图像中的位置,得到第二卷积图像;
通过若干个不同的卷积核对第二卷积图像进行卷积操作,将第二卷积图像分成若干个掩面图像,并通过的若干个不同的卷积核,将归一化处理后的若干个掩面图像融合到归一化处理后的第二卷积图像中,得到第一掩面增强图像;
调整第一掩面增强图像的尺寸为第一卷积图像的原始尺寸,移除调整尺寸后的第一掩面增强图像中面积小于第二面积阈值的连通域并进行归一化处理,移除归一化处理后的第一掩面增强图像中小于第二门限阈值的连通域,得到第二掩面增强图像;
获取第二掩面增强图像中的轮廓数量,并根据轮廓数量获取对应的连通域轮廓,对连通域轮廓进行图像形态学操作,得到第三轮廓图像;
移除归一化处理后的第三轮廓图像中面积小于第四面积阈值的区域并进行归一化处理,得到第二脏污图像。
优选的,脏污检测单元1102,具体还用于:
调整第一灰度图像的尺寸为第四预定尺寸,并对调整尺寸后的第一灰度图像进行卷积操作,得到第三卷积图像;第四预定尺寸为小于第一灰度图像的原始尺寸的任意尺寸;
根据脏污特征位置计算公式,计算脏污特征在第三卷积图像中的位置,得到第四卷积图像;
将第四卷积图像的当前像素值与其像素平均值相减,根据相减得到的像素差值,得到第五脏污特征增强图像;
移除第五脏污特征图像中面积小于第三面积阈值的区域,并进行归一化处理,得到第六脏污特征增强图像;
计算第一灰度图像的梯度幅值,根据计算得到的梯度幅值,得到第七脏污特征增强图像;
对归一化处理后的第七脏污特征增强图像进行泛洪填充,并移除泛洪填充后的第七脏污特征增强图像中面积小于第四面积阈值的区域,得到第八脏污特征增强图像;
将第六脏污特征增强图像和第八脏污特征增强图像进行像素融合处理,得到第三脏污图像。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图12是本申请实施例提供的摄像头脏污检测设备的示意图。如图12所示,该实施例的摄像头脏污检测设备12包括:处理器120、存储器121以及存储在存储器121中并可在处理器120上运行的计算机程序122,例如语音识别程序。处理器120执行计算机程序122时实现上述各个摄像头脏污检测方法实施例中的步骤,例如图1所示的步骤101-103。或者,处理器120执行计算机程序122时实现上述各装置实施例中各模块/单元的功能,例如图11所示单元1101-1103的功能。
示例性的,计算机程序122可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器121中,并由处理器120执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序122在摄像头脏污检测设备12中的执行过程。例如,计算机程序122可以被第一灰度图像处理单元1101、脏污检测单元1102、脏污确认单元1103,各单元具体功能请参阅图1对应的实施例中地相关描述,此处不赘述。
摄像头脏污检测设备可包括,但不仅限于,处理器120、存储器121。本领域技术人员可以理解,图12仅仅是摄像头脏污检测设备12的示例,并不构成对摄像头脏污检测设备12的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如摄像头脏污检测设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器120可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器121可以是摄像头脏污检测设备12的内部存储单元,例如摄像头脏污检测设备12的硬盘或内存。存储器121也可以是摄像头脏污检测设备12的外部存储设备,例如摄像头脏污检测设备12上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器121还可以既包括摄像头脏污检测设备12的内部存储单元也包括外部存储设备。存储器121用于存储计算机程序以及摄像头脏污检测设备所需的其他程序和数据。存储器121还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述摄像头脏污检测方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在摄像头脏污检测设备上运行时,使得摄像头脏污检测设备执行时实现可实现上述摄像头脏污检测方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种摄像头脏污检测方法,其特征在于,所述摄像头脏污检测方法包括:
获取目标图像并对所述目标图像进行灰度化处理,得到第一灰度图像;
通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对所述第一灰度图像进行检测,对应得到第一脏污图像、第二脏污图像和第三脏污图像;其中,所述第一脏污检测方法,用于检测第一灰度图像中的团状脏污特征以得到第一脏污图像;第二脏污检测方法,用于检测第一灰度图像中的线状脏污特征以得到第二脏污图像;第三脏污检测方法,用于检测第一灰度图像中的点状脏污特征以得到第三脏污图像;
将所述第一脏污图像、所述第二脏污图像和所述第三脏污图像进行像素融合处理,根据融合结果确认摄像头是否脏污以及脏污位置。
2.如权利要求1所述的摄像头脏污检测方法,其特征在于,通过第一脏污检测方法对所述第一灰度图像进行检测,得到第一脏污图像,包括:
将所述第一灰度图像各个位置的灰度值与其灰度平均值相减,根据相减得到的像素差值得到第二灰度图像;
调整所述第二灰度图像的尺寸为第一预定尺寸,并按第一预定像素扩充调整后的灰度图像的边缘,得到第三灰度图像;所述第一预定尺寸为小于第二灰度图像的原始尺寸的任意尺寸;
在提取所述第三灰度图像的特征分量,并去除背景噪音以及增强图像之后,去除所述第三灰度图像中按第一预定像素所扩充的边缘,调整去除边缘之后的第三灰度图像的尺寸为所述第一灰度图像的原始尺寸,得到第四灰度图像;
对所述第四灰度图像进行分区检测,并将分区检测得到的若干个分区检测结果图复制至对应的分区并移除各个分区中小于第一门限阈值的连通域,得到第五灰度图像;
获取所述第五灰度图像的轮廓数量,并根据所述轮廓数量获取对应的连通域轮廓,根据所述连通域轮廓,确定第一轮廓图像;
移除所述第一轮廓图像中面积小于第一面积阈值的区域,根据移除面积小于第一面积阈值的区域后的第一轮廓图像,得到第一脏污图像。
3.如权利要求2所述的摄像头脏污检测方法,其特征在于,所述对所述第四灰度图像进行分区检测,并将分区检测得到的若干个分区检测结果图复制至对应的分区并移除各个分区中小于第一门限阈值的连通域,得到第五灰度图像中,包括:
根据摄像头成像特性,按预定区域划分所述第四灰度图像,得到若干个区域子图像;
在根据摄像头成像特性,按预定区域划分所述第四灰度图像,得到若干个区域子图像之后,包括:
调整所述区域子图像的尺寸为第二预定尺寸,并利用多项式曲面拟合,拟合所述区域子图像的背景,得到所述区域子图像对应的第一背景拟合图;
将所述第一背景拟合图的当前像素值与其像素平均值相减,根据相减得到的像素差值得到第一脏污特征增强图像;
调整所述第一脏污特征增强图像的尺寸为所述区域子图像的原始尺寸,得到所述区域子图像对应的分区检测结果图。
4.如权利要求2所述的摄像头脏污检测方法,其特征在于,所述获取所述第五灰度图像的轮廓数量,并根据所述轮廓数量获取对应的连通域轮廓,根据所述连通域轮廓,确定第一轮廓图像,包括:
获取所述第五灰度图像的轮廓数量,并根据所述轮廓数量得到所述第五灰度图像中的连通域轮廓的轮廓信息;
根据所述轮廓信息,计算每个连通域轮廓对应的垂直边界最小矩形;
根据所述垂直边界最小矩形,确定第一轮廓图像。
5.如权利要求4所述的摄像头脏污检测方法,其特征在于,所述根据所述垂直边界最小矩形,确定第一轮廓图像,包括:
利用多项式曲面拟合,拟合所述的每个连通域轮廓对应的垂直边界最小矩形的背景图,得到所述的每个连通域轮廓对应的垂直边界最小矩形对应的第二背景拟合图;
将所述第二背景拟合图的当前像素值与其像素平均值相减,根据获得的像素差值的绝对值,得到第二脏污特征增强图像;
将第二脏污特征增强图像的当前像素值与其像素平均值相减,根据获得的像素差值的绝对值,得到第三脏污特征增强图像;
根据归一化后处理后的第三脏污特征增强图像,得到所述的每个连通域轮廓对应的垂直边界最小矩形对应的第四脏污特征增强图像;
根据所有连通域轮廓对应的第四脏污特征增强图像,确定第一轮廓图像。
6.如权利要求1至5任一项所述的摄像头脏污检测方法,其特征在于,通过第二脏污检测方法对所述第一灰度图像进行检测,得到第二脏污图像,包括:
调整所述第一灰度图像的尺寸为第三预定尺寸,并对调整尺寸后的第一灰度图像进行卷积操作,得到第一卷积图像;所述第三预定尺寸为小于所述第一灰度图像的原始尺寸的任意尺寸;
根据脏污特征位置计算公式,计算脏污特征在所述第一卷积图像中的位置,得到第二卷积图像;
通过若干个不同的卷积核对所述第二卷积图像进行卷积操作,将所述第二卷积图像分成若干个掩面图像,并通过所述的若干个不同的卷积核,将归一化处理后的若干个掩面图像融合到归一化处理后的第二卷积图像中,得到第一掩面增强图像;
调整所述第一掩面增强图像的尺寸为所述第一卷积图像的原始尺寸,移除调整尺寸后的第一掩面增强图像中面积小于第二面积阈值的连通域并进行归一化处理,移除归一化处理后的第一掩面增强图像中小于第二门限阈值的连通域,得到第二掩面增强图像;
获取所述第二掩面增强图像中的轮廓数量,并根据所述轮廓数量获取对应的连通域轮廓,对所述连通域轮廓进行图像形态学操作,得到第三轮廓图像;
移除归一化处理后的第三轮廓图像中面积小于第四面积阈值的区域并进行归一化处理,得到第二脏污图像。
7.如权利要求1至5任一项所述的摄像头脏污检测方法,其特征在于,通过第三脏污检测方法对所述第一灰度图像进行检测,得到第三脏污图像,包括:
调整所述第一灰度图像的尺寸为第四预定尺寸,并对调整尺寸后的第一灰度图像进行卷积操作,得到第三卷积图像;所述第四预定尺寸为小于所述第一灰度图像的原始尺寸的任意尺寸;
根据脏污特征位置计算公式,计算脏污特征在所述第三卷积图像中的位置,得到第四卷积图像;
将所述第四卷积图像的当前像素值与其像素平均值相减,根据相减得到的像素差值,得到第五脏污特征增强图像;
移除所述第五脏污特征图像中面积小于第三面积阈值的区域,并进行归一化处理,得到第六脏污特征增强图像;
计算所述第一灰度图像的梯度幅值,根据计算得到的梯度幅值,得到第七脏污特征增强图像;
对归一化处理后的第七脏污特征增强图像进行泛洪填充,并移除泛洪填充后的第七脏污特征增强图像中面积小于第四面积阈值的区域,得到第八脏污特征增强图像;
将所述第六脏污特征增强图像和所述第八脏污特征增强图像进行像素融合处理,得到第三脏污图像。
8.一种摄像头脏污检测装置,其特征在于,所述摄像头脏污检测装置包括:
第一灰度图像处理单元,用于获取目标图像并对所述目标图像进行灰度化处理,得到第一灰度图像;
脏污检测单元,用于通过第一脏污检测方法、第二脏污检测方法和第三脏污检测方法对所述第一灰度图像进行检测,对应得到第一脏污图像、第二脏污图像和第三脏污图像;其中,所述第一脏污检测方法,用于检测第一灰度图像中的团状脏污特征以得到第一脏污图像;第二脏污检测方法,用于检测第一灰度图像中的线状脏污特征以得到第二脏污图像;第三脏污检测方法,用于检测第一灰度图像中的点状脏污特征以得到第三脏污图像;
脏污确认单元,用于将所述第一脏污图像、所述第二脏污图像和所述第三脏污图像进行像素融合处理,根据融合结果确认摄像头是否脏污以及脏污位置。
9.一种摄像头脏污检测设备,其特征在于,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
CN202110918666.5A 2021-08-11 2021-08-11 一种摄像头脏污检测方法、装置及设备 Active CN113744200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110918666.5A CN113744200B (zh) 2021-08-11 2021-08-11 一种摄像头脏污检测方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110918666.5A CN113744200B (zh) 2021-08-11 2021-08-11 一种摄像头脏污检测方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113744200A true CN113744200A (zh) 2021-12-03
CN113744200B CN113744200B (zh) 2024-04-05

Family

ID=78730774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110918666.5A Active CN113744200B (zh) 2021-08-11 2021-08-11 一种摄像头脏污检测方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113744200B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742785A (zh) * 2022-03-31 2022-07-12 启东普力马机械有限公司 基于图像处理的液压接头清洁度控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106204590A (zh) * 2016-07-11 2016-12-07 陕西科技大学 一种基于灰度图像标记处理的纸病检测方法
CN109523527A (zh) * 2018-11-12 2019-03-26 北京地平线机器人技术研发有限公司 图像中脏污区域的检测方法、装置和电子设备
US20190339456A1 (en) * 2018-05-02 2019-11-07 Corning Research & Development Corporation Methods for detection of contaminants on optical fiber connectors
CN110766679A (zh) * 2019-10-25 2020-02-07 普联技术有限公司 镜头脏污检测方法、装置及终端设备
CN112950618A (zh) * 2021-03-25 2021-06-11 深圳市华汉伟业科技有限公司 一种外观缺陷检测方法与系统
CN113192067A (zh) * 2021-05-31 2021-07-30 平安科技(深圳)有限公司 基于图像检测的智能预测方法、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106204590A (zh) * 2016-07-11 2016-12-07 陕西科技大学 一种基于灰度图像标记处理的纸病检测方法
US20190339456A1 (en) * 2018-05-02 2019-11-07 Corning Research & Development Corporation Methods for detection of contaminants on optical fiber connectors
CN109523527A (zh) * 2018-11-12 2019-03-26 北京地平线机器人技术研发有限公司 图像中脏污区域的检测方法、装置和电子设备
CN110766679A (zh) * 2019-10-25 2020-02-07 普联技术有限公司 镜头脏污检测方法、装置及终端设备
CN112950618A (zh) * 2021-03-25 2021-06-11 深圳市华汉伟业科技有限公司 一种外观缺陷检测方法与系统
CN113192067A (zh) * 2021-05-31 2021-07-30 平安科技(深圳)有限公司 基于图像检测的智能预测方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐健;贺连梁;梁金刚;仇维;: "金属表面脏污区域的分割和量化算法研究", 沈阳理工大学学报, no. 04 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742785A (zh) * 2022-03-31 2022-07-12 启东普力马机械有限公司 基于图像处理的液压接头清洁度控制方法

Also Published As

Publication number Publication date
CN113744200B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
CN109978839B (zh) 晶圆低纹理缺陷的检测方法
TWI655586B (zh) 用於檢測預定區域中特定標識圖像的方法及裝置
CN108369650B (zh) 标识校准图案的可能特征点的方法
CN108875723B (zh) 对象检测方法、装置和系统及存储介质
CN111179243A (zh) 一种基于计算机视觉的小尺寸芯片裂纹检测方法及系统
CN109509200B (zh) 基于轮廓提取的棋盘格角点检测方法以及计算机可读存储介质
CN115908269B (zh) 视觉缺陷检测方法、装置、存储介质和计算机设备
AU2022201019B2 (en) Break analysis apparatus and method
US20140161359A1 (en) Method for detecting a straight line in a digital image
CN110569857B (zh) 一种基于质心距离计算的图像轮廓角点检测方法
TW201432621A (zh) 用於使用至少一額外影像之影像增強及邊緣驗證之方法及設備
CN104899888B (zh) 一种基于Legendre矩的图像亚像素边缘检测方法
CN111768348B (zh) 一种缺陷检测方法、设备及计算机可读存储介质
CN107230212B (zh) 一种基于视觉的手机尺寸的测量方法及系统
CN113781406B (zh) 电子元器件的划痕检测方法、装置及计算机设备
CN111354047A (zh) 一种基于计算机视觉的摄像模组定位方法及系统
CN115272664A (zh) 仪表盘示数展示方法、装置、电子设备和存储介质
CN110084818B (zh) 动态下采样图像分割方法
WO2017128646A1 (zh) 一种图像处理的方法及装置
CN113283439B (zh) 基于图像识别的智能计数方法、装置及系统
CN113744200B (zh) 一种摄像头脏污检测方法、装置及设备
US10970592B2 (en) Adhering substance detection apparatus and adhering substance detection method
CN116958058A (zh) 镜头脏污检测方法、装置及图像检测设备
CN108898584B (zh) 一种基于图像分析的全自动贴面电容装焊极性判别方法
CN116012322A (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