测试要求-针脚测量
示例的任务是确定芯片上引脚的位置。由于可以从任意位置和角度查看芯片,因此重点区域必须排列整齐,因此示例使用模式匹配形状模型来查找芯片上的印刷线迹以达到排列的目的。示例介绍了如何利用检测对象的位置和旋转来构建检测任务的搜索空间。从发现的位置和旋转构建两个测量矩形来测量导线之间的间距。
算法分析
为了通过形状匹配找到芯片上印刷的字符,首先建立一个搜索区域,用于创建模板。
gen_rectangle2 (矩形 1、行 + 矩形 1 行、列 + 矩形 1 列、矩形 Phi、矩形长度 1、矩形长度 2)
gen_rectangle2 (矩形2、行+矩形2行、列+矩形2列、矩形Phi、矩形长度1、矩形长度2)
Reduce_domain(图像,矩形,ImageReduced)
create_shape_model(ImageReduced,4,0,rad(360),rad(1),'none','use_polarity',30,10,ModelID)
找到印刷痕迹后,将焦点区域位置的确定转化为印刷痕迹的确定,也就是IC芯片区域的确定,采用模板法定位IC芯片,找到模板后,通过仿射变换显示定位模板。
find_shape_model(ImageCheck,ModelID,0,rad(360),0.7,1,0.5,
'最小二乘', 4, 0.9, RowCheck, ColumnCheck, AngleCheck, Score)
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_translate (HomMat2DIdentity、RowCheck、ColumnCheck、HomMat2DTranslate)
hom_mat2d_rotate(HomMat2DTranslate、AngleCheck、RowCheck、ColumnCheck、HomMat2DRotate)
affine_trans_pixel(HomMat2DRotate、Rect1Row、Rect1Col、Rect1RowCheck、Rect1ColCheck)
最后根据定位,创建测量工具,开始测量IC引脚长度,并显示结果。
gen_measure_rectangle2 (Rect1RowCheck、Rect1ColCheck、AngleCheck、RectLength1、RectLength2、宽度、高度、'双线性'、MeasureHandle1)
gen_measure_rectangle2 (Rect2RowCheck、Rect2ColCheck、AngleCheck、RectLength1、RectLength2、宽度、高度、'双线性'、MeasureHandle2)
measure_pairs (ImageCheck、MeasureHandle1、2、90、'positive'、'all'、RowEdgeFirst1、ColumnEdgeFirst1、AmplitudeFirst1、RowEdgeSecond1、ColumnEdgeSecond1、AmplitudeSecond1、IntraDistance1、InterDistance1)
measure_pairs (ImageCheck、MeasureHandle2、2、90、'positive'、'all'、RowEdgeFirst2、ColumnEdgeFirst2、AmplitudeFirst2、RowEdgeSecond2、ColumnEdgeSecond2、AmplitudeSecond2、IntraDistance2、InterDistance2)
检测需求-OCR识别
OCR(光学字符识别)是一种通过光学输入将文本转换成图像信息,再利用文本识别技术将图像信息转换成可用的计算机输入技术。实例的任务是提取表格中感兴趣的特征并识别字符。
算法分析
为了解决印刷数字的问题,由于字符的颜色和表格的背景不同,可以基于颜色特征方法进行图像分析。颜色分类是一种简单的方法,可以节省处理时间。与更复杂的颜色处理方法相比,示例方法只需要结合亮度考虑红色和绿色通道之间的差异。
阈值(绿色,ForegroundRaw,0,220)
子图像(红色减少,绿色减少,ImageSub,2,128)
平均图像(ImageSub,ImageMean,3,3)
bin_threshold(图像平均值,Cluster1)
差异(前景、簇 1、簇 2)
簇:= [簇 1,簇 2]
opening_circle(集群,开口ocr软件可以识别的对象是,2.5)
图像分割后,选定的像素被聚合起来,并使用形态学方法进行后处理。
关闭矩形1(NumberRegion,NumberCand,1,20)
差异(图像,NumberCand,NoNumbers)
连接(区域数量,零件数量)
强度(零件数量、绿色、平均强度、_)
expand_gray_ref (NumberParts, Green, NoNumbers, Numbers, 20, '图像',
平均强度, 48)
union1(数字,数字区域)
连接(数字区域,数字)
最后,为了完成字符的读取操作,由于图像在色彩上存在变化,因此没有利用背景的灰度值,只利用字符的区域特征作为OCR识别的对象。
paint_region(无数字ocr软件可以识别的对象是,绿色,ImageOCRRaw,255,'填充')
paint_region(NumberRegion,ImageOCRRaw,ImageOCR,0,'填充')
do_ocr_multi_class_mlp(FinalNumbers,ImageOCR,OCRHandle,RecChar,
信心)