收藏 分销(赏)

Halcon标定文件的生成及标定板规格.doc

上传人:a199****6536 文档编号:3562761 上传时间:2024-07-09 格式:DOC 页数:14 大小:64.50KB 下载积分:8 金币
下载 相关 举报
Halcon标定文件的生成及标定板规格.doc_第1页
第1页 / 共14页
Halcon标定文件的生成及标定板规格.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
Halcon标定文件的生成   Halcon标定文件的生成     图一     Halcon标定文件的生成,需要有以下几个步骤: 1.创建一个标定数据模板,由create_calib_data算来完成。 2.指定相机的类型,初始化相机内部参数,由set_calib_data_cam_param算子来完成。 3.指定标定板的描述文件,由set_calib_data_calib_object算子完成。 4.收集观察数据,有算子set_calib_data_observ_points完成。也就是收集标定板上圆点的中心坐标,跟各个校正板的位置姿态。 5.配置校正过程。由算子set_calib_data完成。 6.将数据整合进行标定计算。calibrate_cameras 7.获得标定参数。get_calib_data 8.记录标定参数,write_cam_par StartCamPar := [0.016,   0,    0.0000074,    0.0000074,   326,   247,    652,    494] 解释一下这个数组的意思。 面阵相机有14或18个参数(根据想相机的畸变模式),对于线阵相机有17个参数。这些参数可以分开为内部相机参数、外部相机参数。 面阵相机(division模式): Focus(焦距):远焦镜头镜头焦距的长度 Kappa:扭曲系数 Sx,Sy:两像素间距 Cx,Cy:中心点坐标 Whith,Height:图像的宽高 面阵相机(polynomia模式): Focus(焦距):远焦镜头镜头焦距的长度 K1, K2, K3, P1,P2:扭曲系数 Sx,Sy:两像素间距 Cx,Cy:中心点坐标 Whith,Height:图像的宽高 线阵相机不做具体介绍 Halcon标定板规格 2011-12-23 12:56 68人阅读 评论(1) 收藏 举报 图一:  30*30 规格的标定板的规格  黑色圆点行数:   7  黑色圆点列数:   7  外边框长度:     30mm*30mm  内边框长度:     28.125mm*28.125mm   即:黑色边框线宽为一个圆点半径(0.9375)  黑色圆点半径:   0.9375mm  圆点中心间距:   3.75mm  裁剪宽度:       30.75mm*30.75mm     即:由黑色边框向外延伸0.375mm  边角:           由黑色外边框向内缩进一个中心边距的长度 40*40 规格的标定板的规格  黑色圆点行数:   7  黑色圆点列数:   7  外边框长度:     40mm*40mm  内边框长度:     37.5mm*37.5mm   即:黑色边框线宽为一个圆点半径(0.125)  黑色圆点半径:   0.125mm  圆点中心间距:   5mm  裁剪宽度:       21mm*21mm     即:由黑色边框向外延伸0.5mm  边角:           由黑色外边框向内缩进一个中心边距的长度 50*50 规格的标定板的规格  黑色圆点行数:   7  黑色圆点列数:   7  外边框长度:     50mm*50mm  内边框长度:     46.875mm*46.875mm   即:黑色边框线宽为一个圆点半径(1.5625)  黑色圆点半径:   1.5625mm  圆点中心间距:   6.25mm  裁剪宽度:       51.25mm*51.25mm     即:由黑色边框向外延伸0.625mm  边角:           由黑色外边框向内缩进一个中心边距的长度 60*60 规格的标定板的规格  黑色圆点行数:   7  黑色圆点列数:   7  外边框长度:     60mm*60mm  内边框长度:     56.25mm*56.25mm   即:黑色边框线宽为一个圆点半径(1.875)  黑色圆点半径:   1.875mm  圆点中心间距:   7.5mm  裁剪宽度:       61.5mm*61.5mm     即:由黑色边框向外延伸0.75mm  边角:           由黑色外边框向内缩进一个中心边距的长度 Halcon如何制作标定板 分类: Halcon 2011-12-23 12:51 151人阅读 评论(2) 收藏 举报   图1   上图即为我自行制作的标定板的图样。 下面我具体介绍一下,如何制作halcon的标准标定板 方法一:用halcon软件自动生成的.ps文件来制作标定板。     这个也是最简单有效的方法。     打开halcon 的HDevelop软件,调用算子: gen_caltab( : : XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile : ) XNum                  每行黑色标志圆点的数量。 YNum                  每列黑色标志圆点的数量。 MarkDist                    两个就近黑色圆点中心之间的距离。 DiameterRatio            黑色圆点半径与圆点中心距离的比值。 CalTabDescrFile 标定板描述文件的文件路径(.descr)。 CalTabPSFile             标定板图像文件的文件路径(.ps),如图1 然后复位(F2),点击运行(F5)通过软件Gsview打开,按1:1比例打印,OK! 备注一个30*30的标准标定板的halcon源代码。 gen_caltab(7,7,0.00375,0.5,'F:/halcon程序/gencaltab/30_30.descr','F:/halcon程序/gencaltab/40_40.ps') 规格的标定板的规格     黑色圆点行数:   7     黑色圆点列数:   7     外边框长度:     30mm*30mm     内边框长度:     28.125mm*28.125mm   即:黑色边框线宽为一个圆点半径(0.9375)     黑色圆点半径:   0.9375mm     圆点中心间距:   3.75mm     裁剪宽度:       30.75mm*30.75mm     即:由黑色边框向外延伸0.375mm     边角:           由黑色外边框向内缩进一个中心边距的长度 方法二:用halcon软件自动生成的.descr文件来制作标定板。 打开halcon 的HDevelop软件,调用算子: gen_caltab生成一个.descr的文件,用写字板打开(注意要用写字板,记事本打开会有一些数据不可见,一般windowsXP在C:\Program Files\Windows NT\Accessories就有写字板软件wordpad.exe)打开后的文件基本如下:        以40*40为例: # Plate Description Version 2 # HALCON Version 10.0 --  Mon Dec 19 11:08:07 2011 # Description of the standard calibration plate   标准标定板的描述 # used for the CCD camera calibration in HALCON   # (generated by gen_caltab)                       (由)gen_caltab算子生成 # #   # 7 rows x 7 columns           7行*7列 # Width, height of calibration plate [meter]: 0.04, 0.04 标定板的宽和高:0.04米,0.04米 # Distance between mark centers [meter]: 0.005 标志圆点中心间距:0.005米 # Number of marks in y-dimension (rows) r 7 Y方向标志圆点的数量。 # Number of marks in x-dimension (columns) c 7 X方向标志圆点的数量。 #   offset of coordinate system in z-dimension [meter] (optional): z 0 Z坐标偏移 # Rectangular border (rim and black frame) of calibration plate 标定板的矩形边框(边缘和黑色边框) #   rim of the calibration plate (min x, max y, max x, min y) [meter]: o -0.0205 0.0205 0.0205 -0.0205 标定板的剪切边缘【-0.0205 0.0205 0.0205 -0.0205】(以标定板中心为坐标圆点) #   outer border of the black frame (min x, max y, max x, min y) [meter]: i -0.02 0.02 0.02 -0.02 黑色边框的外边缘【-0.02 0.02 0.02 -0.02】 #   triangular corner mark given by two corner points (x,y, x,y) [meter] #   (optional): t -0.02 -0.015 -0.015 -0.02 三角形标志【-0.02 -0.015 -0.015 -0.02】 #   width of the black frame [meter]: w 0.00125 黑色边框线的宽度:0.00125米。 # calibration marks:  x y radius [meter] 一下是各个矫正板黑色圆点在标定板上的坐标(共7*7个) # calibration marks at y = -0.015 m -0.015 -0.015 0.00125 -0.01 -0.015 0.00125 -0.005 -0.015 0.00125 0 -0.015 0.00125 0.005 -0.015 0.00125 0.01 -0.015 0.00125 0.015 -0.015 0.00125   # calibration marks at y = -0.01 m -0.015 -0.01 0.00125 -0.01 -0.01 0.00125 -0.005 -0.01 0.00125 0 -0.01 0.00125 0.005 -0.01 0.00125 0.01 -0.01 0.00125 0.015 -0.01 0.00125   # calibration marks at y = -0.005 m -0.015 -0.005 0.00125 -0.01 -0.005 0.00125 -0.005 -0.005 0.00125 0 -0.005 0.00125 0.005 -0.005 0.00125 0.01 -0.005 0.00125 0.015 -0.005 0.00125   # calibration marks at y = 0 m -0.015 0 0.00125 -0.01 0 0.00125 -0.005 0 0.00125 0 0 0.00125 0.005 0 0.00125 0.01 0 0.00125 0.015 0 0.00125   # calibration marks at y = 0.005 m -0.015 0.005 0.00125 -0.01 0.005 0.00125 -0.005 0.005 0.00125 0 0.005 0.00125 0.005 0.005 0.00125 0.01 0.005 0.00125 0.015 0.005 0.00125   # calibration marks at y = 0.01 m -0.015 0.01 0.00125 -0.01 0.01 0.00125 -0.005 0.01 0.00125 0 0.01 0.00125 0.005 0.01 0.00125 0.01 0.01 0.00125 0.015 0.01 0.00125   # calibration marks at y = 0.015 m -0.015 0.015 0.00125 -0.01 0.015 0.00125 -0.005 0.015 0.00125 0 0.015 0.00125 0.005 0.015 0.00125 0.01 0.015 0.00125 0.015 0.015 0.00125   标定板的材料也有一定的要求,请参看《如何进行图形校正》。 基于HALCON的模板匹配方法总结 2012-02-09 10:17 27人阅读 评论(0) 收藏 举报  基于HALCON的模板匹配方法总结           很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇《基于HDevelop的形状匹配算法参数的优化研究》文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载。 德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主要学习和研究了其中的形状匹配的算法和流程。HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分 别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模 板的相同过程。这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于 形状匹配的视频对象跟踪这些研究,从中取得较好的效果,简化了用其他工具,比如VC++来开发的过程。在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。 1.       Shape-Based matching的基本流程 HALCON提 供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人 体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。基本流程是这样的,如下所示: ⑴ 首先确定出ROI的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用area_center()找到这个矩形的中心; ⑵ 然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进行一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等; ⑶ 接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。对特别大的模板,用Optimization来减少模板点的数量是很有用的;MinConstrast将模板从图像的噪声中分离出来,如果灰度值的波动范围是10,则MinConstrast应当设为10;Metric参数决定模板识别的条件,如果设为’use_polarity’,则图像中的物体和模板必须有相同的对比度;创建好模板后,这时还需要监视模板,用inspect_shape_model()来完成,它检查参数的适用性,还能帮助找到合适的参数;另外,还需要获得这个模板的轮廓,用于后面的匹配,get_shape_model_contours()则会很容易的帮我们找到模板的轮廓; ⑷ 创建好模板后,就可以打开另一幅图像,来进行模板匹配了。这个过程也就是在新图像中寻找与模板匹配的图像部分,这部分的工作就由函数find_shape_model()来承担了,它也拥有许多的参数,这些参数都影响着寻找模板的速度和精度。这个的功能就是在一幅图中找出最佳匹配的模板,返回一个模板实例的长、宽和旋转角度。其中参数SubPixel决定是否精确到亚像素级,设为’interpolation’,则会精确到,这个模式不会占用太多时间,若需要更精确,则可设为’least_square’,’lease_square_high’,但这样会增加额外的时间,因此,这需要在时间和精度上作个折中,需要和实际联系起来。比较重要的两个参数是MinSocre和Greediness,前一个用来分析模板的旋转对称和它们之间的相似度,值越大,则越相似,后一个是搜索贪婪度,这个值在很大程度上影响着搜索速度,若为0,则为启发式搜索,很耗时,若为1,则为不安全搜索,但最快。在大多数情况下,在能够匹配的情况下,尽可能的增大其值。 ⑸ 找到之后,还需要对其进行转化,使之能够显示,这两个函数vector_angle_to_rigid()和affine_trans_contour_xld()在这里就起这个作用。前一个是从一个点和角度计算一个刚体仿射变换,这个函数从匹配函数的结果中对构造一个刚体仿射变换很有用,把参考图像变为当前图像。 其详细的流程图和中间参数,如下图所示:(无法上传) 2.       基于形状匹配的参数关系与优化      在HALCON的说明资料里讲到了这些参数的作用以及关系,在上面提到的文章中也作了介绍,这里主要是重复说明一下这些参数的作用,再强调一下它们影响匹配速度的程度; 在为了提高速度而设置参数之前,有必要找出那些在所有测试图像中匹配成功的设置,这时需考虑以下情况: ①     必须保证物体在图像边缘处截断,也就是保证轮廓的清晰,这些可以通过形态学的一些方法来处理; ②     如果Greediness值设的太高,就找不到其中一些可见物体,这时最后将其设为0来执行完全搜索; ③     物体是否有封闭区域,如果要求物体在任何状态下都能被识别,则应减小MinScore值; ④     判断在金字塔最高级上的匹配是否失败,可以通过find_shape_model()减小NumLevels值来测试; ⑤     物体是否具有较低的对比度,如果要求物体在任何状态下都能被识别,则应减小MinContrast值; ⑥     判断是否全局地或者局部地转化对比度极性,如果需要在任何状态下都能被识别,则应给参数Metric设置一个合适的值; ⑦     物体是否与物体的其他实例重叠,如果需要在任何状态下都能识别物体,则应增加MaxOverlap值; ⑧     判断是否在相同物体上找到多个匹配值,如果物体几乎是对称的,则需要控制旋转范围; 如何加快搜索匹配,需要在这些参数中进行合理的搭配,有以下方法可以参考: ①       只要匹配成功,则尽可能增加参数MinScore的值; ②       增加Greediness值直到匹配失败,同时在需要时减小MinScore值; ③       如果有可能,在创建模板时使用一个大的NumLevels,即将图像多分几个金字塔级; ④       限定允许的旋转范围和大小范围,在调用find_shape_model()时调整相应的参数; ⑤       尽量限定搜索ROI的区域; 除上面介绍的以外,在保证能够匹配的情况下,尽可能的增大Greediness的值,因为在后面的实验中,用模板匹配进行视频对象跟踪的过程中,这个值在很大程度上影响到匹配的速度。 当然这些方法都需要跟实际联系起来,不同图像在匹配过程中也会有不同的匹配效果,在具体到某些应用,不同的硬件设施也会对这个匹配算法提出新的要求,所以需要不断地去尝试。在接下来我会结合自己做的具体的实验来如何利用HALCON来进行实验,主要是在视频对象分割和视频对象的跟踪方面。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服