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

一种基于线扫描相机的卷材检测装置、系统及检测方法

2022-07-02 09:07:38 来源:中国专利 TAG:


1.本发明涉及图像检测领域,特别是涉及一种基于线扫描相机的卷材检测装置、系统及检测方法。


背景技术:

2.目前卷材在生产加工的过程中,都会采用滚筒流水线进行传输,卷材在滚筒流水线上保持展开的状态,平铺前行。为了能够及时发现卷材的瑕疵,往往会在卷材的流水线传输过程中,进行卷材瑕疵检测。其中不同类型的卷材包含不同的瑕疵,比如pvb材料的卷材,主要包括晶点、虫斑、黑点和气泡等瑕疵,而合成革材料的卷材,则主要包括划痕、气泡、毛边、涂胶不均等瑕疵。卷材的瑕疵检测主要包括相机采集图像以及处理器分析图像两步。
3.对于相机采集图像,在目前的瑕疵检测设备中,大多采用线扫描相机,其中线扫描相机固定安装设置于支架上,使相机的镜头正对流水线,配合固定光源,完成卷材图像的采集。在传统的设备中,相机的位置、角度以及曝光参数等都需要事先完成调节,而且通常是人为进行调节,极为不便;另一方面,一旦流水线开始运作,操作人员就难以接触到相机,无法实现瑕疵检测设备对卷材流水线的动态适应调节,影响相机采集的图像质量。
4.对于处理器分析图像,在目前的瑕疵检测方法中,由于检测方法效率低,使得图像的瑕疵检测往往存在滞后,继而会导致瑕疵的报警速度慢,错过了瑕疵的位置或者位置判断不准确,需要对卷材进行人工复查,费时费力,还降低卷材的生产效率。另外由于相机采集流水线运作时的图像,会导致图像模糊的问题,影响对图像的分析结果,因此需要先对图像进行滤波处理。在现有的图像分析方法中,往往对图像整体采用相同的滤波参数,完成图像滤波;但是由于在同一张图像中,存在不同的模糊程度,因此采用同样的滤波参数会导致部分区域的滤波效果不理想。
5.因此现有的卷材流水线检测装置和检测方法难以满足实时、高效、高质量的卷材瑕疵检测需求。


技术实现要素:

6.本发明的目的是解决现有技术的不足,提供一种基于线扫描相机的卷材检测装置、系统及检测方法。
7.为了解决上述问题,本发明采用如下技术方案:
8.一种基于线扫描相机的卷材检测装置,包括操作台、支撑架、滑架、滑杆、相机模块以及光源模块;其中支撑架共两个,两个支撑架对称设置于流水线的两侧;滑架滑动设置于支撑架上,滑架能够沿着支撑架上下滑动;滑架与支撑架之间设置有高度调节装置;滑杆铰接设置于两个支撑架的滑架上;相机模块通过水平调节装置滑动设置于滑杆上;光源模块设置于支撑架上,并且分别位于流水线上的卷材的上方和下方;操作台设置于地面,操作台与相机模块以及光源模块通信连接;操作台包括显示器和处理器。
9.一种基于线扫相机的卷材检测系统,包括如下步骤:
10.步骤1:操作台接收开机指令,处理器开始开机初始化流程;完成开机初始化流程后,显示器显示开机界面;开机界面包括“进入系统”和“退出系统”按钮,分别对应“进入系统”指令以及“退出系统”指令;
11.步骤2:操作台接收开机界面的操作指令,并判断为“退出系统”指令还是“进入系统”指令;若为“退出系统”指令,则操作台关闭,结束步骤;若为“进入系统”指令,则显示器由开机界面跳转到瑕疵检测界面,并开启多个线扫相机采集线程;瑕疵检测界面包括“清除”、“检测/暂停”、“历史卷”、“换卷”、“设置”、“前进”、“后退”以及“退出”按钮,分别对应“清除”、“检测/暂停”、“历史卷”、“换卷”、“设置”、“前进”、“后退”以及“退出”指令;瑕疵检测界面还包括图像显示区域,图像显示区域实时显示相机模块采集的图像;在图像显示区域设置有检测区域滑条,检测区域滑条对应“检测区域划分”指令;
12.步骤3:操作台判断是否接收到瑕疵检测界面的操作指令;若接收到操作指令则进入步骤4,否则返回步骤3;
13.步骤4:并判断操作指令的类型;若为“清除”指令则进入步骤5;若为“检测/暂停”指令,则进入步骤6;若为“历史卷”指令,则进入步骤7;若为“换卷”指令,则进入步骤8;若为“设置”指令,则进入步骤9;若为“前进”或“后退”指令,则进入步骤10;若为“退出”指令,则进入步骤11;若为“检测区域划分”指令,则进入步骤12;
14.步骤5:操作台收到“清除”指令,提示用户是否清除历史信息提示;若收到确认指令,则清除历史信息提示;若收到否认指令,则返回步骤3;
15.步骤6:操作台收到“检测/暂停”指令,判断为“检测”指令还是“暂停”指令;若为“检测”指令,则进入实时检测流程,直至收到“暂停”指令,返回步骤3;若为“暂停”指令,则结束实时检测流程,返回步骤3;需要说明的是,在开机后首次进入瑕疵检测界面时,显示“检测”按钮,对应“检测”指令,“检测”按钮被点击后会切换为“暂停”按钮,“暂停”按钮被点击后会切换为“检测”按钮,“暂停”按钮对应“暂停”指令;
16.步骤7:操作台收到“历史卷”指令,控制显示器进入历史卷界面,开启历史卷界面流程,结束历史卷界面流程后返回步骤3;
17.步骤8:操作台收到“换卷”指令,判断实时检测流程是否开启;若实时检测流程开启,则在显示器提示“请先暂停实时检测”,返回步骤3;若实时检测流程未开启,则根据输入更新包括卷号、卷长的信息,并释放显示图像资源,将对应数据写入数据库,返回步骤3;
18.步骤9:操作台收到“设置”指令,创建并进入设置界面;退出设置界面后返回步骤3;
19.步骤10:操作台收到“前进”或“后退”指令,判断为“前进”指令还是“后退”指令;若为“前进”指令,则进一步判断是否为当前图像的最后一页,若是最后一页,则进行提示并返回步骤3,若不是最后一页,则前进一页,并返回步骤3;若为“后退”指令,则进一步判断是否为当前图像的第一页,若是最第一页,则进行提示并返回步骤3,若不是第一页,则后退一页,并返回步骤3;
20.步骤11:操作台收到“退出”指令,提示用户是否确认退出系统;若确认退出系统,则结束步骤;若未确认退出系统,则返回步骤3;
21.步骤12:操作台收到“检测区域划分”指令,则对应修改图像的左右不检测区域的值,并将修改后的值保存至系统参数中,返回步骤3。
22.进一步的,所述步骤1中的开机初始化流程包括如下步骤:
23.步骤101:操作台完成开机检测界面初始化;
24.步骤102:完成界面初始化后,进行数据库连接流程;
25.步骤103:完成数据库连接流程后,读取数据库数据;数据库数据包括系统配置参数、相机配置参数、瑕疵检测内部参数、瑕疵检测产品参数;
26.步骤104:控制操作台内的存储设备与线扫相机连接;使得线扫相机采集的数据能够存储于存储设备内;
27.步骤105:连接串口,并校验每个串口通道;
28.步骤106:校验初始化状态,包括校验步骤101~步骤105的过程是否顺利完成;
29.若存在异常步骤,则提示用户选择仍旧进入系统或者退出系统;若用户选择仍旧进入系统则进入开机界面,结束步骤;若用户选择退出系统,则退出系统,结束步骤;
30.若不存在异常步骤,则直接进入开机界面,结束步骤。
31.进一步的,所述步骤101的开机检测界面初始化过程包括如下步骤:
32.步骤1011:操作台通过网络连接,获取当前的时间日期;
33.步骤1012:开启日期获取和定时器的显示;
34.步骤1013:开机检测相关变量初始化,相关变量包括数据库连接和读取的结果标志位、存储设备和线扫相机连接结果标志位和串口模块连接结果标志位;其中操作台的系统在运行过程中,会根据初始化出状态设置上述的标志位的值;
35.步骤1014:获取开机界面控件,并完成开机界面控件的显示设置;进入开机界面,则显示开机界面控件;
36.步骤1015:创建数据库连接和数据库读取的线程,存储设备和线扫相机连接的线程,以及串口转io模块的线程,结束步骤。
37.进一步的,所述步骤102中数据库连接流程包括如下步骤:
38.步骤1021:获取设定信息,调用数据库连接函数,并输入设定信息;设定信息为操作台自带的信息或者预输入的信息,设定信息包括数据库服务器名、用户名、密码;
39.步骤1022:获取数据库连接函数的返回值,并根据返回值,判断数据库连接情况,数据库连接情况包括数据库连接成功、数据库连接失败以及数据库连接异常;若数据库连接成功,则进入步骤1023;若数据库连接失败,则进入步骤1024;若数据库连接异常,则进入步骤1025;
40.步骤1023:数据库连接成功,设置数据库连接标志位为数据库连接成功状态,并设置控件显示为数据库连接成功,进入步骤1026;
41.步骤1024:数据库连接失败,设置数据库连接标志位为数据库连接失败状态,并设置控件显示为数据库连接失败;将数据库连接失败信息写入系统日志文件,弹出数据库连接失败提示对话框,结束步骤;
42.步骤1025:数据库连接异常,设置数据库连接标志位为数据库连接异常状态,并设置控件显示为数据库连接异常;将数据库连接异常信息写入系统日志文件,弹出数据库连接失败提示对话框,结束步骤;其中数据库连接异常表示数据库连接函数显示连接成功和连接失败以外的异常结果;
43.步骤1026:数据库连接成功,判断数据库中是否存在项目数据库;若项目数据库存
在,则结束步骤;否则创建项目数据库,结束步骤;
44.所述步骤1026中的项目数据库包括系统参数表、相机配置参数表、产品瑕疵参数表、实时检测参数表、历史卷信息记录表以及历史卷瑕疵信息表。
45.进一步的,所述步骤105的校验串口主要通过数据库中读取的串口号与波特率打开串口并返回的操作结果,两者比对获得校验结果;连接串口并进行校验的过程包括:
46.步骤1051:添加串口回调函数,设置对于不同串口返回信号的处理方式;
47.步骤1052:打开串口;
48.步骤1053:判断串口连接状态,并返回串口连接状态;
49.步骤1054:根据返回的串口状态判断串口是否完成连接;若串口完成连接,则进入步骤1055;否则进行提示,结束步骤;
50.步骤1055:读取连接的串口地址,将串口地址设置为0,并读取返回值;若返回值为”fe4200ad24”,则表示串口地址设置成功;否则进行提示,结束步骤;
51.步骤1056:依次打开和关闭串口的各个通道,对打开的通道发送自检命令,并根据返回值判断通道是否正常;
52.步骤1057:完成串口的各个通道的校验,结束步骤。
53.进一步的,所述步骤6中的实时检测流程,包括如下步骤:
54.步骤61:操作台通过线扫相机获取图像数据;将图像数据进行深拷贝;
55.步骤62:将检测算法返回参数初始化,并将当前的产品检测瑕疵参数转化为算法数据格式;其中算法数据格式为对应算法检测流程的格式;
56.步骤63:将转化为算法数据格式的产品检测瑕疵参数、深拷贝的图像数据以及初始化后的检测算法返回参数输入到设定的检测算法流程中,并返回检测算法结果;通过检测算法流程检测图像数据中的瑕疵以及灰度值参数;
57.步骤64:遍历检测算法结果,筛选出判断为瑕疵的检测算法结果;
58.步骤65:依次判断瑕疵的检测算法结果的位置是否位于检测范围内;
59.步骤66:获取位于检测范围内的瑕疵点的瑕疵信息,并添加到瑕疵列表与打标队列中,同时将瑕疵信息记录到数据库;瑕疵信息包括检测到的瑕疵图像、瑕疵位置、瑕疵类型以及瑕疵截图,瑕疵图像为包括瑕疵的拼接图像数据;
60.步骤67:获取图像数据,并根据图像数据,完成灰度值动态调节流程,调节线扫相机的曝光量以及光源模块的亮度;
61.步骤68:根据瑕疵信息完成瑕疵处理流程;
62.步骤69:释放检测线程中使用的资源,结束步骤。
63.进一步的,所述操作台还设置有外置的机械按钮,机械按钮与操作台通过串口通信连接;机械按钮为检测/暂停机械按钮以及换卷机械按钮。
64.进一步的,所述机械按钮能够实现按钮串口控制流程,包括如下步骤
65.步骤a1:操作台通过设置的定时器以设定的时间间隔向连接机械按钮的串口发送光耦查询信号;
66.步骤a2:机械按钮接收光耦查询信号,并根据机械按钮的按动状态返回光光耦查询结果信号;
67.步骤a3:操作台接收返回的光耦查询结果信号,获取机械按钮的按动状态,并根据
返回信号的串口,获取连接的机械按钮类型;
68.步骤a4:操作台根据机械按钮类型和按动状态,执行相应动作,结束步骤。
69.一种基于线扫描相机的卷材检测方法,包括如下步骤:
70.步骤s1:操作台获取所有线扫相机采集的图像,并统计图像数量;
71.步骤s2:判断采集的图像是否为多通道图像;若为多通道图像则转换为灰度图像,进入步骤s3;否则直接进入步骤s3;
72.步骤s3:依次选取图像,计算图像尺寸,并根据左右不检测区域,完成每组图像的裁切并获取图像灰度值;其中每组图像表示同一时刻,不同线扫相机采集的图像;
73.步骤s4:根据全图背景评估,计算是否存在周期性条纹;若存在周期性纹理,则为有纹理的材质,需要进行去纹理步骤,完成去纹理后进入下一步骤;否则,直接进入下一步骤;
74.步骤s5:根据图像的灰度值,完成图像的清晰度自适应流程,判断对应的滤波级数,完成图像滤波,并获得图像中的总瑕疵区域;
75.步骤s6:基于聚类方法对总瑕疵区域进行临域多瑕疵处理,将满足要求的瑕疵区域进行连通;
76.步骤s7:根据瑕疵区域或瑕疵连通区域面积获得瑕疵输出优先级;将瑕疵根据瑕疵输出优先级进行排序;
77.步骤s8:获取瑕疵信息,并按照瑕疵输出优先级顺序,依次判断瑕疵信息是否满足设定阈值范围要求;若瑕疵信息满足设定阈值要求,则将瑕疵信息依次放入输出队列;
78.步骤s9:判断输出队列中的瑕疵信息是否超过瑕疵信息的设定输出数量上限;若超过了瑕疵信息的设定输出数量上限,则根据瑕疵输出优先级顺序输出设定输出数量的瑕疵信息,结束步骤;否则输出队列中的全部瑕疵信息,结束步骤;
79.所述步骤s7中瑕疵输出优先级通过连通域面积的大小进行确定。
80.本发明的有益效果为:
81.通过调节支撑架上的高低调节装置、转动滑杆以及调节相机模块在滑杆上的位置,实现对相机模块的准确位置调节;
82.通过在相机模块中设置风扇,并且四个风扇分别负责进气和出气,保证线扫相机得到高效的冷却;
83.通过与负责出风的风扇对应设置导风管,并且导风管的出风口位于相机模块外壳的玻璃外侧,防止玻璃外侧落灰;
84.通过设置光源模块包括正面光源和背光源,满足各种材质卷材瑕疵检测中线扫相机的镜头范围内的亮度要求,满足图像拍摄的需求;
85.通过设置背光源模块包含光源和遮光片,并且遮光片安装于光源的两侧,遮光片的安装高度可调节,从而实现对光源的散射范围的精确调节;
86.通过系统初始化流程连接相机模块,获取图像数据,进行实时显示,并根据设定算法完成对卷材的瑕疵检测;
87.通过设置图像灰度值动态调节流程,控制光源的智能切换、光源亮度和相机曝光量的自动调节,从而保证相机模块采集到图像的灰度值达到设定范围;
88.通过运行瑕疵打标流程,对于瑕疵在卷材上的位置能够准确记录,并进行实时显
示,从而可查看当前瑕疵和历史瑕疵信息;
89.对多个线扫相机的图像进行实时拼接显示,使得系统瑕疵实时界面能够完整显示卷材的幅面;
90.通过将图像中灰度异常区域进行提取,主要提取与图像背景灰度值异常的区域,并进行形态特征判断后区分不同的瑕疵,实现对瑕疵类型的识别和区分;
91.通过图像去条纹处理,提取条纹区域,并根据条纹周期性获得空间滤波器,实现针对规律分布的条纹的滤波处理,避免条纹对后续的清晰度自适应流程以及缺陷判断产生干扰;
92.通过对图像进行分段的清晰度自适应检测,使得幅宽较宽的同一张图像能够根据灰度值等参数分别采用对应的滤波核完成滤波,得到较佳的滤波效果,保证滤波后的图像符合图像处理要求;
93.通过基于聚类算法对瑕疵进行连通域处理,使得满足条件的瑕疵能够进行连通,提高算法的效率,并且实现对较小却密集分布的瑕疵的检测。
附图说明
94.图1为本发明实施例一的除操作台的立体图;
95.图2为本发明实施例一的除操作台的主视图;
96.图3为本发明实施例一的相机架和滑架的连接示意图;
97.图4为本发明实施例一的相机模块打开外壳正面板的主视图;
98.图5为本发明实施例一的相机模块仰视图;
99.图6为本发明实施例一的光源架和光源模块的主视图;
100.图7为本发明实施例一的光源架和光源模块的立体图;
101.图8为本发明实施例一的除操作台的立体图二;
102.图9为本发明实施例一的系统总流程框图;
103.图10为本发明实施例一的开机初始化流程框图;
104.图11为本发明实施例一的数据库连接和读取流程框图;
105.图12为本发明实施例一的报警模块初始化流程框图;
106.图13为本发明实施例一的开机瑕疵信息显示流程框图;
107.图14为本发明实施例一的瑕疵实时检测流程框图;
108.图15为本发明实施例一的图像灰度值动态调节流程框图;
109.图16为本发明实施例一的瑕疵照片墙信息更新流程框图;
110.图17为本发明实施例一的瑕疵实时打标流程框图;
111.图18为本发明实施例一的瑕疵检测报警流程框图;
112.图19为本发明实施例一的历史卷历史瑕疵信息显示流程框图;
113.图20为本发明实施例一的历史卷瑕疵检测报告生成流程框图;
114.图21为本发明实施例一的参数操作界面流程图;
115.图22为本发明实施例一的瑕疵检测参数设置流程图;
116.图23为本发明实施例一的瑕疵分类参数设置流程图
117.图24为本发明实施例一的瑕疵实时检测界面示意图;
118.图25为本发明实施例一的参数设置界面示意图;
119.图26为本发明实施例一的系统参数设置界面示意图;
120.图27为本发明实施例一的瑕疵检测参数设置界面示意图;
121.图28为本发明实施例一的瑕疵分类设置界面示意图;
122.图29为本发明实施例一的历史卷信息显示界面示意图;
123.图30为本发明实施例一的历史卷瑕疵统计界面示意图;
124.图31为本发明实施例一的卷材检测算法流程图;
125.图32为本发明实施例一的图像裁剪流程图;
126.图33为本发明实施例一的卷材去纹理流程图;
127.图34为本发明实施例一的轮廓线示意图;
128.图35为本发明实施例一的图像s的对比度与方差走势;
129.图36为本发明实施例一的图像s的灰度能量、逆差距与相关性走势;
130.图37为本发明实施例一的临域多瑕疵处理流程图;
131.图38为本发明实施例一的确认瑕疵输出优先级的流程图;
132.图39为本发明实施例二的瑕疵识别特征算法流程图;
133.图40为本发明实施例二的瑕疵类型和图像示意。
134.附图标记说明:支撑架1、高度调节装置11、立柱12、相机架13、光源架14、滑架2、转动调节装置21、滑杆3、水平调节装置31、相机模块4、相机外壳41、风口42、导风管43、风扇44、线扫相机45、光源模块5、正面光源51、弧形灯罩52、透光缝隙53、背光源54、光源55、遮光片56、卷材6。
具体实施方式
135.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
136.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
137.实施例一:
138.如图1、2所示,一种基于线扫相机的卷材检测装置,包括操作台、支撑架1、滑架2、滑杆3、相机模块4以及光源模块5;其中支撑架1共两个,两个支撑架1对称设置于流水线的两侧;滑架2滑动设置于支撑架1上,滑架2能够沿着支撑架1上下滑动;滑架2与支撑架1之间设置有高度调节装置11;滑杆3铰接设置于两个支撑架1的滑架2上;相机模块4通过水平调节装置31滑动设置于滑杆3上;光源模块5设置于支撑架1上,并且分别位于流水线上的卷材6的上方和下方;操作台设置于地面,操作台与相机模块4以及光源模块5通信连接;操作台包括显示器和处理器。
139.如图3所示,所述支撑架1包括立柱12、相机架13以及光源架14,其中立柱12共两根,两根立柱12对称设置于流水线的两侧;相机架13以及光源架14设置于两根立柱12上,相机架13设置于光源架14的上方。相机架13包括两根竖杆以及横杆,横杆设置于两根竖杆的底部,两根竖杆相互平行设置;竖杆上设置有滑轨;滑架2设置于两根竖杆之间,与竖杆上的滑轨滑动连接,能够沿滑轨滑动;滑架2与横杆相互平行;在横杆与滑架2之间设置有高度调节装置11,高度调节装置11可以为电推杆或者气缸,在本例中,高度调节装置11为150
mm
规格的电推杆,电推杆的两端分别与横杆以及滑架2铰接。通过电推杆动作能够调节滑架2的高度。光源架14呈方形的结构,两个光源架14对称设置于两根立柱12上。
140.所述滑架2上铰接设置有滑杆3,滑杆3位于两个支撑架1上的相机架13之间,滑杆3能够围绕铰接部位转动,在本例中滑杆3绕中轴线转动。在滑杆3与滑架2之间还设置有转动调节装置21,在本例中转动调节装置21为步进电机,步进电机设置于滑杆3的一端的铰接部位,通过步进电机,控制滑杆3的转动,进而控制滑杆3上的相机模块4的角度。滑竿上设置有水平调节装置31,水平调节装置31可以为无杆气缸、丝杠结构或者手摇模组,在本例中水平调节装置31采用1100
mm
长的手摇模组。相机模块4设置于手摇模组的滑块上,能够随着手摇模组的动作实现位置调节。水平调节装置31上设置有至少一个相机模块4,不同的相机模块4中的线扫相机45,连接于同一个触发器,保证同时采集图像。
141.如图4、5所示,所述相机模块4包括相机外壳41、风扇44以及线扫相机45,其中线扫相机45和风扇44均设置于相机外壳41的内部。在本例中相机外壳41内设置有四个风扇44,其中以两个风扇44为一组,分别设置于线扫相机45的上下部位,位于线扫相机45的上部的风扇组用于为线扫相机45降温,位于线扫相机45的下部的风扇44组用于防止线扫相机45的镜头落灰以及外壳底部的玻璃的内侧落灰;需要说明的是风扇44不会对线扫相机45的镜头区域形成遮挡。在本例中,每一组风扇44中的一个风扇44负责进气,另一个风扇44负责出气,并且在线扫相机45的上部及下部的同一侧的两个风扇44分别负责进气和出气,比如位于上部左侧的风扇44负责进气,则位于下部左侧的风扇44负责出气,其目的是在相机模块4的外壳内形成上下循环的风道,提高风扇44对线扫相机45的降温效率。外壳上对应风扇44的位置设置有风口42或导风管43;在本例中导风管43设置于线扫相机45下部的出风风扇44的部位,导风管43的一端与风扇44连接,另一端朝向外壳底部的玻璃的外侧,防止外壳底部的玻璃的外侧落灰,保证线扫相机45采集的图像质量,其他三个风扇44在外壳上对应设置风口42。
142.如图6-8所示,所述光源模块5包括正面光源51和背光源54,正面光源51设置于光源架14的上杆,背光源54设置于光源架14的下杆;流水线上的卷材6从正面光源51和背光源54之间穿过;其中正面光源51还位于流水线和相机模块4之间。正面光源51为穹顶光源,包括弧形灯罩52,弧形灯罩52上设置有透光缝隙53,透光缝隙53呈直线状,透光缝隙53正对相机模块4中的线扫相机45。在本例中正面光源51滑动设置于光源架14的上杆,使得正面光源51在流水线上的水平位置可调,便于实现线扫相机45和透光缝隙53的对应关系。背光源54的两端和光源架14铰接,使得背光源54能够围绕铰接部位转动。背光源54包括光源55以及遮光片56,其中光源55的两端与立架铰接;遮光片56设置于光源的两侧,遮光片56与光源55的外壳内壁相契合,遮光片56的上下两端贯通,使得光源55发出的光线能够从穿过遮光片56并射出,由遮光片56限制光线的发散。遮光片56的外周设置有柱形凸起,对应的在光源55
的外壳上设置有腰形孔,腰形孔与柱形凸起相配合,在本例中腰形孔竖直设置,使得遮光片56能够在腰形孔内进行上下调节,控制遮光片56伸出光源55的高度,进而控制光线的散射范围。
143.在实施的过程中,通过调节支撑架1上的高度调节装置以及转动滑杆3以及调节相机模块4在滑杆3上的位置,实现对相机模块4的准确位置调节;通过在相机模块4中设置风扇44,并且四个风扇44分别负责进气和出气,保证线扫相机45得到高效的冷却;通过与负责出风的风扇44对应设置导风管43,并且导风管43的出风口42位于相机模块4的外壳的玻璃外侧,防止玻璃外侧落灰;通过设置光源模块5包括正面光源51和背光源54,充分保证在线扫相机45的镜头范围内的亮度充足,满足图像拍摄的需求;通过设置背光源54包括光源55和遮光片56,并且遮光片56嵌于光源55内,遮光片56与光源55内嵌的深度可调节,实现对光源55的散步角度进行调节,精确控制灯光模组的打光范围。
144.如图9所示,一种基于线扫相机的卷材检测系统,包括如下步骤:
145.步骤1:操作台接收开机指令,处理器开始开机初始化流程;完成开机初始化流程后,显示器显示开机界面;开机界面包括“进入系统”和“退出系统”按钮,分别对应“进入系统”指令以及“退出系统”指令;
146.步骤2:操作台接收开机界面的操作指令,并判断为“退出系统”指令还是“进入系统”指令;若为“退出系统”指令,则操作台关闭,结束步骤;若为“进入系统”指令,则显示器由开机界面跳转到瑕疵检测界面,并开启多个线扫相机采集线程;瑕疵检测界面包括“清除”、“检测/暂停”、“历史卷”、“换卷”、“设置”、“前进”、“后退”以及“退出”按钮,分别对应“清除”、“检测/暂停”、“历史卷”、“换卷”、“设置”、“前进”、“后退”以及“退出”指令;瑕疵检测界面还包括图像显示区域,图像显示区域实时显示相机模块采集的图像;在图像显示区域设置有检测区域滑条,检测区域滑条对应“检测区域划分”指令;
147.步骤3:操作台判断是否接收到瑕疵检测界面的操作指令;若接收到操作指令则进入步骤4,否则返回步骤3;
148.步骤4:并判断操作指令的类型;若为“清除”指令则进入步骤5;若为“检测/暂停”指令,则进入步骤6;若为“历史卷”指令,则进入步骤7;若为“换卷”指令,则进入步骤8;若为“设置”指令,则进入步骤9;若为“前进”或“后退”指令,则进入步骤10;若为“退出”指令,则进入步骤11;若为“检测区域划分”指令,则进入步骤12;
149.步骤5:操作台收到“清除”指令,提示用户是否清除历史信息提示,在本例中历史信息为历史程序异常信息等;若收到确认指令,则清除历史信息提示;若收到否认指令,则返回步骤3;
150.步骤6:操作台收到“检测/暂停”指令,判断为“检测”指令还是“暂停”指令;若为“检测”指令,则进入实时检测流程,直至收到“暂停”指令,返回步骤3;若为“暂停”指令,则结束实时检测流程,返回步骤3;需要说明的是,在开机后首次进入瑕疵检测界面时,显示“检测”按钮,对应“检测”指令,“检测”按钮被点击后会切换为“暂停”按钮,“暂停”按钮被点击后会切换为“检测”按钮,“暂停”按钮对应“暂停”指令;
151.步骤7:操作台收到“历史卷”指令,控制显示器进入历史卷界面,开启历史卷界面流程,结束历史卷界面流程后返回步骤3;
152.步骤8:操作台收到“换卷”指令,判断实时检测流程是否开启;若实时检测流程开
启,则在显示器提示“请先暂停实时检测”,返回步骤3;若实时检测流程未开启,则根据输入更新卷号、卷长等信息,并释放显示图像资源,将对应数据写入数据库,返回步骤3;
153.步骤9:操作台收到“设置”指令,创建并进入设置界面;退出设置界面后返回步骤3;
154.步骤10:操作台收到“前进”或“后退”指令,判断为“前进”指令还是“后退”指令;若为“前进”指令,则进一步判断是否为当前图像的最后一页,若是最后一页,则进行提示并返回步骤3,若不是最后一页,则前进一页,并返回步骤3;若为“后退”指令,则进一步判断是否为当前图像的第一页,若是最第一页,则进行提示并返回步骤3,若不是第一页,则后退一页,并返回步骤3;
155.步骤11:操作台收到“退出”指令,提示用户是否确认退出系统;若确认退出系统,则结束步骤;若未确认退出系统,则返回步骤3;
156.步骤12:操作台收到“检测区域划分”指令,则对应修改图像的左右不检测区域的值,并将修改后的值保存至系统参数中,返回步骤3。
157.如图10所示,所述步骤1中的开机初始化流程包括如下步骤:
158.步骤101:操作台完成开机检测界面初始化;
159.步骤102:完成界面初始化后,进行数据库连接流程;
160.步骤103:完成数据库连接流程后,读取数据库数据;数据库数据包括系统配置参数、相机配置参数、瑕疵检测内部参数、瑕疵检测产品参数等;
161.步骤104:控制操作台内的存储设备与线扫相机连接;使得线扫相机采集的数据能够存储于存储设备内;在本例中存储设备采用采集卡;
162.步骤105:连接串口,并校验每个串口通道;
163.步骤106:校验初始化状态,包括校验步骤101~步骤105的过程是否顺利完成;
164.若存在异常步骤,则提示用户选择仍旧进入系统或者退出系统;若用户选择仍旧进入系统则进入开机界面,结束步骤;若用户选择退出系统,则退出系统,结束步骤;
165.若不存在异常步骤,则直接进入开机界面,结束步骤。
166.所述步骤101的开机检测界面初始化过程包括如下步骤:
167.步骤1011:操作台通过网络连接,获取当前的时间日期;
168.步骤1012:开启日期获取和定时器的显示;
169.步骤1013:开机检测相关变量初始化,相关变量包括数据库连接和读取的结果标志位、存储设备和线扫相机连接结果标志位和串口模块连接结果标志位;其中操作台的系统在运行过程中,会根据初始化出状态设置上述的标志位的值;
170.步骤1014:获取开机界面控件,并完成开机界面控件的显示设置;进入开机界面,则显示开机界面控件;
171.步骤1015:创建数据库连接和数据库读取的线程,存储设备和线扫相机连接的线程,以及串口转io模块的线程,结束步骤。
172.在步骤1013中创建标志位的目的是为了便于在步骤106中校验初始化状态,通过读取标志位,就能够获取步骤102~步骤105的完成情况。
173.如图11所示,所述步骤102中数据库连接流程包括如下步骤:
174.步骤1021:获取设定信息,调用数据库连接函数,并输入设定信息;设定信息为操
作台自带的信息或者预输入的信息,设定信息包括数据库服务器名、用户名、密码;
175.步骤1022:获取数据库连接函数的返回值,并根据返回值,判断数据库连接情况,数据库连接情况包括数据库连接成功、数据库连接失败以及数据库连接异常;若数据库连接成功,则进入步骤1023;若数据库连接失败,则进入步骤1024;若数据库连接异常,则进入步骤1025;
176.步骤1023:数据库连接成功,设置数据库连接标志位为数据库连接成功状态,并设置控件显示为数据库连接成功,进入步骤1026;
177.步骤1024:数据库连接失败,设置数据库连接标志位为数据库连接失败状态,并设置控件显示为数据库连接失败;将数据库连接失败信息写入系统日志文件,弹出数据库连接失败提示对话框,结束步骤;
178.步骤1025:数据库连接异常,设置数据库连接标志位为数据库连接异常状态,并设置控件显示为数据库连接异常;将数据库连接异常信息写入系统日志文件,弹出数据库连接失败提示对话框,结束步骤;其中数据库连接异常表示数据库连接函数显示连接成功和连接失败以外的异常结果;
179.步骤1026:数据库连接成功,判断数据库中是否存在项目数据库;若项目数据库存在,则结束步骤;否则创建项目数据库,结束步骤。
180.所述步骤1026中的项目数据库包括系统参数表、相机配置参数表、产品瑕疵参数表、实时检测参数表、历史卷信息记录表以及历史卷瑕疵信息表。在创建项目数据库的过程中,需要配置系统参数表、相机配置参数表、产品瑕疵参数表、实时检测参数表、历史卷信息记录表以及历史卷瑕疵信息表,同时设置各个数据表的建表命令、判断表是否存在命令、搜索数据表的数据命令以及插入数据表数据命令。在本例中,各个数据表包括的内容如下:
181.系统参数表,命名为systemparameter:"相机数"、"系统配置选中相机"、"检测参数选中相机"、"串口号"、"左侧边缘检测位置"、"右侧边缘检测位置"、"软件版本号"、"管理员密码"、"操作员密码"、"技术员密码";
182.相机配置参数表,命名为cameraparameter:"相机类型"、"最大曝光"、"最小曝光"、"调节刻度"、"灰度上限"、"灰度下限"、"放大率"、"瑕疵个数上限"、"动态暗阈值"、"动态亮阈值"、"动态极暗阈值"、"动态极亮阈值"、"普通暗阈值"、"普通亮阈值"、"大面积动态暗阈值"、"分段数"、"检测段"、"均值化卷积核1"、"均值化卷积核2"、"均值化卷积核3"、"均值化卷积核4";
183.产品瑕疵参数表,命名为productdefectparameter:"产品名称"、"瑕疵名称"、"优先级别"、"横宽上限"、"横宽下限"、"纵长上限"、"纵长下限"、"纵长比线宽上限"、"纵长比线宽下限"、"横宽比纵长上限"、"横宽比纵长下限"、"面积上限"、"面积下限"、"亮面积比上限"、"亮面积比下限"、"孔面积比上限"、"孔面积比下限"、"暗面积比上限"、"暗面积比下限"、"是否显示标记符号"、"字体样式"、"字体尺寸"、"标记字符"、"颜色r"、"颜色g"、"颜色b"、"红灯警报开关"、"红灯警报时长"、"绿灯警报开关"、"绿灯警报时长"、"黄灯警报开关"、"黄灯警报时长";
184.实时检测参数表:"当前班次"、"当前卷号"、"当前检测产品"、"当前检测瑕疵";
185.历史卷信息记录表:"卷号"、"宽度"、"已检测长度";
186.历史卷瑕疵信息表:"卷号"、"瑕疵编号"、"相机编号"、"产品名"、"瑕疵名"、"图像
地址"、"宽度"、"长度"、"工纵位"、"工横位"、"工边沿"、"传边沿"、"面积"、"暗亮孔"、"线宽比"、"检测时间"。
187.所述步骤103中,读取数据库的过程中,首先需要判断项目数据库中是否存在数据,该处的数据表示步骤102中的数据表的具体数据;若存在数据,则读取相应数据,并根据读取的数据完成相应设备配置;若不存在数据,则写入默认的数据,并读取各个数据表的数据储存至程序中,同时完成相应设备配置。在本例中项目数据库的默认数据包括:
188.系统参数表默认数据:相机数默认值为2;相机配置参数相机号选择默认值为1;串口号默认值为com5;左侧边缘检测位置默认值为100,单位为mm;右侧边缘检测位置默认值为100,单位为mm;软件版本号默认值为v1.0;管理员密码默认值为123456;操作员密码默认值为123456、技术员密码默认值为123456;
189.相机配置参数表默认数据:相机号,根据相机数编号从1开始递增;最大曝光时间,默认值为950;最小曝光时间,默认值为50;曝光调节刻度默认值为10;灰度上限默认值为160;灰度下限默认值为120;相机放大率默认值为8.822;瑕疵个数上限默认值为10;动态暗阈值默认值为50、动态亮阈值默认值为50、动态极暗阈值默认值为60、动态极亮阈值默认值为60、普通暗阈值默认值为45、普通亮阈值默认值为45、大面积动态暗阈值默认值为60、分段数默认值为10、检测段默认值为5、均值化卷积核1默认值为5、均值化卷积核2默认值为30、均值化卷积核3默认值为80、均值化卷积核4默认值为130;
190.产品瑕疵参数表中的瑕疵名称默认包括小黑点、中黑点、大黑点、小白点、中白点、大白点、小孔洞、中孔洞和大孔洞九个类型,针对每个类型,均设置有其瑕疵参数,包括:
191.小黑点:产品名称默认值为pvb、瑕疵名称默认值为小黑点、优先级别默认值为1、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0)、横宽比纵长上限默认值为0)、横宽比纵长下限默认值为0、面积上限默认值为0.35、面积下限默认值为0.1、亮面积比上限默认值为0、亮面积比下限默认值为0、孔面积比上限默认值为0、孔面积比下限默认值为0、暗面积比上限默认值为1.1、暗面积比下限默认值为0.4、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为b、颜色r默认值为0、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0。
192.中黑点:产品名称默认值为pvb、瑕疵名称默认值为中黑点、优先级别默认值为2、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为0.5、面积下限默认值为0.35、亮面积比上限默认值为0、亮面积比下限默认值为0、孔面积比上限默认值为0、孔面积比下限默认值为0、暗面积比上限默认值为1.1、暗面积比下限默认值为0.4、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为b、颜色r默认值为0、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0。
193.大黑点:产品名称默认值为pvb、瑕疵名称默认值为大黑点、优先级别默认值为3、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为2000、面积下限默认值为0.5、亮面积比上限默认值为0、亮面积比下限默认值为0、孔面积比上限默认值为0、孔面积比下限默认值为0、暗面积比上限默认值为1.1、暗面积比下限默认值为0.4、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为b、颜色r默认值为255、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0。
194.小白点:产品名称默认值为pvb、瑕疵名称默认值为小白点、优先级别默认值为4、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为0.35、面积下限默认值为0.1、亮面积比上限默认值为1.1、亮面积比下限默认值为0.4、孔面积比上限默认值为0、孔面积比下限默认值为0、暗面积比上限默认值为0、暗面积比下限默认值为0、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为w、颜色r默认值为0、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0。
195.中白点:产品名称默认值为pvb、瑕疵名称默认值为中白点、优先级别默认值为5、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为0.5、面积下限默认值为0.35、亮面积比上限默认值为1.1、亮面积比下限默认值为0.4、孔面积比上限默认值为0、孔面积比下限默认值为0、暗面积比上限默认值为0、暗面积比下限默认值为0、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为w、颜色r默认值为0、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0。
196.大白点:产品名称默认值为pvb、瑕疵名称默认值为大白点、优先级别默认值为6、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为2000、面积下限默认值为0.5、亮面积比上限默认值为1.1、亮面积比下限默认值为0.4、孔面积比上限默认值为0、孔面积比下限默认值为0、暗面积比上限默认值为0、暗面积比下限默认值为0、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为w、颜色r默认值为255、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时
长默认值为0。
197.小孔洞:产品名称默认值为pvb、瑕疵名称默认值为小孔洞、优先级别默认值为7、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为0.35、面积下限默认值为0.1、亮面积比上限默认值为0、亮面积比下限默认值为0、孔面积比上限默认值为1.1、孔面积比下限默认值为0.4、暗面积比上限默认值为0、暗面积比下限默认值为0、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为h、颜色r默认值为0、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0。
198.中孔洞:产品名称默认值为pvb、瑕疵名称默认值为中孔洞、优先级别默认值为8、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为0.5、面积下限默认值为0.35、亮面积比上限默认值为0、亮面积比下限默认值为0、孔面积比上限默认值为1.1、孔面积比下限默认值为0.4、暗面积比上限默认值为0、暗面积比下限默认值为0、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为h、颜色r默认值为0、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0。
199.大孔洞:产品名称默认值为pvb、瑕疵名称默认值为大孔洞、优先级别默认值为9、横宽上限默认值为0、横宽下限默认值为0、纵长上限默认值为0、纵长下限默认值为0、纵长比线宽上限默认值为0、纵长比线宽下限默认值为0、横宽比纵长上限默认值为0、横宽比纵长下限默认值为0、面积上限默认值为2000、面积下限默认值为0.5、亮面积比上限默认值为0、亮面积比下限默认值为0、孔面积比上限默认值为1.1、孔面积比下限默认值为0.4、暗面积比上限默认值为0、暗面积比下限默认值为0、是否显示标记符号默认值为true、字体样式默认值为宋体、字体尺寸默认值为12、标记字符默认值为h、颜色r默认值为255、颜色g默认值为0、颜色b默认值为0、红灯警报开关默认值为true、红灯警报时长默认值为1、绿灯警报开关默认值为false、绿灯警报时长默认值为0、黄灯警报开关默认值为false、黄灯警报时长默认值为0;
200.实时检测参数表默认数据:当前班次默认值为1、当前卷号默认值为1、当前检测产品默认值为pvb、当前检测瑕疵默认值为小黑点;
201.历史卷信息记录表默认数据:卷号、宽度、已检测长度;
202.历史卷瑕疵信息默认数据:卷号、瑕疵编号、相机编号、产品名、瑕疵名、图像地址、宽度、长度、工纵位、工横位、工边沿、传边沿、面积、暗亮孔、线宽比、检测时间。
203.如图12所示,所述步骤105的校验串口主要通过数据库中读取的串口号与波特率打开串口并返回的操作结果,两者比对获得校验结果。连接串口并进行校验的过程包括:
204.步骤1051:添加串口回调函数,设置对于不同串口返回信号的处理方式;
205.步骤1052:打开串口;
206.步骤1053:判断串口连接状态,并返回串口连接状态;
207.步骤1054:根据返回的串口状态判断串口是否完成连接;若串口完成连接,则进入步骤1055;否则进行提示,结束步骤;
208.步骤1055:读取连接的串口地址,将串口地址设置为0,并读取返回值;若返回值为”fe4200ad24”,则表示串口地址设置成功;否则进行提示,结束步骤;
209.步骤1056:依次打开和关闭串口的各个通道,对打开的通道发送自检命令,并根据返回值判断通道是否正常;
210.步骤1057:完成串口的各个通道的校验,结束步骤。
211.所述步骤2中的瑕疵检测界面的图像显示区域包括上部和下部,其中上部显示打标图像,打标图像通过实时检测流程获得,下部显示会实时显示线扫相机采集的图像,在本例中下部显示线扫相机拼接的图像。需要说明的是在瑕疵检测界面进入实时检测流程时,会失能瑕疵检测界面的“清除”、“历史卷”、“换卷”、“设置”、“前进”、“后退”以及“退出”按钮,仅赋能“检测/暂停”按钮。
212.其中实时显示线扫相机采集的图像,包括如下步骤:
213.步骤21:线扫相机采集图像,并将相机的图像缓存传输至操作台;
214.步骤22:操作台接收图像缓存,通过线扫相机的回调函数将相机缓存转化为图像数据;
215.步骤23:将图像数据依次存入图像队列中,并判断是否所有队列都存在图像数据缓存;若所有队列都存在图像数据缓存,则取出各个队列的第一个图像数据组成实时图像列表;若存在队列为空,则返回步骤21;
216.步骤24:在每个队列取出第一张图像后,清空每个图像队列的图像缓存;
217.步骤25:将取出的图像进行拼接,将拼接图像在图像显示区域进行显示,结束步骤。
218.所述步骤23中图像队列的数量与线扫相机的数量有关,比如在滑杆上设置有十个相机模块进行图像采集,则设置图像队列为10队,每个线扫相机采集的图像数据会存储于相应的队列中。
219.瑕疵检测界面的图像显示区域的最上方设置有检测区域滑条,在本例中检测区域滑条共两条,分别设置于左侧和右侧,在本例中左侧滑条的右侧图像和右侧滑条的左侧图像为图像的检测区域,左侧滑条的左侧图像和右侧滑条的右侧图像为图像的不检测区域。
220.瑕疵检测界面还包括瑕疵照片墙区域,在本例中位于瑕疵检测界面的右侧,瑕疵照片墙用于显示瑕疵截图,瑕疵截图为瑕疵图像中截取的显示瑕疵区域的图像,瑕疵截图通过实时检测流程获得,在本例中还与瑕疵截图对应设置有瑕疵截图的长宽以及瑕疵截图所属的图像数据的检测卷长,检测卷长表示采集的图像数据对应的卷材卷长;其中“前进”、“后退”按钮设置于瑕疵照片墙区域,“前进”、“后退”按钮用于控制瑕疵照片墙中显示的照片。瑕疵检测界面还包括卷材实时瑕疵信息显示区域,卷材实时瑕疵信息显示区域显示有当前卷材的具体信息,包括产品名、班号、卷号、检测卷长、幅宽、车速、瑕疵数、匀度、系统时间,在本例中卷材实时瑕疵信息显示区域位于瑕疵检测界面的最上方。瑕疵检测界面还包括最新瑕疵信息显示区域,在本例中位于瑕疵检测界面的左侧,包括类型、纵位、工横位、工
边沿、传边沿、暗亮孔、线宽比、宽度、长度、面积、相机号、卷号、编号、检测时间。瑕疵检测界面还包括消息提示框,在本例中消息提示框设置于瑕疵检测界面的左下方,其中“清除”按钮设置于消息提示框,消息提示框用于显示程序异常或者曝光自动调节等提示。瑕疵检测界面的最下方还显示有相机采图数、相机缓存数、已处理图像数等数据。
221.如图13所示,瑕疵检测界面显示的数据进行实时更新,包括瑕疵信息显示区域的检测卷长、幅宽、车速信息,以及相机采图数、相机缓存数、已处理图像数的信息,其中数据实时更新,首先,需要根据当前已检测的卷材长度、流水线传输速度、相机采集图片的数量、已处理的图片数量以及未处理的图片数量,更新卷长、车速、相机采图数、已处理图片数以及相机缓存数;其次,根据图像显示区域设置有检测区域滑条判断并更新幅宽数据;最后判断并更新卷材的班号、卷号数据,在本例中卷材的班号、卷号数据根据用户的输入确定。
222.如图14所示,所述步骤6中的实时检测流程,包括如下步骤:
223.步骤61:操作台通过线扫相机获取图像数据;将图像数据进行深拷贝;深拷贝表示源对象与拷贝对象互相独立的拷贝形式,为现有拷贝技术;
224.步骤62:将检测算法返回参数初始化,并将当前的产品检测瑕疵参数转化为算法数据格式;其中算法数据格式为对应算法检测流程的格式;
225.步骤63:将转化为算法数据格式的产品检测瑕疵参数、深拷贝的图像数据以及初始化后的检测算法返回参数输入到设定的检测算法流程中,并返回检测算法结果;通过检测算法流程检测图像数据中的瑕疵以及灰度值等参数,在本例中瑕疵包括小黑点、中黑点、大黑点、小白点、中白点、大白点、小孔洞、中孔洞和大孔洞;
226.步骤64:遍历检测算法结果,筛选出判断为瑕疵的检测算法结果;
227.步骤65:依次判断瑕疵的检测算法结果的位置是否位于检测范围内;在本例中表示为检测算法结果位置的横坐标是否位于“检测区域划分”指令所对应的范围内;
228.步骤66:获取位于检测范围内的瑕疵点的瑕疵信息,并添加到瑕疵列表与打标队列中,同时将瑕疵信息记录到数据库;瑕疵信息包括检测到的瑕疵图像、瑕疵位置、瑕疵类型以及瑕疵截图等,瑕疵图像为包括瑕疵的拼接图像数据;
229.步骤67:获取图像数据,并根据图像数据,完成灰度值动态调节流程,调节线扫相机的曝光量以及光源模块的亮度等;
230.步骤68:根据瑕疵信息完成瑕疵处理流程;
231.步骤69:释放检测线程中使用的资源,结束步骤。
232.在步骤61中获取图像数据,首先需要获取相机模块的图像缓存,然后通过线扫相机的回调函数将相机缓存转化为图像数据。
233.在步骤62中算法数据格式的检测瑕疵参数包括:
234.a)瑕疵名称:defectname.
235.b)瑕疵筛选长度阈值mm下限:detectlengtharrayfrom.
236.c)瑕疵筛选长度阈值mm上限:detectlengtharrayto.
237.d)瑕疵筛选宽度阈值mm下限:detectwidtharrayfrom.
238.e)瑕疵筛选宽度阈值mm上限:detectwidtharrayto.
239.f)瑕疵筛选面积阈值mm2下限,0表示该项标准不作为评判标准:detectareaarrayfrom.
240.g)瑕疵筛选面积阈值mm2上限,0表示没有上线:detectareaarrayto.
241.h)瑕疵筛选宽度与长度比例下限:detectwidthlengtharrayfrom.
242.i)瑕疵筛选宽度与长度比例上限:detectwidthlengtharrayto.
243.j)瑕疵筛选线宽与长度比例下限:detectlinewidthlengtharrayfrom.
244.k)瑕疵筛选线宽与长度比例上限:detectlinewidthlengtharrayto.
245.l)瑕疵亮面积比例下限:detectlightregionpercentsarrayfrom.
246.m)瑕疵亮面积比例上限:detectlightregionpercentsarrayto.
247.n)瑕疵暗面积比例下限:detectdarkregionpercentsarrayfrom.
248.o)瑕疵暗面积比例上限:detectdarkregionpercentsarrayto.
249.p)瑕疵孔面积比例下限:detectholeregionpercentsarrayfrom.
250.q)瑕疵孔面积比例上限:detectholeregionpercentsarrayto.
251.r)左侧不检测区域长度:leftdetectoneimageabandonwidth.
252.s)右侧不检测区域长度:rightdetectoneimageabandonwidth.
253.t)最大检测瑕疵数:maxdefectnumber.
254.u)普通暗阈值:commondarkthresh.
255.v)动态暗阈值:dynamicdarkthresh.
256.w)动态极暗阈值:dynamicverydarkthresh.
257.x)大区域动态暗阈值:dynamicbigareadarkthresh.
258.y)普通亮阈值:commonlightthresh.
259.z)动态亮阈值:dynamiclightthresh.
260.aa)动态极亮阈值:dynamicverylightthresh.
261.bb)图像放大率(piexels/mm):cameraimagemagnification.
262.cc)相机灰度调节分段数:cameraimagegrayadjustimagesectionnum.
263.dd)相机灰度调节检测段:cameraimagegrayadjustdetectsection.
264.在步骤63中,返回的检测算法结果包括:
265.a)返回结果:result:(0:检测合格,1:有瑕疵为,-1:检测异常为,-2:输出检测参数有误,-3:图像为空,10:图像过亮,11:图像过暗).
266.b)灰度值:imagegray.
267.c)照片数:picnumber.
268.d)瑕疵列表arraydefectsclass.
269.e)瑕疵中心x坐标数组:arraydefectcenterx.
270.f)瑕疵中心y坐标数组:arraydefectcentery.
271.//瑕疵最小外接矩形
272.g)arraydefectrectanglex.
273.h)arraydefectrectangley.
274.i)arraydefectrectanglewidth.
275.j)arraydefectrectangleheight.
276.k)瑕疵面积数组:arraydefectarea.
277.l)瑕疵长度数组:arraydefectlength.
278.m)瑕疵宽度数组:arraydefectwidth.
279.n)瑕疵宽度长度比例数组:arraydefectwidthlength.
280.o)瑕疵线度长度比例数组:arraydefectlinewidthlength.
281.p)瑕疵孔面积比例数组:arraydefectholeregionpercents.
282.q)瑕疵亮面积比例数组:arraydefectlightregionpercents.
283.r)瑕疵暗面积比例数组:arraydefectdarkregionpercents.
284.s)平均灰度:imagemean.
285.t)灰度方差:imagedeviation.
286.u)图片宽度:mm:imagewidth.
287.v)图像高度:mm:imageheight.
288.w)检测区域宽度:mm:detectregionwidth.
289.在步骤65中遍历检测算法结果之前,还需要将检测算法结果由算法数据格式换成c#数据格式,便于对检测算法结果进行筛选。
290.如图15所示,所述步骤67中的灰度值动态调节,包括如下步骤:
291.步骤6701:操作台获取所有线扫相机采集的实时拼接图像数据a1,检测拼接图像数据a1的整体灰度值;
292.步骤6702:判断图像a1的整体灰度值与设定的极限值x1的关系;在本例中图像整体灰度值小于极限值x1,表示图像数据a1为接近纯黑的图像;若图像整体灰度值小于极限值x1,则开启光源切换流程,完成光源切换流程后清除线扫相机曝光调节标志位,进入步骤6703;否则,直接进入步骤6703;
293.步骤6703:判断是否存在未处理的检测线程;若存在未处理的检测线程,则结束步骤;否则进入步骤6704;检测线程表示对图像的算法检测;
294.步骤6704:操作台没有进行实时检测流程,将图像数据a1根据设定的分段参数进行分段;在本例设定为10段;
295.步骤6705:对获得的分段图像分别计算每段图像的整体灰度值,判断设定段图像a2的整体灰度值与其他段图像的平均灰度值的差值的比值与设定数值x2的关系,在本例中设定的段图像a2为第5段的段图像;若比值大于设定数值x2,则认为图像异常,结束步骤,在本例中设定数值x2为0.1;若比值小于等于设定数值x2,则进入步骤6706;
296.步骤6706:判断当前的图像数据a1是否为该线扫相机采集的第一帧图像;若为第一帧图像,则直接进入步骤6712;否则进入步骤6707;
297.步骤6707:获取该线扫相机在当前图像数据a1的前n帧图像数据,若当前图像数据a1之前的图像数据少于n帧,则获取图像数据a1之前的所有图像;在本例中n取10;
298.步骤6708:求取步骤6707获得的之前的图像数据的平均灰度值,并将该平均灰度值与段图像a2的整体灰度值进行比较,判断两者差值与段图像a2整体灰度值的比值与设定数值x3的关系;若差值比值大于设定数值x3,则认为图像异常,结束步骤,在本例中设定数值x3为0.1;若比值小于等于设定数值x3,则进入步骤6709;
299.步骤6709:获取所有线扫相机采集的数据拼接形成的新的图像数据a3,并获取图像数据a3的整体灰度值;
300.步骤6710:将图像数据a3的整体灰度值与设定的系统灰度值范围(x3,x4)进行比
较;若拼接的图像数据a3的整体灰度值大于系统灰度值上限x4,则进入步骤6711;若拼接的图像数据a3的整体灰度值小于系统灰度值下限x3,进入步骤6712;否则,直接进入步骤6713;
301.步骤6711:图像数据a3的整体灰度值大于系统灰度值上限x4,判断光源模块的亮度是否大于设定的最小值x5;若光源模块的亮度大于设定的最小值x5,则降低光源模块的亮度,并清除线扫相机曝光调节标志位,进入步骤6713;否则,直接进入步骤6713;其中光源模块的亮度通过功率进行测量和调整;
302.步骤6712:图像数据a3的整体灰度值小于系统灰度值下限x3,判断光源模块的亮度是否小于设定的最大值x6;若光源模块的亮度小于设定的最大值x6,则增强光源模块的亮度,并清除线扫相机曝光调节标志位,进入步骤6713;否则,直接进入步骤6713;
303.步骤6713:获取所有线扫相机的曝光调节标志位,并判断是否均完成了曝光调节;若均完成了曝光调节,则进入步骤6723;否则进入步骤6714;
304.步骤6714:获取未完成曝光调节的线扫相机的编号;其中编号为线扫相机的预设值,用于在系统中区分不同的线扫相机,在本例中线扫相机的编号与其图像存储队列相对应;控制设定编号的线扫相机采集图像数据a4,在本例中为控制未完成曝光调节的线扫相机中编号最小线扫相机;
305.步骤6715:判断该线扫相机的灰度值精准调节标志位是否开启;若灰度值精准调节标志位开启则进入步骤6716;否则进入步骤6719;其中灰度值精准调节标志位可以通过外部输入进行开启和关闭;
306.步骤6716:灰度值精准调节标志位开启,判断图像数据a4的整体灰度值与高精度灰度值范围(x7,x8)之间的关系;若图像数据a4的整体灰度值小于x7,则进入步骤6717;若图像数据a4的整体灰度值大于x8,则进入步骤6718;否则,表示图像数据a4灰度值符合高精度灰度值范围,关闭灰度值精准调节标志位,并输入线扫相机曝光调节标志位,表示已经进行过曝光调节,进入步骤6722;
307.步骤6717:图像数据a4的整体灰度值小于x7,判断线扫相机当前曝光量与设定的曝光上限x9的关系;若线扫相机当前曝光量大于曝光上限x9,则提示无法调节,并输入线扫相机曝光调节标志位,进入步骤6722;否则增加线扫相机曝光量,并输入线扫相机曝光调节标志位,进入步骤6722;
308.步骤6718:图像数据a4的整体灰度值大于x8,判断线扫相机当前曝光量与设定的曝光下限x10的关系;若线扫相机当前曝光量小于曝光下限x10,则提示无法调节,并输入线扫相机曝光调节标志位,进入步骤6722;否则降低线扫相机曝光量,并输入线扫相机曝光调节标志位,进入步骤6722;
309.步骤6719:灰度值精准调节标志位未开启,判断图像数据a4的整体灰度值与灰度值调节范围(x11,x12)之间的关系;若图像数据a4的整体灰度值小于x11,则进入步骤6720;若图像数据a4的整体灰度值大于x12,则进入步骤6720;否则,表示图像数据a4灰度值符合灰度值调节范围,并输入线扫相机曝光调节标志位,进入步骤6722;
310.步骤6720:图像数据a4的整体灰度值小于x11,判断线扫相机当前曝光量与设定的曝光上限x9的关系;若线扫相机当前曝光量大于曝光上限x9,则提示无法调节,并输入线扫相机曝光调节标志位,进入步骤6722;否则增加线扫相机曝光量,并输入线扫相机曝光调节
标志位,进入步骤6722;
311.步骤6721:图像数据a4的整体灰度值大于x12,判断线扫相机当前曝光量与设定的曝光下限x10的关系;若线扫相机当前曝光量小于曝光下限x10,则提示无法调节,并输入线扫相机曝光调节标志位,进入步骤6722;否则降低线扫相机曝光量,并输入线扫相机曝光调节标志位,进入步骤6722;
312.步骤6722:获取所有线扫相机的曝光调节标志位,并判断是否均完成了曝光调节;若均完成了曝光调节,则进入步骤6723;否则返回步骤6714;
313.步骤6723:所有线扫相机均已完成曝光调节,结束灰度值动态调节。
314.在步骤6701中确定需要调节的线扫相机,并获取该线扫相机的图像,其目的是为了对每个线扫相机的曝光度进行分别调节,保证线扫相机的曝光度调节准确。
315.在步骤6702的光源切换流程中,首先需要判断光源模块中的正面光源和背光源的开关状态,需要说明的是,通常情况下正面光源和背光源仅开启一组;随后增强光源模块中开启的光源的亮度,并判断此时采集的图像数据的灰度值变化,若图像整体的灰度值提升量大于设定的阈值x2,则认为无需改变光源,否则切换灯组,由正面光源切换至背光源或者由背光源切换至正面光源。
316.在步骤6704中将图像数据进行分段,并设定检测段图像,将检测段图像与其他段图像或者之前的帧图像数据进行比较,是因为在一些卷材中仅需要保证设定范围宽度内的卷材满足要求,避免不必要的检测,保证检测速度。
317.在步骤6704-6708中,判断当前段图像a2与其他段图像以及之前的图像数据的灰度值关系,是为了避免卷材输送完或者运输非单一色调卷材的情况出现,因为卷材输送完后或者不同色调的卷材,均会导致图像的灰度值出现极大的变化,通过与之前的图像的灰度值比较,能够获知卷材是否输送完,避免不必要的检测和调节;另外通过当前段图像a2与其他段图像的比较,还能够应对卷材末端不平齐的情况,保证卷材末端不平齐时,也能够快速准确做出判断。并且需要说明的是即便在步骤6702中出现了光源切换的流程,对本步骤的判定结果的准确性也不会产生影响,因为该步骤的灰度值关系比较主要是为了判断卷材的传输情况,保证卷材仍在传输。
318.在步骤6710中和步骤6714中,获取新的拼接的实时图像数据a3和图像数据a4,是因为在步骤6702中以及步骤6711-6712中存在光源切换流程,光源切换流程,会影响线扫相机采集的图像数据,因此需要重新获取实时图像数据,避免光源切换对新的图像数据的灰度值的影响,保证实现线扫相机的精确灰度值动态调节。
319.在步骤6716和步骤6719中的高精度灰度值范围(x7,x8)∈灰度值调节范围(x11,x12)。
320.在灰度值动态调节的过程中设置曝光调节标志位,其中曝光调节标志位在线扫相机完成曝光调节后会进行输入标记,并且在光源模块调节后会清除重置,保证在灰度值动态调节的过程中,所有相机都会进行曝光调节,并且在光源模块调节会对线扫相机的曝光重新进行适应性调节,保证图像质量,减少不必要的曝光调节。需要说明是在一些其他实施方式中,线扫相机的曝光调节标志位在设定时间或者换卷后均会清除重置,保证对不同的卷材能够第一时间进行线扫相机的曝光调节适应,保证采集的图像质量。曝光调节标志位还能够根据外部输入进行设置。
321.如图16所示,图16为缺陷照片墙的更新流程,所述步骤68中的瑕疵处理流程包括如下步骤:
322.步骤681:根据瑕疵信息,更新瑕疵检测界面的显示数据,包括瑕疵信息显示区域以及瑕疵照片墙等;
323.步骤682:根据打标队列和瑕疵信息,完成瑕疵打标流程;
324.步骤683:根据瑕疵信息进行瑕疵报警。
325.如图17所示,在步骤682中瑕疵打标流程包括如下步骤:
326.步骤6821:获取瑕疵信息和打标队列,瑕疵信息包括瑕疵图像;瑕疵图像为包括瑕疵的拼接图像数据;
327.步骤6822:分别获取需要打标的瑕疵图像的卷长和幅宽,并判断是否为0;若卷长和幅宽中的任意一者为0,则结束步骤;否者进入步骤6823;其中瑕疵图像的卷长表示瑕疵图像内显示的卷材长度,瑕疵图像的幅宽表示瑕疵图像内显示的卷材幅宽;
328.步骤6823:根据瑕疵图像的卷长和幅宽生成相同长宽的白底图像;
329.步骤6824:在白底图像的设定位置打上检测卷长刻度;检测卷长表示采集的图像数据对应的卷材卷长;
330.步骤6825:根据瑕疵信息中的位置信息,在白底图像上找到瑕疵点的位置,并打上标记,获得打标图像;标记包括文字、图案、颜色等信息;
331.步骤6826:判断瑕疵检测界面的图像显示区域是否显示有打标图像;若显示有打标图像,则将新获得的打标图像连接于旧的打标图像的下方;若未显示实时打标图像,则直接显示打标图像;
332.步骤6827:判断图像显示区域显示的打标图像的像素长度是否大于设定的控件尺寸上限y;若大于设定的控件尺寸上限y,则裁剪图像显示区域显示的打标图像,保留打标图像尾部的y1个像素长度的图像,其中尾部为打标图像靠近实时检测卷长的一侧;在本例中设置y为40000,y1为0,即清空打标图像;
333.步骤6828:控制图像显示区域显示的打标图像滑动至最尾端;
334.步骤6829:释放图像资源,并更新卷长数据;结束步骤。
335.如图18所示,在步骤683的瑕疵报警中,首先需要获取瑕疵信息;随后遍历瑕疵信息,获取其中报警优先级最高的瑕疵点,其中报警优先级根据瑕疵点的类型进行设定,不同的报警优先级对应不同的报警灯闪烁时间、报警灯颜色等;再然后取该瑕疵点的不同颜色的报警灯闪烁时间中的最大值,并将该最大值确定为报警器报警时间,在本例中包括红灯闪烁时间、绿灯闪烁时间和黄灯闪烁时间;最后根据报警器报警时间,控制报警器报警,并根据不同颜色的报警灯闪烁时间,控制报警灯闪烁,完成瑕疵报警。
336.如图19所示,所述步骤7中历史卷界面,包括瑕疵卷编号区域、历史打标图像显示区域以及历史瑕疵照片墙区域;其中瑕疵卷编号区域包括日期显示,以及当日内的瑕疵卷编号,瑕疵卷编号区域采用树状图进行展示,便于进行查看和选择;历史打标图像显示区域用于显示对应瑕疵卷编号的打标图像,历史瑕疵照片墙区域用于显示对应瑕疵卷编号所截取的瑕疵截图。历史卷界面还设置有操作按钮,包括“查看报告”按钮、“前进”按钮、“后退”按钮以及“返回”按钮;其中“查看报告”按钮用于跳转至瑕疵统计报表界面,在本例中“查看报告”按钮设置于瑕疵卷编号区域;“前进”按钮和“后退”按钮在历史打标图像显示区域以
及历史瑕疵照片墙区域均有设置,分别用于控制打标图像和瑕疵图片的前进和后退。历史卷界面还包括页码输入框,用于实现历史打标图像显示区域显示图像的快速跳转。“查看报告”按钮、“前进”按钮、“后退”按钮以及“返回”按钮分别对应“查看报告”指令、“前进”指令、“后退”指令以及“返回”指令。历史卷界面流程包括如下步骤:
337.步骤71:操作台读取数据库中的历史卷信息,包括历史打标图像和历史瑕疵截图;
338.步骤72:根据读取的历史卷信息,生成历史卷树状图,并加载显示于瑕疵卷编号区域;在本例中历史卷树状图为三层树状图,包括年月-日-瑕疵卷编号;
339.步骤73:判断是否收到用户通过历史卷树状图的输入指令;若收到输入指令,则从数据库中加载对应的历史卷信息;否则,返回步骤73;
340.步骤74:将对应的历史卷信息中的打标图像加载显示于历史打标图像显示区域,将瑕疵截图加载显示于历史瑕疵照片墙区域;
341.步骤75:判断是否收到用户通过操作按钮或者历史卷树状图发出的操作指令;若收到操作指令,则根据操作指令,完成操作流程;否则返回步骤75。
342.如图20所示,所述瑕疵统计报表界面,包括瑕疵统计表、瑕疵柱状图以及卷材信息,其中瑕疵统计表统计对应瑕疵卷编号的卷材的瑕疵种类、数量和各自的占比;瑕疵柱状图根据瑕疵统计表进行绘制,在本例中瑕疵柱状图的横坐标为瑕疵种类,纵坐标为瑕疵数量;卷材信息包括产品名、卷长、卷号、总瑕疵数、幅宽、班号等信息,卷材信息通过传感器或者操作台的输入获取。瑕疵统计报表界面还包括“导出pdf文件”按钮以及“返回”按钮;“导出pdf文件”按钮用于将瑕疵统计报表界面展示的图像打印为pdf格式,并输出;“返回”按钮用于返回历史卷界面。
343.所述步骤8中的更新瑕疵检测界面的显示信息,在本例中包括更新卷号、卷材参数以及清空卷材实时瑕疵信息显示区域,并且将实时卷长和幅宽设置为0;释放显示图像资源包括清空图像显示区域和瑕疵照片墙区域。另外在本例中设置为隔天自动换卷。
344.如图21-30所示,所述步骤9中的设置界面包括“系统参数”按钮、“瑕疵分类”按钮、“检测参数”按钮以及“返回”按钮;其中“系统参数”按钮、“检测参数”按钮、“瑕疵分类”按钮以及“返回”按钮均为跳转按钮;“系统参数”按钮对应系统配置界面;“检测参数”按钮对应检测参数设置界面;“瑕疵分类”按钮对应瑕疵分类设置界面;“返回”按钮对应瑕疵检测界面。
345.在本例中系统配置界面包括相机号、最大曝光值、最小曝光值、调节刻度、灰度上限、灰度下限、相机数、串口端口、左侧边缘以及右侧边缘的参数设置,其中相机号表示用户修改的线扫相机对象;最大曝光值表示灰度值动态调节时能调节到的曝光度上限,该变量为整型,取值范围为最小曝光值-1000hv,单位为hv;最小曝光值表示灰度值动态调节时能调节到的曝光度下限,该变量为整型,取值范围为0hv-最大曝光值,单位为hv;调节刻度表示灰度值动态调节时每次调节的相机曝光量大小,该变量为整型,取值范围为0hv-100hv,单位为hv;灰度上限表示开启灰度值动态调节的灰度值上限,若返回的图像灰度值大于该值,则调节曝光量,该变量为整型,取值范围为灰度值下限-255;灰度下限表示开启灰度值动态调节的灰度值下限,若返回的图像灰度值小于该值,则调节曝光量,该变量为整型,取值范围为0-灰度值上限;相机数表示启用的线扫相机个数,该变量为整型,取值范围为1-4;串口端口表示串口模块连接的端口号,该变量为整型,取值范围为1-20;左侧边缘表示瑕疵
检测流程中左侧不检测区域的长度,该变量为整型,取值范围为0mm-200mm,单位为mm;右侧边缘表示瑕疵检测流程中右侧不检测区域的长度,该变量为整型,取值范围为0mm-200mm,单位为mm。
346.检测参数设置界面包括相机号、瑕疵个数上限、动态暗阈值、动态量阈值、动态极暗阈值、动态极亮阈值、普通暗阈值、普通亮阈值、大面积暗阈值、均值卷积1、均值卷积2、均值卷积3、均值卷积4的参数设置。其中相机号表示用户修改的线扫相机对象;瑕疵个数上限表示该相机图像每次瑕疵检测能检测瑕疵数的上限,该变量为整型,取值范围为0-20;动态暗阈值表示图像检测的标准动态暗阈值,该变量为整型,取值范围为5-150;动态量阈值表示图像检测的标准动态量阈值,该变量为整型,取值范围为5-150;动态极暗阈值表示图像检测的标准动态极暗阈值,该变量为整型,取值范围为5-150;动态极亮阈值表示图像检测的标准动态极亮阈值,该变量为整型,取值范围为5-150;普通暗阈值表示图像检测的标准普通暗阈值,该变量为整型,取值范围表示5-150;普通亮阈值表示图像检测的标准普通亮阈值,该变量为整型,取值范围为5-150;大面积暗阈值表示图像检测的标准大面积暗阈值,该变量为整型,取值范围为5-150;均值卷积1表示图像检测的均值卷积1,该变量为整型,取值范围为5-150;均值卷积2表示图像检测的均值卷积2,该变量为整型,取值范围为5-150;均值卷积3表示图像检测的均值卷积3,该变量为整型,取值范围为5-150;均值卷积4表示图像检测的均值卷积4,该变量为整型,取值范围为5-150。
347.瑕疵分类设置界面包括产品名称、瑕疵名称、横宽上限、横宽下限、纵长上限、纵长下限、纵长/线宽上限、纵长/线宽下限、线宽/纵长上限、线宽/纵长下限、面积上限、面积下限、亮面积上限、亮面积下限、孔面积上限、孔面积下限、暗面积上限、暗面积下限、优先级、打标显示、打标字体、打标字符、报警绿灯、报警黄灯、报警红灯、绿灯报警时长、黄灯报警时长、红灯报警时长的参数设置。其中,产品名称表示用户修改的产品对象;瑕疵名称表示用户修改的产品对象中的指定瑕疵对象;横宽上限表示检测到的瑕疵点的横宽上限,该变量为整型,取值范围为横宽下限-100;横宽下限表示检测到的瑕疵点的横宽下限,该变量为整型,取值范围为0-横宽上限;纵长上限表示检测到的瑕疵点的纵长上限,该变量为整型,取值范围为纵长下限-100;纵长下限表示检测到的瑕疵点的纵长下限,该变量为整型,取值范围为0-纵长上限;纵长/线宽上限表示检测到的瑕疵点的纵长/线宽上限,该变量为整型,取值范围为纵长/线宽下限-100;纵长/线宽下限表示检测到的瑕疵点的纵长/线宽下限,该变量为整型,取值范围为0-纵长/线宽上限;线宽/纵长上限表示检测到的瑕疵点的线宽/纵长上限,该变量为整型,取值范围为线宽/纵长下限-100;线宽/纵长下限表示检测到的瑕疵点的线宽/纵长下限,该变量为整型,取值范围为0-线宽/纵长上限;面积上限表示检测到的瑕疵点的面积上限,该变量为整型,取值范围为面积下限-100;面积下限表示检测到的瑕疵点的面积下限,该变量为整型,取值范围为0-面积上限;亮面积上限表示检测到的瑕疵点的亮面积上限,该变量为整型,取值范围为亮面积下限-100;亮面积下限表示检测到的瑕疵点的亮面积下限,该变量为整型,取值范围为0-亮面积上限;孔面积上限表示检测到的瑕疵点的孔面积上限,该变量为整型,取值范围为孔面积下限-100;孔面积下限表示检测到的瑕疵点的孔面积下限,该变量为整型,取值范围为0-孔面积上限;暗面积上限表示检测到的瑕疵点的暗面积上限,该变量为整型,取值范围为暗面积下限-100;暗面积下限表示检测到的瑕疵点的暗面积下限,该变量为整型,取值范围为0-暗面积上限;优先级表示该瑕疵的优先显示
等级,1为最高。优先级高的瑕疵可以优先被报警与打标,该变量为整型,取值范围为0-100;打标显示表示检测到瑕疵后是否打标显示,勾选为打标,不勾选为不打标;打标字体表示打标的字体大小,字体颜色,字体样式;打标字符表示选择标记的字符;报警绿灯表示检测到瑕疵后是否绿灯亮起,勾选为亮起,不勾选为不亮起;报警黄灯表示检测到瑕疵后是否黄灯亮起,勾选为亮起,不勾选为不亮起;报警红灯表示检测到瑕疵后是否红灯亮起,勾选为亮起,不勾选为不亮起;绿灯报警时长表示检测到瑕疵后绿灯亮起的时长,该变量为整型,取值范围为1ms-100ms,单位ms;黄灯报警时长表示检测到瑕疵后黄灯亮起的时长,该变量为整型,取值范围为1ms-100ms,单位ms;红灯报警时长表示检测到瑕疵后红灯亮起的时长,该变量为整型,取值范围为1ms-100ms,单位ms。
348.所述步骤12中的图像的左右不检测区域的值根据瑕疵检测界面的图像显示区域的检测区域滑条确定。
349.所述操作台还设置有外置的机械按钮,机械按钮与操作台通过串口通信连接;在本例中机械按钮为检测/暂停机械按钮以及换卷机械按钮。通过机械按钮能够实现按钮串口控制流程,包括如下步骤:
350.步骤a1:操作台通过设置的定时器以设定的时间间隔向连接机械按钮的串口发送光耦查询信号;
351.步骤a2:机械按钮接收光耦查询信号,并根据机械按钮的按动状态返回光光耦查询结果信号;
352.步骤a3:操作台接收返回的光耦查询结果信号,获取机械按钮的按动状态,并根据返回信号的串口,获取连接的机械按钮类型;
353.步骤a4:操作台根据机械按钮类型和按动状态,执行相应动作,结束步骤。
354.在实施的过程中,通过设置操作台连接相机模块,获取图像数据,根据获取的图像数据,进行实时显示,并根据设定算法完成对卷材的瑕疵检测;通过设置灰度值动态调节流程,控制相机模块和光源模块的曝光和亮度等,保证相机模块采集的图像灰度值满足设定范围;通过设置瑕疵打标流程,对于瑕疵在卷材上的位置能够准确判断,并进行显示,便于查看历史瑕疵;通过对线扫相机的图像进行实时拼接显示,使得线扫相机能够采集并在操作台展示完整幅宽的卷材图像。
355.如图31所示,一种基于线扫描相机的卷材检测方法,该算法可以作为卷材实时检测流程中的检测算法,包括如下步骤:
356.步骤s1:操作台获取所有线扫相机采集的图像,并统计图像数量;
357.步骤s2:判断采集的图像是否为多通道图像;若为多通道图像则转换为灰度图像,进入步骤s3;否则直接进入步骤s3;
358.步骤s3:依次选取图像,计算图像尺寸,并根据左右不检测区域,完成每组图像的裁切并获取图像灰度值;其中每组图像表示同一时刻,不同线扫相机采集的图像;
359.步骤s4:根据全图背景评估,计算是否存在周期性条纹;若存在周期性纹理,则为有纹理的材质,需要进行去纹理步骤,完成去纹理后进入下一步骤;否则,直接进入下一步骤;
360.步骤s5:根据图像的灰度值,完成图像的清晰度自适应流程,判断对应的滤波级数,完成图像滤波,并获得图像中的总瑕疵区域;
361.步骤s6:基于聚类方法对总瑕疵区域进行临域多瑕疵处理,将满足要求的瑕疵区域进行连通;
362.步骤s7:根据瑕疵区域或瑕疵连通区域面积获得瑕疵输出优先级;将瑕疵根据瑕疵输出优先级进行排序;
363.步骤s8:获取瑕疵信息,并按照瑕疵输出优先级顺序,依次判断瑕疵信息是否满足设定阈值范围要求;若瑕疵信息满足设定阈值要求,则将瑕疵信息依次放入输出队列;
364.步骤s9:判断输出队列中的瑕疵信息是否超过瑕疵信息的设定输出数量上限;若超过了瑕疵信息的设定输出数量上限,则根据瑕疵输出优先级顺序输出设定输出数量的瑕疵信息,结束步骤;否则输出队列中的全部瑕疵信息,结束步骤。
365.如图32所示,所述步骤s3中完成图像的裁剪并获取灰度值的过程包括如下步骤:
366.步骤s31:获取一组图像,并判断该组图像中的图像数量大于或者等于一张;若图像的数量为一张,则进入步骤s32;若图像的数量大于一张,否则进入步骤s33;
367.步骤s32:该组图像中仅包含一张图像,则判断左裁剪区域和右裁剪区域的宽度和与图像宽度的关系,其中左裁剪区域和右裁剪区域通过左右不检测区域获得;若左裁剪区域和右裁剪区域的宽度和大于图像宽度,则进入步骤s35;若左裁剪区域和右裁剪区域的宽度和小于等于图像宽度,则进入步骤s36;
368.步骤s33:该组图像中包含的图像数量大于一张,则判断第一张图像的宽度与左裁剪区域的宽度的关系;若第一张图像的宽度小于左裁剪区域的宽度,则进入步骤s35;否者进入步骤s34;
369.步骤s34:判断最后一张图像的宽度与右裁剪区域的宽度的关系;若最后一张图像的宽度小于右裁剪区域的宽度,则进入步骤s35;否者进入步骤s36;
370.步骤s35:图像裁剪区域过大,判断为图像检测异常,结束步骤,并结束检测算法;
371.步骤s36:依次获取该组图像中的一张图像,并判断该图像是否为该组图像的第一张图像;若为该组图像的第一张图像,则进入步骤s37;若不是该组图像的第一张图像,则进入步骤s38;
372.步骤s37:该图像为该组图像的第一张图像,则判断该组图像是否仅有一张图像;若只有一张图像,则根据左右不检测区域获取图像的左右裁剪区域,并完成图像的裁剪,进入步骤s310;若不为一张图像,则计算图像的左侧裁剪区域,并完成图像的裁剪,进入步骤s310;
373.步骤s38:该图像不是该组图像的第一张图像,则判断该图像是否为该组图像的最后一张图像;若为该组图像的最后一张图像,则进入步骤s39;若不是该组图像的最后一张图像,则直接进入步骤s310;
374.步骤s39:该图像为该组图像的最后一张图像,并且不是第一张图像,则计算图像的右侧裁剪区域,并完成图像的裁剪,进入步骤s310;
375.步骤s310:计算获得的图像的灰度值,结束步骤。
376.需要说明的是在步骤s310中,获取图像的灰度值后,还会求取图像的平均灰度值,若图像平均灰度值高于设定值y1,或低于设定值y2,则认为图像过亮或过暗,图像异常,结束检测算法;在本例中设定值y1为230,y2为30。
377.如图33所示,所述步骤s4中的去纹理步骤,包括:
378.步骤s41:获取裁剪后的图像,并计算图像的宽width和高height;
379.步骤s42:在图像中的随机区域,提取1/2width*1/2height区域的子图像;
380.步骤s43:在子图像中的随机位置设置相互垂直的两条直线l1、l2;在本例中,两条直线l1、l2还分别与子图像的宽和高的边缘平行,并且直线l1和直线l2穿过子图像的中心点;
381.步骤s44:对子图像进行双边滤波去除尖锐噪声且保存边缘不被模糊后,并进行边缘增强,分别计算子图像在宽方向和高方向的二次导函数图像;
382.步骤s45:根据子图像在宽方向和高方向的二次导函数图像,获取二次导函数图像中的直线区域;
383.步骤s46:根据直线区域,在二次导函数图像中根据从亮到暗的极性变化提取直线区域骨架,并转化线性对象,获得条纹;在本例中条纹为亮区域;
384.步骤s47:计算提取的所有直线的霍夫变换值(p,theta);通过霍夫变换将直角坐标转换为极坐标,方便确认夹角并完成位置定位;
385.步骤s48:合并同一直线区域骨架内并且同一角度的低于设定像素点长度l3的条纹;在本例中l3为4个像素点长度;
386.步骤s49:条纹合并后,清除低于设定像素点长度l4的条纹;在本例中l4为20个像素点长度;
387.步骤s410:获取剩余条纹,并筛选出与直线l1或直线l2相交的条纹;
388.步骤s411:根据条纹与直线l1的交点,提取交点间距和夹角重复的条纹;根据条纹与直线l2的交点,提取交点间距和夹角重复的条纹;
389.步骤s412:判断步骤s411提取出的条纹与直线l1及直线l2是否均存在夹角;若与直线l1及直线l2中的某条直线不存在夹角,则认为条纹与直线l1或直线l2平行,进入步骤s414;若均存在夹角,则认为条纹与直线l1和直线l2均不平行,进入步骤s413;
390.步骤s413:根据条纹与直线l1和l2的夹角与交点间距,获取交点间距在条纹上的投影,包括投影长度和投影位置,该投影长度就是周期性条纹的间距;
391.步骤s414:获取条纹的周期性信息,包括交点间距在条纹上的投影长度和投影位置、条纹在直线l1或l2上的交点、条纹与直线l1和l2的角度;
392.步骤s415:根据条纹的周期线信息,生成周期函数,并通过傅里叶级数延拓展开,获得条纹的周期性频率;
393.步骤s416:根据傅里叶级数前n项周期性频率获得空间滤波器;
394.步骤s417:通过空间滤波器对步骤s41中获得的裁剪子图像进行卷积计算,实现图像去纹理操作,结束步骤。
395.需要说明的是在本技术中所指的条纹为周期性的条纹,包括竖直、水平或者倾斜的条纹、方格等。
396.如图34-36所示,所述步骤s5中对图像的清晰度自适应流程,具体通过如下方法实现:
397.首先针对步骤s4获得的图像,获取图像中心坐标位置,并穿过中心坐标位置画一条平行于x轴方向的轮廓线,其中x轴在图像中表现为卷材的幅宽方向;提取轮廓线上的像素点的灰度信息,获得最大灰度值gmax、最小灰度值gmin以及平均灰度值gmean;设定划分
灰度级为n级,其中高于平均灰度值gmean的灰度级分为n1级,低于平均灰度值的gmean的灰度级分为n2级,n1 n2=n,在本例中n1=n2=n/2;获取高于平均灰度值gmean的灰度级差a1,以及低于平均灰度值的gmean的灰度级差a2:
398.a1=(gmax-gmean)/n1
399.a2=(gmean-gmin)/n2
400.将图像中的灰度值根据上述的n级进行划分,其中高于平均灰度值gmean的灰度级差a1,低于平均灰度值gmean的灰度级差为a2;根据n级灰度值对轮廓线上的像素点进行划分,并根据划分位置按垂直轮廓线方向完成图像裁剪,最终裁剪的区域数量记为nw,其中将轮廓线上的连续的并且属于统一灰度值级别的区域划分为一块,直至出现不同灰度值级别的像素点;完成图像裁剪后,按位置信息编码获得二维数组[nw,n],共nw*n个图像子区域;
[0401]
获取裁剪子图像的尺寸,并计算每块图像的灰度均值与灰度方差d(x),以及每块图像的灰度共生矩阵;其中对于灰度级低于平均灰度值gmean的裁剪子图像的灰度共生矩阵glcm表示为:
[0402][0403]
其中,n

取1、2、3...n2;对于灰度级高于平均灰度值gmean的裁剪子图像的灰度共生矩阵glcm表示为:
[0404][0405]
其中,n

取1、2、3...n1;p(i,j)={counter(i=f(x,y),j=f(x,y 1))}/(a*a),表示遍历整张裁剪子图像,出现相邻灰度值为(i,j)的概率,若裁剪子图像的灰度值高于平均灰度值gmean,则a=a1,若裁剪子图像的灰度值低于平均灰度值gmean,则a=a2;f(x,y)表示该裁剪子图像上点(x,y)位置的灰度值;ciunter(i=f(x,y),j=f(x,y 1)),表示遍历整张裁剪子图像,出现相邻灰度值为(i,j)的次数;
[0406]
随后根据灰度共生矩阵glcm获得裁剪子图像的对比度cont,其中
[0407][0408]
其中i=f(x,y),j=f(x,y 1);图像的对比度主要反映了图像的清晰度和纹理的沟纹深浅,对比度越大,表示图像越清晰,反之对比度越小,表示图像模糊。
[0409]
随后计算裁剪子图像的灰度共生矩阵glcm的元素平方和,即asm能量,表示为:
[0410][0411]
其中能量反映了图像的灰度分布均匀程度;当图像模糊时,灰度分布较均匀,能量值较大;当图像清晰时,能量值较小。随后计算裁剪子图像的逆差距homogenity,简写为homo,表示为:
[0412][0413]
homogenity反映了图像纹理局部变化程度。当图像模糊时,灰度分布较均匀,逆差距值较大;当图像清晰时,逆差距值较小。
[0414]
随后计算裁剪子图像的灰度值在行或列方向上的相关性corr,
[0415][0416][0417][0418][0419][0420]
其中ui和uj分别表示灰度共生矩阵水平方向与竖直方向的平均值,δi和δj表示水平方向与竖直方向的方差值。相关性的大小反映了裁剪子图像的整体灰度值相似程度;当图像模糊时,灰度变化小,相关性好,数值大;当图像清晰时,灰度剧烈变化,相关性差,数值低。
[0421]
最后,统计裁剪子图像的灰度方差d(x)、对比度cont、灰度能量asm、逆差距homo以及相关性corr,并获取加权均值ambiguity,
[0422][0423]
其中χ、ε、η、α、β为设定的权值;加权均值ambiguity越高,表示图像越模糊,则需要使用滤波核尺寸越小的高斯滤波器;若ambiguity《a1,则选用一级高斯滤波器;若a1=《ambiguity《a2,则选用二级高斯滤波器;若a2=《ambiguity》a3,则选用三级高斯滤波器;若a3=《ambiguity,则选用四级高斯滤波器;在本例中,a1、a2以及a3均为设定值,一级高斯滤波器的核尺寸为64*64,二级高斯滤波器的核尺寸为32*32,三级高斯滤波器的核尺寸为16*16,四级高斯滤波器的核尺寸为8*8;选用对应级数的高斯滤波器完成对裁剪子图像的滤波处理,直至完成所有裁剪子图像的滤波处理。
[0424]
如图37所示,所述步骤s6中临域多瑕疵处理流程,包括如下步骤:
[0425]
步骤s61:获取滤波后的整体图像,并对图像再分别使用一~四级的高斯滤波器进行滤波,获得四张再滤波图像;
[0426]
步骤s62:获取图像中的普通暗区域的像素点集合、非常暗区域的像素点集合、大面积暗区域的像素点集合、亮区域的像素点集合以及孔洞瑕疵区域的像素点合集;
[0427]
步骤s63:获取暗区域;在本例中,暗区域包括普通暗区域、非常暗区域和大面积暗区域;
[0428]
步骤s64:获取总瑕疵区域;在本例中,总瑕疵区域包括暗区域、亮区域和孔洞瑕疵区域;
[0429]
步骤s65:对总瑕疵区域进行闭运算连通邻近区域;
[0430]
步骤s66:计算总瑕疵区域的连通域,分离所有闭合且不相连的区域;
[0431]
步骤s67:计算总瑕疵区域内所有连通域的面积大小及中心点坐标,结束步骤。
[0432]
所述步骤s62中,在本例中将一级滤波图像中像素点的灰度值《(三级滤波图像中对应位置的像素点灰度值-普通暗阈值z1)的像素点认为是普通暗区域;将一级滤波图像中像素点的灰度值《(三级滤波图像中对应位置的像素点灰度值-非常暗阈值z2)的像素点认为是非常暗区域;将二级滤波图像中像素点的灰度值《(四级滤波图像中对应位置的像素点灰度值-大面积暗阈值z3)的像素点认为是大面积暗区域;将一级滤波图像中像素点的灰度
值》(三级滤波图像中对应位置的像素点灰度值 普通亮阈值)的像素点认为是亮区域;将步骤s61中再次滤波前的灰度值范围为(250,255)的像素点认为是孔洞瑕疵区域。
[0433]
如图38所示,所述步骤s7中瑕疵输出优先级通过连通域面积的大小进行确定,在本例中连通域的面积越大,瑕疵输出的优先级越高。在步骤s7,确定输出优先级之前,还需要对瑕疵连通域进行筛选,其中筛选条件为连通域面积大于设定的“瑕疵面积上限阈值”。
[0434]
所述步骤s8中,瑕疵信息包括瑕疵面积、瑕疵最小外接矩形的长宽以及长宽比、瑕疵线长宽比、瑕疵暗面积比、瑕疵亮面积比、瑕疵孔面积比。其中瑕疵线宽=瑕疵面积/瑕疵最小外接矩形长;瑕疵线长宽比=瑕疵线宽/瑕疵最小外接矩形长;瑕疵暗面积比=暗瑕疵区域与当前瑕疵区域交集/当前瑕疵面积;瑕疵亮面积比=亮瑕疵区域与当前瑕疵区域交集/当前瑕疵面积;瑕疵孔面积比=1-亮面积比-暗面积比。在本例中上述的瑕疵信息满足设定的阈值范围要求,则输出瑕疵信息。瑕疵信息还包括瑕疵类型、瑕疵中心点坐标等。瑕疵类型包括黑点、白点和孔洞,其中黑点、白点和孔洞通过像素点的灰度值进行判断,对于每类瑕疵还会根据瑕疵面积,分为大、中、小三个级别;在本例中,将步骤s6的临域多瑕疵处理流程中判断为非常暗区域像素点的认为是黑点,判断为亮区域像素点的认为是白点,判断为孔洞瑕疵区域的像素点认为是孔洞。
[0435]
在本技术中,通过将图像中灰度异常区域进行提取,主要提取跟图像背景灰度值异常的区域,并进行形态特征判断后区分不同的瑕疵,实现对瑕疵类型的识别和区分;获取图像横向轮廓线灰度变化信息,对图像进行分段的清晰度自适应检测,使得幅宽较宽的同一张图像能够得到较高的滤波效果,保证滤波后的图像清晰一致;通过对不同瑕疵,进行形状、轮廓、亮暗区域位置相关特征判定以达到细致分类,通过基于聚类算法对瑕疵进行连通域处理,使得满足条件的瑕疵能够进行连通,集中临近位置的多个缺陷输出一个位置,减少打标输出,同时帮助提高算法的效率,并且保证对较小却密集的瑕疵也能够被发现。
[0436]
实施例二:
[0437]
如图39、40所示,本实施例基于实施例一改进获得,其中步骤s8中输出的瑕疵信息中的瑕疵类型通过瑕疵识别特征算法获得,其中瑕疵类型包括黑点、气泡、虫斑、晶点、毛绒。在本例中,将特征为全黑得到瑕疵识别为黑点,并根据瑕疵面积,进一步识别为大中小黑点;将特征为有黑白俩个圆环的瑕疵识别为气泡;特征为黑齿排列的瑕疵识别为虫斑;将特征为一个黑色区域和一个白色区域相邻的瑕疵识别为晶点;将特征为一条黑线的瑕疵识别为毛绒。瑕疵识别特征算法包括如下步骤:
[0438]
步骤s81:获取图像,检测图像中的暗区域;其中暗区域为图像灰度值低于设定阈值y3的区域;
[0439]
步骤s82:判断图像中的暗区域数量是否为一个;若暗区域数量仅有一个,则进入步骤s83;若暗区域的数量为0或大于一个,则进入步骤s84;
[0440]
步骤s83:暗区域的数量仅有一个,进一步判断暗区域的轮廓为近似实心圆形或者近似实心矩形或者其他形状;若暗区域的轮廓近似圆形,则判断瑕疵为大黑点,结束步骤;若暗区域轮廓近似矩形,则判断瑕疵为毛绒,结束步骤;若暗区域的轮廓为其他形状,则进入步骤s84;
[0441]
步骤s84:检测图像中的亮区域;判断亮区域和暗区域的数量是否均为0个,若均为0个,则认为图像无瑕疵;否者进入步骤s85;其中亮区域为图像灰度值高于设定阈值y4的区
域;
[0442]
步骤s85:判断亮区域边缘是否被暗区域包围;若亮区域边缘被暗区域包围,则认为瑕疵为气泡,结束步骤;若亮区域边缘没有被暗区域包围,则进入步骤s86:
[0443]
步骤s86:亮区域边缘没有被暗区域包围,则对亮区域和暗区域进行数量统计,并获取图像中的所有亮区域和暗区域的重心坐标;
[0444]
步骤s87:将亮区域和暗区域的重心坐标根据横坐标的大小进行排序,判断中重心坐标能否拟合成直线;若重心坐标能够拟合成一条直线,则进入步骤s88;否者,进入步骤s89;
[0445]
步骤s88:重心坐标能够拟合成一条直线,则进一步判断亮区域和暗区域是否交替出现;若亮区域和暗区域交替出现,则判断瑕疵为虫斑,结束步骤;若亮区域和暗区域没有交替出现,则进入步骤s89;
[0446]
步骤s89:获取亮区域和暗区域的总区域骨架,判断骨架的形状是否呈箭头排列形状;若区域骨架为箭头排列形状,则认为瑕疵为晶点,结束步骤;否者进入步骤s810;
[0447]
步骤s810:认为瑕疵为其他,获取相邻区域的重心间距,并对区域进行聚合,计算聚合后的区域和面积;其中区域包括亮区域和暗区域。
[0448]
所述步骤s81中的暗区域和步骤s84中的亮区域通过实施例一中的步骤s6的临域多瑕疵处理流程获得。
[0449]
所述步骤s86中对亮区域和暗区域统计的过程中,分别用1和0对亮区域和暗区域进行标记,并统计每一块区域的面积和每一块区域的最小外接圆。
[0450]
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
再多了解一些

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

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

相关文献