[贴装专题] 基于halcon的拟合矩形边缘验证贴装精度

简介: [贴装专题] 基于halcon的拟合矩形边缘验证贴装精度

📢前言

该方法是基于halcon平台,利用拟合矩形边缘求其中心的方法来计算出基板中心和Lid中心的像素偏差,在读取相机的标定文件,即像素当量,来最终计算出两矩形中心的实际贴装偏差。


🐵仿真代码

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
offsetXs:=[]
offsetYs:=[]
offsetAngles:=[]
list_files ('../测试图片', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)
for Index := 0 to |ImageFiles| - 1 by 1
    read_image (Image, ImageFiles[Index])
    rgb1_to_gray (Image, Image)
    get_image_size (Image, Width, Height)
    dev_display (Image)
    dev_set_draw ('margin')
    dev_set_color ('red')
    draw_region (Region, WindowHandle)
    fitRectangle (Image, Region, outRegion, outContour, 25, 20, 30, 9, CenterRowlid, CenterCollid, RectWidth, RectHeight, CenterAnglelid)
    gen_cross_contour_xld (Cross, CenterRowlid, CenterCollid, 26, 0.785398)
    dev_display (Cross)
    dev_set_color ('green')
    draw_region (Region1, WindowHandle)
    fitRectangle (Image, Region1, outRegion1, outContour1, 25, 25, 10, 9, CenterRowsub, CenterColsub, RectWidth1, RectHeight1, CenterAnglesub)
    gen_cross_contour_xld (Cross1, CenterRowsub, CenterColsub, 26, 0.785398)  
    dev_display (Cross1)
    offsetcol:=CenterColsub-CenterCollid
    offsetrow:=CenterRowsub-CenterRowlid  
    *读取相机标定文件,计算实际物理偏差
    read_tuple ('../数据保存/paramMatrix.tup', Tuple)
    affine_trans_point_2d (Tuple, 1,1, offsetX1, offsetY1)
    affine_trans_point_2d (Tuple, offsetcol,offsetrow, offsetX, offsetY)   
    offsetAngle:=(CenterAnglesub-CenterAnglelid)/3.1415926*180  
    offsetXs:=[offsetX,offsetXs]
    offsetYs:=[offsetY,offsetYs]
    offsetAngles:=[offsetAngles,offsetAngle]
endfor

注:代码中的拟合矩形求中心算子fitRectangle为封装的函数,由于代码较多,需要的自行下载(包含测试图片,测试数据、标定文件和仿真代码):基于halcon算法的贴装精度测试

其算法原理和我的另一篇文章中介绍的类似:[Halcon&拟合] 直线、矩形和圆边缘轮廓拟合提取,后者介绍的更详细一些。


🐦效果验证

 


戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。
目录
相关文章
|
5月前
|
算法 Python
哈里斯角检测
【6月更文挑战第5天】哈里斯角检测。
53 3
|
5月前
|
资源调度 算法 计算机视觉
图像处理之积分图应用二(快速边缘保留滤波算法)
图像处理之积分图应用二(快速边缘保留滤波算法)
36 0
|
6月前
|
文件存储
AvaSpec-ULS2048光谱仪测定地物高光谱曲线的方法
AvaSpec-ULS2048光谱仪测定地物高光谱曲线的方法
|
6月前
|
文字识别 Python
Halcon 学习笔记五:几何定位+仿射变换+测量
Halcon 学习笔记五:几何定位+仿射变换+测量
609 0
|
6月前
[贴装专题] 基于halcon的最小二乘法计算吸嘴或机械轴旋转中心
[贴装专题] 基于halcon的最小二乘法计算吸嘴或机械轴旋转中心
186 0
|
6月前
[Halcon&测量] 两线直线的角度测量
[Halcon&测量] 两线直线的角度测量
150 0
|
机器学习/深度学习 传感器 算法
【图像误差测量】测量 2 张图像之间的差异,并测量图像质量(Matlab代码实现)
【图像误差测量】测量 2 张图像之间的差异,并测量图像质量(Matlab代码实现)
|
机器学习/深度学习 传感器 算法
球体同胚表面准各向同性采样附matlab代码
球体同胚表面准各向同性采样附matlab代码
|
机器学习/深度学习 传感器 算法
垂直腔表面发射激光器极化噪声的建模与分析论文复现
垂直腔表面发射激光器极化噪声的建模与分析论文复现
遥感原理与应用:常用波段及其特性、太阳辐射衰减原因、大气窗口及其分布是什么?
遥感原理与应用:常用波段及其特性、太阳辐射衰减原因、大气窗口及其分布是什么?
419 0
遥感原理与应用:常用波段及其特性、太阳辐射衰减原因、大气窗口及其分布是什么?