具体实施方式
为了便于理解本申请,下面结合附图和具体实施方式,对本申请进行更详细的说明。需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合说明书附图具体阐述本申请的技术方案:
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图;
如图1所示,该应用环境100,包括:可编程逻辑控制器(Programmab l e l ogicContro l l er,PLC)10、控制卡20、步进电机30、摄像单元40以及光源50,其中可编程逻辑控制器10与控制卡20通过网络通信连接,控制卡20与步进电机30通过网络通信连接,步进电机30与摄像单元40通过网络通信连接,摄像单元40与光源50通过网络通信连接,其中该网络包括有线网络和/或无线网络。可以理解的是,该网络包括2G、3G、4G、5G、无线局域网、蓝牙等无线网络,也可以包括串口线、网线等有线网络。
在本申请实施例中,该可编程逻辑控制器10包括中央处理器(CPU)、电源、储存器以及输入、输出接口电路。中央处理器是可编程逻辑控制器的控制中枢,也是可编程逻辑控制器的核心部件,其性能决定了可编程逻辑控制器的性能。中央处理器由控制器、运算器和寄存器组成,通过地址总线、控制总线与存储器的输入/输出接口电路相连。中央处理器设置于可编程逻辑控制器主体,在进行锡膏检测时,中央处理器用于负责读取指令,对指令译码并执行指令,处理和运行用户程序,进行逻辑和数学运算。
在本申请实施例中,电源用于将交流电转换成可编程逻辑控制器10内部所需的直流电,内部的开关电源为可编程逻辑控制器10的中央处理器、存储器等电路提供直流电源,使可编程逻辑控制器能正常工作。
可以理解的是,该电源包括但不限于220V交流电源和24V直流电源,为可编程逻辑控制器的中央处理器、存储器等电路提供的直流电源包括但不限于5V、12V、24V直流电源,可编程逻辑控制器10采用的供电方式包括但不限于开关式稳压电源供电。
在本申请实施例中,存储器是具有记忆功能的半导体电路,其作用是存放系统程序、用户程序、逻辑变量和其他一些信息。其中系统程序是控制可编程逻辑控制器实现各种功能的程序,由可编程逻辑控制器10生产厂家编写,并固化到只读存储器(ROM)中,用户不能访问。
可以理解的是,该存储器包括但不限于:FLASH闪存、NAND闪存、垂直NAND闪存(VNAND)、NOR闪存、电阻随机存取存储器(RRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等设备中的一种或多种。
在本申请实施例中,输入、输出接口(I/O接口)是中央处理器与外部设备之间交换信息的连接电路,输入、输出接口通过总线与中央处理器相连。其中,输入接口与控制卡20相连,输出接口与步进电机30相连,在进行锡膏检测时,由控制卡20发出指令,通过输入接口将指令传送给中央处理器,由中央处理器对指令译码并执行指令,通过输出接口驱动步机电机30,由步进电机30驱动滑轨,并带动摄像单元40移动到不同位置进行拍摄。
输入、输出接口(I/O接口)分为总线接口和通信接口两类。输入、输出接口电路的作用是将按钮、行程开关或传感器等产生的信号输入中央处理器;可编程逻辑控制器的输出接口电路的作用是将中央处理器向外输出的信号转换成可以驱动外部执行元件的信号,以便控制接触器线圈等电器的通、断电。
计算机输入输出接口用于外部设备或用户电路与中央处理器之间进行数据、信息交换以及控制,使用时通过微型计算机总线接口使微型计算机总线把外部设备和用户电路连接起来。
可编程逻辑控制器的输入接口电路可分为直流输入电路和交流输入电路。可以理解的是,输出接口电路的类型包括但不限于:继电器输出型、晶体管输出型和晶闸管输出型。继电器输出型、晶体管输出型和晶闸管输出型的输出电路类似,只是晶体管或晶闸管代替继电器来控制外部负载。
在本申请实施例中,控制卡20是基于计算机总线,利用高性能微处理器及大规模可编程器件实现多个步进电机的多轴协调控制的一种高性能的步进电机运动控制卡,包括脉冲输出、脉冲计数、数字输入、数字输出、D/A输出等功能,控制卡可以发出连续的、高频率的脉冲串,通过改变发出脉冲的频率来控制电机的速度,改变发出脉冲的数量来控制电机的位置,其脉冲输出模式包括脉冲/方向、脉冲/脉冲方式。脉冲计数可用于编码器的位置反馈,提供机器准确的位置,纠正传动过程中产生的误差。具体来说,就是将实现运动控制的底层软件和硬件集成在一起,使其具有步进电机控制所需的各种速度、位置控制功能,而这些功能能够通过计算机方便地调用。
在本申请实施例中,控制卡可以为通用处理器、数字信号处理器(DSP)、专用集成电路(AS I C)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RI SC Machi ne)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。控制器还可以是任何传统处理器、控制器、微控制器或状态机。控制器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置,或者微控制单元(Microcontro l l er Unit,MCU)、现场可编程门阵列(Fie ld-Programmab l e Gate Array,FPGA)、系统级芯片(System on Chip,SoC)中的一种或多种组合。
在本申请实施例中,步进电机是一个完成数字模式转化的执行元件,接收数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移。步进电机的角位移量与输入的脉冲个数严格成正比,而且在时间上与脉冲同步。因而只要控制脉冲的数量、频率和电机绕组的相序,即可获得所需的转角、速度和方向。步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。
在本申请实施例中,摄像单元40与步进电机30连接,步进电机30接收数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,驱动滑轨并带动摄像单元进行位移。该摄像单元40用于拍摄电路板的第一图像,获取第一图像中的所有像素点的像素值,对所有像素点的像素值求平均,得到平均像素值,将平均像素值对应的颜色确定为电路板的颜色,以及对第一图像进行二值化操作,获取第二图像。
在本申请实施例中,光源50用于在摄像单元拍摄过程中进行打光,通过控制卡20还可以调节光源的打光方案、打光亮度以及打光角度。该光源50的数量为多个,其种类包括但不限于顶部红光,底部红光、底部绿光、底部蓝光。
请参阅图2,图2是本申请实施例提供的一种锡膏检查准备流程的示意图;
如图2所示,该锡膏检查准备流程,包括:
步骤S201:新建锡膏检查程序;
具体的,在锡膏检查设备中,新建一个锡膏检查程序,用于后续检查电路板中的标记点与标准文件中的预设标记点对位是否一致,若不一致,则计算其偏移坐标,并校正到整个电路板的坐标中;
步骤S202:导入标准文件;
具体的,从数据库中读取电路板图形数据文件,然后将电路板转化为标准文件的形式输出,导入输出的标准文件,并设置标准文件的参数。导入标准文件时需要初步检查确认标准文件中的外形、布线、字符、阻焊以及过孔。
步骤S203:选择并设置预设标记点;
具体的,标准文件中存在若干个标记点,随机选择其中一个标记点作为预设标记点。
步骤S204:确定视场角区域;
具体的,确定视场角区域包括两部分:划定摄像单元拍摄视野,规划摄像单元的拍摄路径;其中,划定摄像单元的拍摄视野是依据已知的视野尺寸简单的迭代到所有被测物都被划分到视野内了,就结束迭代;规划拍摄路径是采用TSP算法求解旅行商问题得到最短路径。
步骤S205:将电路板放置于轨道上;
具体的,根据电路板的尺寸大小,将电路板放置于锡膏检查设备对应尺寸的轨道上。
请参阅图3,图3是本申请实施例提供的电路板的偏移校正方法的流程示意图;
其中,该电路板的偏移校正方法,应用于锡膏检查设备,该锡膏检查设备包括摄像单元,具体的,该电路板的偏移校正方法的执行主体为锡膏检查设备的一个或至少两个处理器。
如图3所示,该电路板的偏移校正方法,包括:
步骤S301:确定摄像单元的若干个视场角区域;
具体的,确定电路板的左上角为坐标原点建立直角坐标系,根据摄像单元已知的视野尺寸,设置摄像单元的每个视场角区域的尺寸大小,并且设置每个视场角区域都具有相同的长宽,在本申请实施例中,所述方法包括但不限于以电路板左上角、左下角、右上角、右下角等为原点建立直角坐标系。
步骤S302:将所述电路板对应的标准文件中的每一预设标记点划分到一个视场角区域;
具体的,根据预设标记点的位置,将标准文件中的每个预设标记点划分到某个刚好包含该预设标记点的视场角区域中。剩下的预设标记点以此类推进行简单的迭代,在迭代的过程中,摄像单元每经过一次迭代,就在摄像单元所在位置产生对应的一个视场角坐标,直到电路板中所有的预设标记点均被划分到某一个视场角区域。
步骤S303:确定一个预设标记点,根据该预设标记点,确定该预设标记点对应的视场角区域;
具体的,当锡膏检查设备接收到用户的指令后,在标准文件的若干个预设标记点中,选择一个预设标记点作为完成后续偏移校正操作的预设标记点,根据该预设标记点的所在位置,确定该预设标记点对应的视场角区域。
步骤S304:将摄像单元移动到预设标记点对应的视场角区域,并记录摄像单元对应的第一视场角坐标;
具体的,确定该预设标记点对应的视场角区域之后,控制卡发出指令驱动步进电机,由步进电机驱动滑轨,将摄像单元移动到预设标记点对应的视场角区域进行拍摄,并且记录此时摄像单元所对应位置的第一视场角坐标,用于与后续获得的第二视场角坐标进行对比,得到偏移坐标。
步骤S305:获取电路板的第一图像以及预设标记点的检测区域;
请再参阅图4,图4是图3中的步骤S305的细化流程图;
如图4所示,该步骤S305:获取电路板的第一图像,包括:
步骤S3051:基于预设的第一光源模式,获取电路板的第一图像,其中,第一光源模式包括白平衡光源模式;
具体的,进行锡膏检查时,需要拍摄电路板的整板图像,由控制卡发出指令,将光源模式调整为预设的第一光源模式,并控制步进电机驱动滑轨,使摄像单元在预设的第一光源模式下拍摄电路板的图像,从而获取电路的第一图像。在本申请实施例中,所述第一光源模式包括但不限于白平衡光源模式。
在本申请实施例中,白平衡光源可以将照片中的颜色还原至真实场景所呈现的色彩,通过拍摄白平衡光源模式下的电路板图像,能够更好的还原电路板本身的真实色彩,以便于后续分析计算电路板的颜色。
请再参阅图5,图5是本申请实施例提供的一种将第二标记点移动到检测区域的流程示意图;
如图5所示,步骤S501:判断第一图像中是否包括第二标记点,包括:
具体的,摄像单元从视场角坐标系原点开始进行逐行移动扫拍,每拍摄一次就检测第一图像中是否存在第二标记点。
步骤S502:确定标记点的定位方式为第二定位方式;
具体的,如果第一图像中不存在第二标记点,则确定标记点的定位方式为第二定位方式,继续移动摄像单元进行逐行移动扫拍。
步骤S503:控制摄像单元向靠近第二标记点的位置进行拍摄;
具体的,第二定位方式用于响应于对操作界面的第二操作,第二定位方式用于响应于对操作界面的第二操作,在第二定位方式下,如果第一图像中存在第二标记点,由用户发出第二操作指令,用于控制摄像单元向靠近第二标记点的方向进行拍摄,直至第一图像中包括第二标记点,执行步骤S504。
步骤S504:确定第二标记点的定位方式为第一定位方式;
具体的,如果该拍摄图像中存在第二标记点,就确定标记点的定位方式为第一定位方式,第一定位方式用于响应于对操作界面的第一操作,用于将第二标记点移动到检测区域。
请再参阅图6,图6是本申请实施例提供的一种将第二标记点移动至检测区域的前后对比示意图;
在本申请实施例中,第二标记点移动之前的图像如左图所示,通过确定标记点的定位方式为第一定位方式,将第二标记点移动到检测区域内如右图所示。
请再参阅图7,图7是本申请实施例提供的一种确定第二光源模式的流程示意图;
如图7所示,确定第二光源模式,包括:
步骤S701:计算电路板的颜色;
在一些实施例中,电路板对应若干个光源,在获取电路板的第一图像之后,方法还包括:
计算电路板的颜色,根据电路板的颜色,调整若干个光源的参数,以确定第二光源模式,调整若干个光源的参数包括调整顶部光源的颜色、顶部光源的亮度、底部光源的颜色、底部光源的亮度中的至少一个。
请再参阅图8,图8是图7步骤S701的细化流程示意图;
如图8所示,该步骤S701:计算电路板的颜色,包括:
步骤S7011:获取第一图像中的所有像素点的像素值;
具体的,由锡膏检查设备遍历第一图像中的所有像素点,获取所有像素点的像素值的RGB值。
步骤S7012:对所有像素点的像素值求平均,得到平均像素值;
具体的,将所有像素点的RGB值累加,得到全部像素点的总和,再用该全部像素点的总和除以第一图像中所有像素点的个数,最终得到第一图像的平均像素值。
步骤S7013:将平均像素值对应的颜色确定为电路板的颜色。
具体的,根据计算出的第一图像的平均像素值,将平均像素值对应的颜色确定为电路板的颜色。
步骤S702:调整若干个光源的参数;
具体的,根据电路板的颜色,调整若干个光源的参数,其中,光源参数包括:光源的亮度、颜色组合、位置、角度。例如,若自动计算得到电路板的颜色是红色,那么光源的颜色组合以及亮度就按红色的配置打光。
在一些实施例中,光源包括顶部红光、底部红光、底部绿光和底部蓝光,通过对这4种光源进行排列组合,能够得到14种打光方案。
步骤S703:确定第二光源模式;
具体的,通过调整若干个光源的亮度、颜色组合、位置、角度,由第一光源模式转变为第二光源模式,确定第二光源模式。
在一些实施例中,可以根据不同的电路板颜色,预先设定光源的颜色组合以及亮度方案。
通过计算电路板的颜色,调整若干个光源的参数,从而确定第二光源模式,能够有效地解决由于电路板表面容易发生漫反射和镜面反射所导致的图像拍摄效果不理想的问题,以便于在后续进行偏移校正操作时能够更清晰的识别出标记点。
请再参阅图9,图9是本申请实施例提供的一种确定第三光源模式的流程示意图;
如图9所示,确定第三光源模式,包括:
步骤S901:调整若干个光源的参数;
具体的,在第二光源模式的基础上,若锡膏检查设备仍不能识别出标记点,可以根据需要采用第三光源模式,调整若干个光源的参数,即,动态调整若干个光源的亮度、颜色组合、位置、角度。
步骤S902:确定第三光源模式。
具体的,由于在第二光源模式下不同颜色的电路板的都设置为预设的光源方案,但在实际拍摄过程中可能仍然存在拍摄图像不清晰的问题,针对于该问题,锡膏检查设备能够将光源模式设置为第三光源模式,在第三光源模式下,根据拍摄需要可动态调整若干个光源的参数,光源的参数包括光源的亮度、颜色组合、位置、角度。
通过采用第一光源模式拍摄电路板的第一图像,通过自动计算电路板的平均像素值,获取电路板的颜色,然后采用第二光源模式能够根据电路板本身的颜色执行相应的光源方案,最后还可以采用第三光源模式动态调节光源的亮度、颜色组合、位置、角度,本申请能够避免传统拍摄电路板采用单一光源、固定光源位置的拍摄方式导致不同颜色的电路板拍摄效果不佳的问题,提高电路板偏移校正的准确率。
步骤S306:对第一图像进行二值化操作,确定第二图像;
请再参阅图10,图10是图3中的步骤S306的细化流程示意图;
如图10所示,该步骤S306:对第一图像进行二值化操作,确定第二图像,包括:
步骤S3061:获取阈值设置指令;
具体的,锡膏检查设备获取用户设置二值化阈值的指令。
步骤S3062:设置二值化阈值;
具体的,锡膏检查设备响应用户设置二值化阈值的指令,并设置二值化阈值,其中,二值化阈值介于0到255之间。
步骤S3063:对第一图像进行二值化,确定第二图像;
具体的,设置一个二值化最大值,其中,二值化最大值选择第一二值化参数(THRESH_B I NARY)和第二二值化参数(THRESH_BI NARY_I NV)两种二值化参数,第一二值化参数是将像素的灰度值与二值化阈值进行比较,如果灰度值大于阈值就将灰度值改为二值化最大值,否则将灰度值改为0,而第二二值化参数正好相反,如果灰度值大于二值化阈值就将灰度值改为0,否则将灰度值改为最大二值化值,从而实现二值化,将整个图像呈现出明显的只有黑和白的视觉效果,确定第二图像。
本申请通过对第一图像进行二值化,将整个图像呈现出明显的只有黑和白的视觉效果,以便后续在电路板的偏移校正操作中能够更清晰的识别出标记点。
步骤S307:根据第二图像,确定检测区域对应的检测区域图像;
具体的,得到经过二值化的第二图像之后,控制卡发出指令驱动步进电机,由步进电机驱动滑轨,将摄像单元移动到第二图像中的检测区域进行拍摄,获取检测区域对应的检测区域图像。
请再参阅图11,图11是本申请实施例提供的在不同光源下检测区域图像拍摄效果对比示意图;
可以看出,如图11的A部分所示,在顶部红光的光源下,检测区域图像中的第二标记点虽然看得出形状但是不够清晰,标记点与电路板之间的区别不够明显;如图11的B部分所示,在底部绿光的光源下,检测区域图像中的第二标记点与电路板之间的黑白颜色差异不大,区别不明显,很难找到标记点的具体位置;如图11的C部分所示,在底部蓝光的光源下,检测区域图像中的第二标记点与电路板之间的黑白颜色差异很小,区别不明显,很难找到标记点的具体位置;如图11的D部分,在红绿蓝三色的组合光源下,能够清晰地识别出检测区域图像中的第二标记点,在此光源下第二标记点与电路板之间的区别最为明显。
步骤S308:对检测区域图像进行图像识别,若识别到预设标记点,则记录摄像单元对应的第二视场角坐标;
请再参阅图12,图12是图3中的步骤S308的细化流程示意图;
如图12所示,该步骤S308:对检测区域图像进行图像识别,包括:
步骤S3081:确定检测区域图像中的标记点的形状识别相似度;
具体的,根据标记点的形状特征,锡膏检查设备利用Opencv图像识别算法识别标记点的形状,该算法采用轮廓近似的方式识别形状,轮廓近似是基于曲线可以由一系列短线段近似的假设,计算得到该形状轮廓的周长,从而获取标记点的形状轮廓特征。根据标记点的形状轮廓特征,不同形状轮廓特征预设有不同的形状识别相似度,由用户发出指令,设置标记点的形状识别相似度,例如,该标记点的形状轮廓特征为圆形,则采用圆度来衡量形状识别相似度。
请再参阅图13,图13是本申请实施例提供的在不同二值化阈值下标记点预览效果对比示意图;
可以看出,在图13a中,当设置二值化阈值为38,形状识别相似度为30时,第二标记的形状完全无法识别,识别效果不好。
在图13b中,当设置二值化阈值为68,形状识别相似度为30时,锡膏检查设备识别到两个椭圆形点,但是仍然未准确的识别到第二标记点。
在图13c中,当设置二值化阈值为85,形状识别相似度为30时,锡膏检查设备成功识别到第二标记点,识别效果较好。
步骤S3082:确定检测区域图像中是否存在预设标记点;
具体的,设置形状识别相似度之后,对检测区域图像进行识别,判断检测区域图像中是否存在预设标记点,若识别到检测区域图像中存在预设标记点,则记录此时摄像单元所在位置对应的第二视场角坐标;若识别到检测区域图像中不存在预设标记点,则重新进入第三光源模式,调整调整若干个光源的参数,然后重复步骤S306、步骤S307、步骤S308,直至能够识别到检测区域图像中存在预设标记点。
步骤S309:根据第一视场角坐标和第二视场角坐标,确定预设标记点的移动偏移量;
具体的,根据摄像单元的第一视场角坐标和第二视场角坐标,自动计算第一视场角坐标和第二视场角坐标之间的移动偏移量,假设第一视场角坐标为(x1,y1),第二视场角坐标为(x2,y2),则移动偏移量的计算公式为(offset_x,offset_y)=(x2-x1,y2-y1)。
步骤S310:根据预设标记点的移动偏移量,校正电路板的整板坐标;
请再参阅图14,图14是图3中的步骤S310的细化流程示意图;
如图14所示,步骤S310:根据预设标记点的移动偏移量,校正电路板的整版坐标,包括:
步骤S3101:校正所述电路板上的多个标记点的坐标,和/或,校正所述视场角区域对应的视场角坐标;
具体的,电路板的整板坐标包括电路板上所有标记点的坐标以及所有视场角坐标,假设又一标记点的坐标为(x3,y3),则该标记点校正后的坐标为(x3’,y3’),具体计算公式如下:
x3’=x3+offset_x,
y3’=y3+offset_y;
在本申请实施例中,通过计算第一视场角坐标和第二视场角坐标的移动偏移量,将该移动偏移量校正到电路板上所有标记点的坐标以及所有视场角坐标,能够有效地节省传统人工对位的时间,并且不用拍摄整个电路板图像也能够实现的电路板偏移校正,提高了电路板偏移校正的效率。
请参阅图15,图15是本申请实施例提供的一种电路板偏移校正方法的整体流程示意图;
步骤S1501:新建锡膏检查程序;
步骤S1502:导入标准文件;
步骤S1503:确定一个预设标记点;
步骤S1504:判断是否已确定预设标记点;
具体的,在进行确定视场角区域之前,锡膏检查设备会自动检测是否已选择一个预设标记点作为后续校正的标记点,若锡膏检查设备检测到已确定预设标记点,则自动进入确定视场角区域页面,若设备检测到未确定预设标记点,则返回到步骤S1503,确定一个预设标记点后再进行检测。
步骤S1505:确定视场角区域;
步骤S1506:判断是否已确定视场角区域;
具体的,在判断轨道号,将电路板放入对应轨道之前,锡膏检查设备会自动检测是否已确定视场角区域,若锡膏检查设备检测到已确定视场角区域,则自动进入判断轨道号页面;若锡膏检查设备检测到未确定视场角区域,则返回到步骤S1505,确定视场角区域后再进行检测;
步骤S1507:判断是否为双轨机型;
具体的,将电路板放置于轨道上之前,为了兼容单轨机型和双轨机型,锡膏检查设备会自动判断设备轨道号,若为单轨机型,则直接将电路板放置于轨道上。
步骤S1508:将电路板放置于轨道上;
步骤S1509:选择轨道号;
具体的,若为双轨机型,锡膏检测设备会提示用户选择轨道号,由用户发出指令,选择一个轨道号,然后将电路板放置于该轨道号对应的轨道上。
步骤S1510:将摄像单元移动到预设标记点对应的视场角区域;
步骤S1511:获取电路板的第一图像;
步骤S1512:判断第一图像中是否包含预设标记点;
步骤S1513:记录摄像单元对应的第一视场角坐标;
步骤S1514:勾选不同通道的光源和亮度值;
步骤S1515:设置二值化阈值,确定第二图像;
步骤S1516:判断是否能识别到预设标记点;
步骤S1517:记录摄像单元对应的第二视场角坐标,并计算移动偏移量;
步骤S1518:保存标记点的移动偏移量、光源参数、二值化阈值参数、形状相似度;
具体的,当根据第一视场角坐标和第二视场角坐标计算出移动偏移量之后,锡膏检查设备除了会自动保存移动偏移量,还会自动保存整个电路板偏移校正流程中最终确定的标记点的光源参数、二值化阈值参数、形状相似度参数,其中,光源参数包括:光源的亮度、颜色组合、位置、角度,以便于后续该标准文件应用在其它电路板的偏移校正时,可以直接选用所述参数作为参考。
步骤S1519:校正电路板的整板坐标;
其中,步骤S1501、S1502、S1503、S1505、S1508、S1510、S1511、S1512、S1513、S1514、S1515、S1516、S1517、S1519在上述实施例中已进行详细描述,为避免重复,在此不再进行过多赘述,具体请参阅上述实施例中的相关内容。
请再参阅图16,图16是本申请实施例提供的一种锡膏检查设备的结构示意图;
如图16所示,该锡膏检查设备160包括一个或多个处理器161以及存储器162。其中,图16中以一个处理器161为例。
处理器161和存储器162可以通过总线或者其他方式连接,图16中以通过总线连接为例。
处理器161,用于提供计算和控制能力,以控制锡膏检查设备160执行相应任务,例如,控制锡膏检查设备160执行上述任一方法实施例中的电路板的偏移校正方法,包括:确定摄像单元的若干个视场角区域,将电路板对应的标准文件中的每一预设标记点划分到一个视场角区域;确定一个预设标记点,根据预设标记点,确定预设标记点对应的视场角区域;将摄像单元移动到预设标记点对应的视场角区域,并记录摄像单元对应的第一视场角坐标;获取电路板的第一图像以及预设标记点的检测区域;对第一图像进行二值化操作,确定第二图像;根据第二图像,确定检测区域对应的检测区域图像;对检测区域图像进行图像识别,若识别到预设标记点,则记录摄像单元对应的第二视场角坐标;根据第一视场角坐标和第二视场角坐标,确定预设标记点的移动偏移量;根据预设标记点的移动偏移量,校正电路板的整板坐标。
通过第一视场角坐标和第二视场角坐标,确定预设标记点的移动偏移量,以校正电路板的整板坐标,从而取消手动对位,无需拍摄整版图像,使得标准文件的位置与电路板的位置匹配,能够提高检测程序的编程效率。
处理器161可以是通用处理器,包括中央处理器(Centra l Process i ng Unit,CPU)、网络处理器(Network Processor,NP)、硬件芯片或者其任意组合;还可以是数字信号处理器(Digita l Signa l Process i ng,DSP)、专用集成电路(App l icat ion Specific I ntegrated Ci rcuit,ASI C)、可编程逻辑器件(programmab l e l ogic devi ce,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(comp l ex programmab l e l ogicdevice,CPLD),现场可编程逻辑门阵列(fie l d-programmab l e gate array,FPGA),通用阵列逻辑(gener ic array l ogic,GAL)或其任意组合。
存储器162作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本申请实施例中的电路板的偏移校正方法对应的程序指令/模块。处理器161通过运行存储在存储器162中的非暂态软件程序、指令以及模块,可以实现下述任一方法实施例中的电路板的偏移校正方法。具体地,存储器162可以包括易失性存储器(vo l at i l e memory,VM),例如随机存取存储器(random access memory,RAM);存储器162也可以包括非易失性存储器(non-vo l at i l e memory,NVM),例如只读存储器(read-on l y memory,ROM),快闪存储器(f l ash memory),硬盘(hard d i sk dri ve,HDD)或固态硬盘(so l i d-state dr i ve,SSD)或其他非暂态固态存储器件;存储器162还可以包括上述种类的存储器的组合。
存储器162可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器162可选包括相对于处理器161远程设置的存储器,这些远程存储器可以通过网络连接至处理器161。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器162中,当被一个或者多个处理器161执行时,执行上述任意方法实施例中的电路板的偏移校正方法,例如,执行以上描述的图3所示的各个步骤。
在本申请实施例中,锡膏检查设备160还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,锡膏检查设备160还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述实施例中的电路板的偏移校正方法。例如,该计算机可读存储介质可以是只读存储器(Read-On l y Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Di sc Read-On l y Memory,CDROM)、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括一条或多条程序代码,该程序代码存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,以完成上述实施例中提供的电路板的偏移校正方法的方法步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-On l yMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。