Halcon标定文件资料地生成及标定板规格
第11章 HALCON标定方法
HALCON编程基础与工程应用
相机坐标系到图像坐标系
从相机坐标系到图像坐标系属于透视投影变换关系,即将3D图像信 息转换成2D图像信息。其中点P是相机坐标系中的点,点p(x,y)是像 极坐标系中的点P在图像坐标系上的投影点。
ABOC ~ oCOC
AB AOC PB XC ZC YC oC oOC pC x f y
R(
)
0
1
0
sin 0 cos
cos sin 0
R( ) sin cos 0
0
0 1
总的旋转矩阵,也就是三者的乘积。
R(, , ) R()R( )R( )
平移矩阵T (tx,ty ,tz ) ,tx、ty、tz 是世界坐标系原点与相机坐标系目标点
第11章 HALCON标定方法
◆ 11.1 标定的目的 ◆ 11.2 标定理论 ◆ 11.3 HALCON标定流程 ◆ 11.4 HALCON标定助手 ◆ 11.5 标定应用例程之二维测量
HALCON编程基础与工程应用
11.1 标定的目的
相机需要标定的原因之一就是镜头畸变。所有光学相机镜头都存 在畸变的问题,畸变属于成像的几何失真,它是由于焦平面上不同 区域对影像的放大率不同而形成的画面扭曲变形现象,这种变形的 程度从画面中心至画面边缘依次递增,主要在画面边缘反映的较为 明显。所以相机标定就是为了消除相机镜头在拍摄过程中产生的畸 变。和梯 形畸变。
HALCON编程基础与工程应用
11.3 HALCON标定流程 相机参数确定 HALCON标定板规格 生成标定板
HALCON编程基础与工程应用
1、相机参数确定
Halcon标定板制作
Halcon标定板
什么是Halcon
Halcon是来自德国的一款图像处理软件,在世界范围内广泛使用的机器视觉软件。
是公认的、具有最佳效果的一种图像处理软件。
它源自学术界,有别于市面上一般的商用软件包,事实上这一套软件是由一千多个各自独立的函数,以及底层的数据管理核心构成。
其中包含了各类滤波,色彩以及几何、数学转换,型态学计算分析、校正,分类辨识。
halcon的应用范围几乎没有限制,涵盖医学,遥感探测,监控,到工业上的各类自动化检测。
促成了高科技业,电子业产能的大幅提升。
也是机器视觉用的最多的一种软件。
如何制作Halcon标定板?
以63*63mm的规格举例:
黑色圆点行数:7
黑色圆点列数:7
外边框长度:63mm*63mm
内边框长度:59.0625mm*59.0625mm
即:黑色边框线为一个圆点半径(3.9375)
黑色圆点半径: 3.9375mm
圆点中心间距:7.875mm
裁剪宽度63.875mm*63.875mm
即:由黑色边框向外延伸0.875mm
边角:由黑色外边框向内缩进一个中心边距的长度(7.875mm)
这个就是halcon标定描述文件生成的一个的标定板规格。
Halcon标定板的中心距就是外形尺寸
桂庆光电粟工135-49414687。
halcon相机标定和测量示例
Halcon单相机标定和测量示例相机标定有很多方式:九点标定法、棋盘格标定法、圆形阵列标定法;本次采用圆形阵列标定法。
1Halcon相机标定1.1标定板描述文件编制此次相机标定采用的是网购的标定板(直接在万能的某宝搜halcon标定板),如图1。
采购的时候卖家会提供标定板的相应参数,如图2。
图1标定板图 2 标定板参数用halcon标定助手标定的时候需要用到标定板的描述文件,此文件可以用gen_caltab算子自己编制。
如下为函数说明:gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : ) 函数说明:创建一个标定文件和相应的脚本文件。
函数参数:Xnum:输入X方向标记(圆点)的数量,Xnum>1;Ynum:输入Y方向标记(圆点)的数量,Ynum>1;MarkDist:标记圆圆心间距离,单位“m”;(我看过一个资料翻译为标记点大小,差点被坑死)DiameterRatio:两标记点距离和标记直径的比值,默认:0.5。
0<DiameterRatio<1.0;CalPlateDescr:输入要保存的标定文件(此文件保存路径在算子窗口可更改),默认值: 'caltab.descr',参考: 'caltab.descr', 'caltab_100mm.descr', 'caltab_10mm.descr', 'caltab_200mm.descr', 'caltab_30mm.descr';CalPlatePSFile :标定板图像文件的文件路径(此文件保存路径在算子窗口可更改),默认: 'caltab.ps',后缀:ps。
此算子“XNum, YNum, MarkDist, DiameterRatio”这四个参数根据图2所示的标定板参数设置。
halcon单相机标定详细说明
XYZ
方向平移和旋转标定板,采集 18 张图像
图 9 Halcon 三维标定采集图像示例
3、Halcon 的二维标定,只在 XY 平面内平移和旋转标定板,采集 影响提高标定精度
18 张图像,减小 Z 的
实验数据:
方法一 方法二 方法三
图像坐标 X 方向像素物理距离 15.5618um 15.7575um
,
这就使得主点不一定在图像的帧存中心 ,故需要标定 ,,的值。
单个像元的高宽 ????,????,该数据可以在制造商提供的技术文档中查到,但是该数据不是 完全准确的。 单个像元的高宽理论上应该是相等的, 但是由于制造的误差, 两者不可能完全
相等,因此需要根据实际情况对其进行修正。
透镜的畸变失真系数前面讲到理想的透镜成像才满足线性关系
征点提取的算法了。 Halcon 的标定板如图 5 所示,黑色的边框中有阵列分布的原点,在边 框的左上角有个小三角用来确定其旋转的位置。
以 30*30mm 的标定板为例:
黑色原点: 7*7 边框长度: 30*30mm 内边框长度: 28.125mm*28.125mm 黑色原点半径: 0.9375mm 原点中心间距: 3.75mm 裁剪宽度: 30.75*30.75mm
针孔模型是理想透镜的成像模型,但是实际中相机的透镜不可能是理想的模型,透镜形
状的非理想特征造成像点会沿径向发生畸变。一个像点沿径向内缩叫负畸变
,或桶形畸变沿
径向外延叫正畸变 ,或枕形畸变。这种崎变相对于光轴严格对称的
,也是畸变的主要分量 [2] 。
( X u ,Y u)为矫正后的坐标, (X d ,Y d)是受到镜头失真影响而偏移的像平面坐标,径向 径向畸变模型:
标定的方法从原理上主要分为三大类:线性标定、非线性标定和二次标定。 使用的标定板有棋盘格也有原点阵列,如图 4 所示。
HALCON数字图像处理 第11章 标定
2、标定的内外参数
外部参数:由前面可知,相机的外部参数是用来描述相机坐标系与世
界坐标系的关系,它表明相机在世界坐标系中的位置和方位,可用旋
转矩阵和平移向量来表示。实质上旋转矩阵只有三个独立参数,加上
平移向量的三个参数,故一共有6个独立的外部参数。
内部参数:内部参数只与相机内部结构有关,而与相机位置参数无关,
否则HALOCN会提示有品质问题。
HALCON数字图像处理
标定板图像
(a)
(c)
HALCON数字图像处理
(b) (d)
2、 HALCON标定助手标定过程
步骤1: 打开标定助手,设定描 述文件,标定板厚度,相机类 型、焦距等参数。
图中 ,表示Sx和Sy按照1:1的关 系关联,同步调节,因为面阵相机 的像元一般是方形的,宽和高是一 样的。如果取消关联,那么Sx和Sy
HALCON数字图像处理
图像成像坐标系到图像像素坐标系
如图所示,图像成像坐标系是以毫米为单位的直角坐标系 X-Y。用(Xf ,Yf)来描述图像像素坐标系中的点,用 (Xd ,Yd)来描述图像成像坐标系中的点。图像成像坐 标系的原点O在图像像素坐标系中的坐标为(Cx, Cy),用 dx、dy 来表示相邻像素点中心在 X 轴方向和Y轴方向的 实际物理距离。
可以异步调节。
步骤2:加载图像,可以实时采集,也 可以采集好后再一起标定,建议先采 集后标定。图中所示加载标定板图像 的窗口,还需要将其中的一幅图像设 置为参考位姿。
HALCON数字图像处理
步骤3:在采集图片合格后,点击上 一步骤图中的“标定”按钮,标定 结果就出来了,如图所示,在这一 步的窗口中,会有标定之后的相机 内外参数等标定结果。
halcon自标定方法
halcon自标定方法Halcon自标定方法Halcon是一种常用的机器视觉软件,用于开发和实现各种图像处理和机器视觉应用。
在机器视觉领域,相机的标定是非常重要的一步,它能够精确地确定相机的内部参数和外部参数,从而提高图像处理的精度和准确性。
Halcon提供了自标定方法,使相机的标定过程更加简便和高效。
自标定方法基于相机的特征点,通过在图像中检测和匹配特征点来确定相机的内部参数和外部参数。
下面将详细介绍Halcon的自标定方法。
1. 特征点提取在自标定过程中,首先需要从图像中提取特征点。
Halcon提供了多种特征点提取算法,如Harris角点检测、SIFT算法等。
根据实际应用场景的需求,选择合适的算法进行特征点提取。
2. 特征点匹配特征点提取后,需要进行特征点的匹配。
Halcon提供了多种特征点匹配算法,如基于描述子的匹配算法、基于相似性变换的匹配算法等。
通过计算特征点之间的相似性,确定它们之间的对应关系。
3. 相机标定特征点匹配完成后,即可进行相机的标定。
Halcon提供了基于特征点的标定方法,通过求解相机的内部参数和外部参数,得到相机的准确标定结果。
标定过程中需要提供已知的标定板,通过测量标定板上的特征点坐标和图像中对应特征点的像素坐标,计算相机的内部参数和外部参数。
4. 标定结果评估标定过程完成后,需要对标定结果进行评估。
Halcon提供了多种评估方法,如重投影误差、畸变系数等。
通过对比实际观测值和标定结果的差异,评估标定的准确性和精度。
5. 标定结果应用标定结果可以应用于各种机器视觉应用中,如图像校正、目标检测和跟踪等。
通过应用标定结果,可以提高图像处理和机器视觉算法的准确性和稳定性。
总结:Halcon的自标定方法是一种简便高效的相机标定方法,通过特征点提取和匹配,求解相机的内部参数和外部参数,从而实现对相机的准确标定。
标定结果可以应用于各种机器视觉应用中,提高图像处理和算法的准确性和稳定性。
halcon九点标定例程
halcon九点标定例程【原创版】目录1.介绍 halcon 九点标定例程2.详述 halcon 九点标定的具体步骤3.分析 halcon 九点标定的优点与不足4.总结 halcon 九点标定例程的重要性正文一、介绍 halcon 九点标定例程Halcon 九点标定例程是工业自动化领域中常用的一种标定方法,主要用于精确测量物体的尺寸和位置。
该方法通过在一个平面上选取九个特征点,然后利用特定的算法对这些特征点进行处理,从而实现对物体的精确测量。
这种方法具有操作简便、精度高、抗干扰能力强等优点,因此在工业生产中得到了广泛的应用。
二、详述 halcon 九点标定的具体步骤1.准备工作:首先,需要确保相机、光源等硬件设备已经正确安装并正常运行。
此外,还需要选择合适的标定板(通常为正方形,上面印有九个特征点),并将其放置在相机可拍摄的范围内。
2.拍摄照片:在确保标定板放置正确的情况下,启动相机拍摄包含九个特征点的照片。
需要注意的是,拍摄时需要保证光线充足、照片清晰,以确保后续处理效果。
3.特征点提取:通过图像处理软件(如 Halcon)对拍摄到的照片进行处理,提取出九个特征点。
这一步通常包括边缘检测、轮廓提取、特征点筛选等操作。
4.建立坐标系:在照片上选取一个点作为原点,然后利用相机的内参数(如焦距、像素尺寸等)和已知的物距(即特征点到相机的距离),计算出其他特征点在三维空间中的坐标。
这样,就建立了一个以原点为基准的二维坐标系。
5.计算相机参数:通过九点标定算法,计算出相机的外参数(如旋转矩阵、平移矩阵等),从而实现对物体在三维空间中的精确定位。
三、分析 halcon 九点标定的优点与不足1.优点:(1)操作简便:九点标定方法所需设备和操作步骤较为简单,易于上手。
(2)精度高:该方法利用多个特征点进行标定,提高了测量的精度和可靠性。
(3)抗干扰能力强:九点标定方法对光照、摄像头晃动等干扰因素具有较强的抗干扰能力。
halcon标定例子
halcon标定例子Halcon标定是一种用于机器视觉系统中相机和图像采集设备的校准方法。
通过标定,可以获得相机的内部参数和外部参数,从而提高图像处理和计算机视觉系统的精度和稳定性。
下面是十个关于Halcon标定的例子:1. Halcon标定的基本原理Halcon标定是通过采集一系列已知位置和姿态的标定板图像,从而计算出相机的内部参数和外部参数。
这些参数可以用于图像校正、三维重建等应用。
2. Halcon标定的步骤Halcon标定的主要步骤包括:选择标定板、采集标定图像、提取标定板角点、计算相机参数、优化标定结果等。
3. Halcon标定的精度评估Halcon标定的精度可以通过重投影误差来评估,即将标定板上的角点投影到图像上,然后计算投影点与实际角点之间的距离。
4. Halcon标定的误差来源Halcon标定的误差来源主要包括相机畸变、标定板姿态误差、标定板角点检测误差等。
这些误差会影响标定结果的精度。
5. Halcon标定的应用场景Halcon标定广泛应用于机器视觉系统中的目标检测、定位、测量等任务。
通过标定,可以提高系统的测量精度和稳定性。
6. Halcon标定的优化方法Halcon标定可以通过优化算法来提高标定结果的精度。
常用的优化方法包括非线性最小二乘法、Bundle Adjustment等。
7. Halcon标定的注意事项在进行Halcon标定时,需要注意选择合适的标定板、保证标定板的平整度、正确设置相机参数等。
8. Halcon标定的挑战和解决方案Halcon标定在实际应用中可能面临光照变化、相机运动等挑战。
针对这些问题,可以采用多视角标定、动态标定等方法来解决。
9. Halcon标定的未来发展趋势随着机器视觉技术的不断发展,Halcon标定也在不断演进。
未来的发展趋势包括更精确的标定方法、更高效的标定算法等。
10. Halcon标定的局限性虽然Halcon标定可以提高机器视觉系统的精度和稳定性,但仍然存在一些局限性,如对标定板的要求较高、对标定图像的要求较严格等。
Halcon学习(十八)如何制作标定板
Halcon学习(十八)如何制作标定板下面我具体介绍一下,如何制作halcon的标准标定板方法一:用halcon软件自动生成的.ps文件来制作标定板。
这个也是最简单有效的方法。
打开halcon的HDevelop软件,调用算子:gen_caltab( : :XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTa bPSFile :)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:\ProgramFiles\Windows NT\Accessories就有写字板软件wordpad.exe)打开后的文件基本如下:以40*40为例:# Plate Description Version 2# HALCON Version 10.0-- Mon Dec 19 11:08:072011# Description of the standard calibrationplate 标准标定板的描述# used for the CCD camera calibration inHALCON# (generated bygen_caltab) (由)gen_caltab算子生成## 7 rows x 7columns 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 7Y方向标志圆点的数量。
halcon标定详解
*创建标定板gen_caltab(7,7,0.008,0.5,'48_48mm.descr','48_48mm.ps')*=======标定内参dev_close_window ()dev_open_window (0, 0, 652, 494, 'black', WindowHandle)dev_update_off ()dev_set_draw ('margin')dev_set_line_width (3)OpSystem := environment('OS')set_display_font (WindowHandle, 14, 'mono', 'true', 'false')*标定相机StartCamPar := [0.0,0.0,0.0000299,0.0000299,4896/2,3264/2,4896,3264] create_calib_data ('calibration_object', 1, 1, CalibDataID)set_calib_data_cam_param (CalibDataID, 0, 'area_scan_telecentric_divi sion', StartCamPar)set_calib_data_calib_object (CalibDataID, 0, '48_48mm.descr')* Note, we do not use the image from which the pose of the measuremen t plane can be derivedfor index := 1 to 13 by 1read_image (Image, '标定20/' + index + '.png')get_image_size(Image, Width, Height)dev_display (Image)find_calib_object (Image, CalibDataID, 0, 0, index, [], [])get_calib_data_observ_contours (Caltab, CalibDataID, 'caltab', 0, 0, index)dev_set_color ('green')dev_display (Caltab)endforcalibrate_cameras (CalibDataID, Error)get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam)get_calib_data (CalibDataID, 'calib_obj_pose', [0,1], 'pose', PoseCal ib)*输出计算的相机内参write_cam_par (CamParam, 'camera_parameters.dat')Message:= '相机内参已经写入文件中'disp_message (WindowHandle, Message, 'window', 12, 12, 'red', 'false ')clear_calib_data (CalibDataID)stop()*=====标定外参dev_set_draw ('margin')dev_set_line_width (1)set_display_font (WindowHandle, 14, 'mono', 'true', 'false')*从文件中读取内参存储文件:camera_parameters.dattryread_cam_par ('camera_parameters.dat', CamParam)catch (Exception)stop ()endtry*开始计算open_file('data.csv','output', FileHandle)fwrite_string(FileHandle,'Dis_pix*0.0299204,Dis_m*1000,Distance')fnew_line (FileHandle)close_file(FileHandle)*选择一张作为标定作为最终标定位姿(任意一张都可以)index:=1read_image (Image,'标定20/'+index+'.png')dev_display (Image)CaltabName := '48_48mm.descr'create_calib_data ('calibration_object', 1, 1, CalibDataID)* Here, the final camera parameters are already known and can be used instead* of the starting values used in the program 'camera_calibration_inte rnal.hdev'set_calib_data_cam_param (CalibDataID, 0, 'area_scan_telecentric_divi sion', CamParam)set_calib_data_calib_object (CalibDataID, 0, CaltabName)find_calib_object (Image, CalibDataID, 0, 0, 1, [], [])get_calib_data_observ_contours (Caltab, CalibDataID, 'caltab', 0, 0, 1)get_calib_data_observ_points (CalibDataID, 0, 0, 1, RCoord, CCoord, I ndex, PoseForCalibrationPlate)dev_set_color ('green')dev_display (Caltab)dev_set_color ('red')disp_caltab (WindowHandle, CaltabName, CamParam, PoseForCalibrationPl ate, 1)dev_set_line_width (1)disp_circle (WindowHandle, RCoord, CCoord, gen_tuple_const(|RCoord|,1.5))* caltab_points (CaltabName, X, Y, Z)* calibrate_cameras (CalibDataID, Error)* To take the thickness of the calibration plate into account, the z-value* of the origin given by the camera pose has to be translated by the * thickness of the calibration plate.* Deactivate the following line if you do not want to add the correct ion.set_origin_pose (PoseForCalibrationPlate, 0, 0, 0, PoseCalib)* disp_continue_message (WindowHandle, 'black', 'true')* stop ()*像素距离distance_pp(RCoord[0],CCoord[0],RCoord[48],CCoord[48], Dis_pix)*像素直接转换mm然后计算pix2mm(RCoord, CCoord,CamParam[2],CamParam[3],newCol,newRow)distance_pp(newRow[0],newCol[0],newRow[48],newCol[48], Dis_m)*用同一个世界坐标系来计算image_points_to_world_plane(CamParam, PoseCalib,[RCoord[0],RCoord[4 8]], [CCoord[0],CCoord[48]], 'mm', X1, Y1)distance_pp(Y1[0],X1[0],Y1[1],X1[1],Distance)*输出计算结果比较open_file('data.csv','append', FileHandle)fwrite_string(FileHandle, Dis_pix*0.0299+','+Dis_m*1000+','+Distance+ '\n')close_file(FileHandle)Message:= '计算完毕'disp_message (WindowHandle, Message, 'window', 12, 12, 'red', 'false ')stop()。
Halcon学习(17)标定板的规格
Halcon学习(十七)标定板的规格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进行单目标定楼主#更多•只看楼主倒序阅读发布于:2020-01-23 10:12摄像机标定之前,首先要确定相机和镜头的参数,参考对应说明书,查找IMAGING SOUR CE 31BU03相机的参数如下:分辨率1024*768;格式1/3’’;像素尺寸,水平4.65um,垂直4.65um;两个镜头是computar工业自动化镜头,其参数分别是:①焦距5mm,F1.4,尺寸1/2’’,②焦距12mm,F1.4,尺寸2/3’’。
相机和镜头参数作为标定过程中算子StartCa mPar的初值。
标定过程首先,创建标定数据模型,使用算子create_calib_data,实例中为create_calib_data ('cali bration_object', 1, 1, CalibDataID),该算子是为了创建标定数据模型,即标定的数据将存放于CalibDataID中。
其次,设定摄像机的初始化参数,即第一段所提及。
算子为set_calib_data_cam_param (C alibDataID, 0, 'area_scan_division', StartCamPar)。
第三步,描述标定板,,这里标定板名称CaltabName有两种途径获取,使用算子set_calib_data_calib_object (CalibDataID, 0,CaltabName)。
一种途径是直接调用Halcon自带的描述文件(.descr),另一种是通过算子gen_caltab自制标定板,产生描述文件。
标定板描述文件中的标定板信息必须与标定过程中使用的标定板规格、尺寸一致。
第四步,开始标定。
其中又分为两部分,一是找到标定板,二是找到标定点及其位置。
使用算子为find_caltab (Image, Caltab, CaltabName, SizeGauss,MarkThresh, MinDiamMarks)和find_marks_and_pose (Image, Caltab,CaltabName, StartCamPar, StartThresh, Delta Thresh, MinThresh, Alpha,MinContLength, MaxDiamMarks, RCoord, CCoord, StartPose)。
最新halcon标定板
有的客户不是直接跟我们说他需要的标定板是多大的 规格的,他会说出他的一些参数,让我们跟他介绍或者是 推荐一款适合他的标定板,那么这个时候我们应该怎么推 荐呢?
首先问客户相机与检测标定物的视野是多大?
选取标定板的大小是按照视野的1/2和1/3或者2/3大小来 推选的,但是我们也是推荐,具体的还是要看客户自己的 软件
外形尺寸多少 ,厚度是多少,精度多少,数量是多少?如果 是线条的,我就要知道最小线宽是多少(越小的线宽价格 越高)我们能做的最小线宽是2um,但是我们对外的话还 是说6um,这样的话在我们生产的时候就好做很多,在厚 度上我们也有还几个规格,1mm 2mm 3mm 5mm
订做标定板的 都要提供图纸或者CAD,那样我们的技术就可 以不用花时间去帮客户画图纸了,但是对于halcon来说 只 要知道外形尺寸我们就可以给他绘制CAD了,或者客户提 供详细的参数 都是可以的
halcon标定板
Halcon是来自德国的一种图像处理软件在欧洲以及日本 的工业界,已经是公认的、具有最佳效果的一种图像处理 软件。
它源自学术界,有别于市面上一般的商用软件包,事实 上这一套软件是由一千多个各自独立的函数,以及底层的 数据管理核心构成。其中包含了各类滤波,色彩以及几何 、数学转换,型态学计算分析、校正,分类辨识。
陶瓷基底的标准板具有热膨胀系数小、强度 高、硬度高、耐磨性好、热传导率低、防 酸碱性好等特点,且其良好的表面漫反射 处理,解决了在应用过程中,前置光源情 况下玻璃材质标定板反光的难题,可更好 地识别标定板图案细节信息从而达到更高 的标定精度和测量精度。(陶瓷材料的标 定板精度是没有光学玻璃的标定板精度好 最大规格能做到300*300mm,我们能做到的 精度是5-10u,)
我们的精度是没有问题的,从来没有客户反映我们的精度有问题,所以 这点我们可以非常的放心推了
halcon模板参数
Halcon模板参数1. 简介Halcon是一种广泛使用的机器视觉库,用于开发和部署图像处理应用程序。
在使用Halcon时,模板参数是非常重要的一部分。
模板参数允许用户在运行时动态地修改算法的输入参数,从而实现更大的灵活性和适应性。
本文将介绍如何创建一个用户友好、易于理解的Halcon模板参数。
2. 创建模板参数在Halcon中,我们可以使用create_template函数来创建一个模板参数对象。
该函数有三个输入参数:模板名称、初始值和描述。
例如:create_template('threshold', 128, '阈值')上述代码将创建一个名为threshold的模板参数对象,初始值为128,并且描述为”阈值”。
3. 获取和设置模板参数的值要获取当前模板参数的值,可以使用get_template_obj_param函数。
该函数有两个输入参数:模板名称和属性名称。
例如:threshold := get_template_obj_param('threshold', 'value')上述代码将获取名为threshold的模板参数对象的当前值,并将其赋给变量threshold。
要设置当前模板参数的值,可以使用set_template_obj_param函数。
该函数有三个输入参数:模板名称、属性名称和新值。
例如:set_template_obj_param('threshold', 'value', 150)上述代码将将名为threshold的模板参数对象的值设置为150。
4. 显示模板参数对话框Halcon还提供了一个方便的函数edit_template_obj_params,用于显示一个对话框,其中包含所有模板参数,并允许用户修改它们的值。
例如:edit_template_obj_params()上述代码将显示一个对话框,其中包含所有已创建的模板参数,并允许用户修改它们的值。
Halcon 标定板制作方法
Halcon 标定板制作方法
•只看楼主倒序阅读发布于:2013-07-23 08:32
一、Halcon标定板标准文件制作
利用Halcon软件自制标定板。
程序命令:gen_caltab
该命令可以制作所需的标定板参数文件Caltab.descr和标定板图像文件Caltab.ps。
按确认后生成的命令gen_caltab (9, 9, 0.015, 0.5, 'caltab.descr', 'caltab.ps')
Caltab.ps文件可以用Photoshop打开。
图片如附录
图像尺寸的计算方式:按上述文件参数为标定板的点阵式9*9的,每个点之间的间距是
0.015米,原点直径与每个点之间距离的比值为0.5。
最后两个文件时输出,可以通过后面的文件夹符号来改变存储位置。
或者用./’caltab.descr’的方式存在当前目录下。
标定板黑边外延到黑边外延的距离计算式为:(Xnum+1)*MarkDist*1000
本文参数导出的标定板尺寸为(9+1)*0.015*1000=150mm 所以我们标定板为
150mm*150mm的。
但是算上白边的整个宽度为(Xnum+1)*MarkDist*1000*(1+0.0201)
图片:111.jpg。
Halcon標定文件的生成
Halcon標定⽂件的⽣成
Halcon標定⽂件的⽣成
圖⼀
Halcon標定⽂件的⽣成,需要有以下幾個步驟:
1.創建⼀個標定數據模板,由算來完成。
2.指定相機的類型,初始化相機內部參數,由算⼦來完成。
3.指定標定板的描述⽂件,由算⼦完成。
4.收集觀察數據,有算⼦完成。
也就是收集標定板上圓點的中⼼坐標,跟各個校正板的位置姿態。
5.配置校正過程。
由算⼦完成。
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标定板坐标提取
halcon标定板坐标提取
Halcon标定板坐标提取通常涉及以下几个步骤:
1. 选择标定板:在Halcon软件中,首先需要选择标定板的类型和尺寸。
可以选择常用的棋盘格标定板或者其他形状的标定板。
2. 拍摄标定板图像:使用相机拍摄包含标定板的图像。
确保图像质量良好,标定板清晰可见。
3. 导入图像:在Halcon软件中导入标定板图像。
4. 检测标定板角点:使用Halcon的角点检测算法,对标定板图像进行处理,检测出标定板的角点。
5. 提取角点坐标:通过Halcon提供的函数或算法,将检测到的角点坐标提取出来。
6. 坐标转换:根据实际的应用需求,对提取到的角点坐标进行坐标转换,例如图像坐标转换为世界坐标。
7. 标定板坐标提取:根据标定板的尺寸和角点坐标,计算出标定板的坐标。
需要注意的是,Halcon提供了丰富的函数和算法来支持标定板坐标的提取,具体的实现方法可以根据实际情况和需求进行选择和调整。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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_cameras7.获得标定参数。
get_calib_data8.记录标定参数,write_cam_parStartCamPar :=[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 7Y方向标志圆点的数量。
# Number of marks in x-dimension (columns)c 7X方向标志圆点的数量。
# offset of coordinate system in z-dimension [meter] (optional):z 0Z坐标偏移# 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.001250 -0.015 0.001250.005 -0.015 0.001250.01 -0.015 0.001250.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.001250 -0.01 0.001250.005 -0.01 0.001250.01 -0.01 0.001250.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.001250 -0.005 0.001250.005 -0.005 0.001250.01 -0.005 0.001250.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.001250 0 0.001250.005 0 0.001250.01 0 0.001250.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.001250 0.005 0.001250.005 0.005 0.001250.01 0.005 0.001250.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.001250 0.01 0.001250.005 0.01 0.001250.01 0.01 0.001250.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.001250 0.015 0.001250.005 0.015 0.001250.01 0.015 0.001250.015 0.015 0.00125标定板的材料也有一定的要求,请参看《如何进行图形校正》。