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单相机标定和测量示例相机标定有很多方式:九点标定法、棋盘格标定法、圆形阵列标定法;本次采用圆形阵列标定法。
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数字图像处理 第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运⾏有问题,因为已经没有parameters_image_to_world_plane_centered这个函数了,知道现在版本替换它的函数的朋友⿇烦告知⼀下,万分感谢本⽂出处:/s/blog_442bfe0e0100yjce.html#commonComment1.get_image_size( : : : , )返回图像的尺⼨。
2.parameters_image_to_world_plane_centered (CamParam, Pose, CenterRow, CenterCol, WidthMappedImage, HeightMappedImage, ScaleForCenteredImage, PoseForCenteredImage)Halcon内部程序,输出为图像的⽐率和姿态。
3.gen_image_to_world_plane_map( : : , , , , , , , : )产⽣⼀个投影映射,该映射描述图像平⾯与Z=O的世界平⾯之间的关系,输出为图像MAP,是⼀个多通道的图像包含了映射数据。
4.map_image(, : : : )利⽤映射变换校正图像,输出为矫正后的图像。
5.image_to_world_plane( : : , , , , , : )把校正后的图像转换到Z=0的世界平⾯。
6.image_points_to_world_plane( : : , , , , : , )把图像上的点转换到Z=0的世界平⾯,输出为点坐标。
* This program provides procedures for the determination of the* parameters Pose and Scale of the operators image_to_world_plane* and gen_image_to_world_plane_map.** Read the imageImgPath := '3d_machine_vision/calib/'read_image (Image, ImgPath+'caliper_01')* Set the camera parameters for the imageCamParam := [0.0160728,-631.843,7.40077e-006,7.4e-006,326.369,246.785,652,494]Pose := [-41.2272,26.763,398.682,359.655,359.202,322.648,0]* Reopen the window appropriatelyget_image_size (Image, WidthOriginalImage, HeightOriginalImage)dev_open_window_fit_image (Image, 0, 0, WidthOriginalImage, HeightOriginalImage, WindowHandle)set_display_font (WindowHandle, 14, 'mono', 'true', 'false')dev_set_color ('red')WidthMappedImage := 652HeightMappedImage := 494* Transform the image such that a given point appears in the* center of the rectified image and the the scale of the rectified image* is similar to the scale of the original image (in the surroundings* of the given point)* Define the point that will appear in the center of the rectified imagedev_display (Image)disp_message (WindowHandle, 'Define the center of the mapped image', 'window', 12, 12, 'white', 'false')get_mbutton (WindowHandle, CenterRow, CenterCol, Button)* Determine scale and pose such that the given point appears* in the center of the rectified image and that the* scale of the two images is similar (in the surroundings* of the given point).parameters_image_to_world_plane_centered (CamParam, Pose, CenterRow, CenterCol, WidthMappedImage, HeightMappedImage, ScaleForCenteredImage, PoseForCenteredImage)* Rectify the imagegen_image_to_world_plane_map (Map, CamParam, PoseForCenteredImage, WidthOriginalImage, HeightOriginalImage, WidthMappedImage, HeightMappedImage, ScaleForCenteredImage, 'bilinear')map_image (Image, Map, ImageMapped)dev_open_window_fit_image (ImageMapped, 0, 0, WidthMappedImage, HeightMappedImage, WindowHandleMapped)set_display_font (WindowHandleMapped, 14, 'mono', 'true', 'false')dev_set_color ('red')dev_display (ImageMapped)* In case, only one image has to be mapped, the operator* image_to_world_plane can be used instead of the operators* gen_image_to_world_plane_map together with map_image.image_to_world_plane (Image, ImageMapped, CamParam, PoseForCenteredImage, WidthMappedImage, HeightMappedImage, ScaleForCenteredImage, 'bilinear')* Display the center pointimage_points_to_world_plane (CamParam, PoseForCenteredImage, CenterRow, CenterCol, ScaleForCenteredImage, CenterX, CenterY) disp_cross (WindowHandleMapped, CenterY, CenterX, 6, rad(45))disp_message (WindowHandleMapped, 'The selected point appears in the center', 'window', 12, 12, 'white', 'false')disp_message (WindowHandleMapped, 'of the rectified image', 'window', 36, 12, 'white', 'false')disp_continue_message (WindowHandleMapped, 'black', 'true')stop ()** Now determine scale and pose such that the entire image* fits into the rectified image.parameters_image_to_world_plane_entire (Image, CamParam, Pose, WidthMappedImage, HeightMappedImage, ScaleForEntireImage, PoseForEntireImage)* Rectify the imageimage_to_world_plane (Image, ImageMapped, CamParam, PoseForEntireImage, WidthMappedImage, HeightMappedImage, ScaleForEntireImage, 'bilinear')dev_clear_window ()dev_display (ImageMapped)disp_message (WindowHandleMapped, 'The entire image is visible in the rectified image', 'window', -1, -1, 'white', 'false')。
Halcon相机标定简介

Halcon相机标定简介相机标定简介⾸先镜头有畸变,也就是说照出的图像与实际不符产⽣了形变。
即使⼯业镜头也是有千分之⼏的畸变率的。
上个图告诉⼤家畸变这个图⾥,第⼀个图就是我们相机下的真实的形状,后边两个就是照出来有畸变的图⽚。
其次镜头与相机⽆论你的机械结构精度多⾼,也不容易或者说没办法将相机安装的特别正,那相机安装不正也是会导致误差的。
⼤家想知道具体数学模型的话可以搜⼀下相机标定的理论⽅⾯的知识,我侧重怎么做。
标定就是把上述两个东西转化成正常的。
⽆论是在图像测量或者机器视觉应⽤中,相机参数的标定都是⾮常关键的环节,其标定结果的精度及算法的稳定性直接影响相机⼯作产⽣结果的准确性。
深度说明1、相机标定参数介绍内参:确定摄像机从三维空间到⼆维空间的投影关系。
针孔相机(FA镜头相机)模型为6个参数(f,kSx,Sy,Cx,Cy);远⼼镜头相机模型为5个参数(f,Sx,Sy,Cx,Cy);线阵相机为11个参数(f,k,Sx,Sy,Cx,Cy,Width,Highth,Vx,Vy,Vz)。
其中:f为焦距;k表⽰径向畸变量级。
如果k为负值,畸变为桶形畸变,如果为正值,那么畸变为枕形畸变。
Sx,Sy是缩放⽐例因⼦。
对于相机(FA镜头)表⽰图像传感器⽔平和垂直⽅向上相邻像素之间的距离,初始值与真实值越接近计算速度越快。
对于远⼼摄像机模型,表⽰像素在世界坐标系中的尺⼨。
Cx,Cy是图像的主点,对于相机,这个点是投影中⼼在成像平⾯上的垂直投影,同时也是径向畸变的中⼼。
对于远⼼摄像机模型,只表⽰畸变的中⼼。
Vx,Vy,Vz:线阵相机必须与被拍摄物体之间有相对移动才能拍摄到⼀幅有⽤的图像。
这是运动向量。
Sx,Sy对于线阵相机是相邻像元的⽔平和垂直距离。
2、标定板详细介绍问题1:halcon是否只能使⽤halcon专⽤的标定板?halcon提供了简便、精准的标定算⼦与标定助⼿,这在实际使⽤中极⼤地⽅便了使⽤者在halcon中有两种标定⽅式:halcon⾃带例程中出现的,⽤halcon定义的标定板,如下图:⽤户⾃定义标定板,⽤户可以制作任何形状、形式的标定板,如下图:所以,halcon并⾮只能使⽤专⽤标定板,也可以使⽤⾃定义标定板就可以进⾏标定。
基于Halcon的固定视点手眼标定方法

2021年4月第49卷第8期机床与液压MACHINETOOL&HYDRAULICSApr.2021Vol 49No 8DOI:10.3969/j issn 1001-3881 2021 08 007本文引用格式:杨伟姣,杨先海,薛鹏,等.基于Halcon的固定视点手眼标定方法[J].机床与液压,2021,49(8):35-37.YANGWeijiao,YANGXianhai,XUEPeng,etal.Hand⁃eyecalibrationmethodoffixedviewpointbasedonhalcon[J].MachineTool&Hydraulics,2021,49(8):35-37.收稿日期:2020-01-02基金项目:国家自然科学基金青年科学基金项目(51905320)作者简介:杨伟姣(1993 ),女,硕士研究生,研究方向为机器视觉及图像处理㊂E-mail:1961572959@qq com㊂通信作者:杨先海(1963 ),教授,博士生导师㊂E-mail:yxh@sdut edu cn㊂基于Halcon的固定视点手眼标定方法杨伟姣1,杨先海1,薛鹏2,孙阳1,代瑞恒1,谭帅2(1 山东理工大学机械工程学院,山东淄博255049;2 胜利油田高原石油装备有限责任公司,山东东营257000)摘要:在视觉引导机器人完成抓取的过程中,最重要的步骤是手眼标定,手眼标定的精度将直接影响后续工作的精度㊂充分考虑相机畸变对手眼标定的影响,在Halcon环境下,设计一种高精度的固定视点手眼标定方法,该方法在确定了机器人基础坐标系与相机图像坐标系之间关系的同时也标定了相机的内外参数,并通过实验进行验证㊂结果表明:该标定方法具有较高的精度,可广泛应用于视觉机器人的定位抓取工作㊂关键词:机器视觉;相机标定;手眼标定中图分类号:TP391Hand⁃eyeCalibrationMethodofFixedViewpointBasedonHalconYANGWeijiao1,YANGXianhai1,XUEPeng2,SUNYang1,DAIRuiheng1,TANShuai2(1 SchoolofMechanicalEngineering,ShandongUniversityofTechnology,ZiboShandong255049,China;2 ShengliOilfieldPlateauPetroleumEquipmentCo.,Ltd.,DongyingShandong257000,China)Abstract:Intheprocessofvisuallyguidingrobottocompletegrasping,themostimportantstepishand⁃eyecalibration.Theac⁃curacyofhand⁃eyecalibrationwilldirectlyaffecttheaccuracyofsubsequentwork.Fullyconsideringtheeffectsofcameradistortiononthecalibrationoftheopponent seyes,inHalconenvironment,ahigh⁃precisionfixed⁃viewhand⁃eyecalibrationmethodwasdesigned.Inthismethod,therelationshipbetweentherobot sbasiccoordinatesystemandthecameraimagecoordinatesystemwasdeterminedwhiletheinternalandexternalparametersofthecamerawerealsocalibrated.Itwasverifiedbyexperiments.Theresultsshowthatthecalibrationmethodhashighaccuracyandcanbewidelyusedinthepositioningandgrabbingworkofvisualrobots.Keywords:Machinevision;Cameracalibration;Hand⁃eyecalibration0㊀前言机器人视觉控制是智能机器人领域的重要研究内容,也是现阶段研究的热点之一[1-2]㊂视觉与机器人的关联方式主要包括固定视点的眼到手配置模型(Eye-to-Hand)和非固定视点的眼在手配置模型(Eye-in-Hand)㊂本文作者主要针对摄像机固定安装在机械臂本体以外的Eye-to-Hand模型进行研究,Eye-to-Hand模型因其摄像机单独固定,避免了因机械臂运动造成的定位误差,在工业机器人定位抓取和装配等领域有着广泛的应用[3]㊂1㊀双目视觉系统原理双目视觉是根据视差原理,通过多幅图像获取测量物体三维信息的方法[4-5]㊂如图1所示为双目立体视觉原理图㊂其中xLyL表示左图像平面,xRyR表示右图像平面㊂对于空间任意一点p,在左摄像机成像平面的投影点为pL,在右摄像机成像平面的投影点为pR,pL㊁pR相互对应㊂图1㊀双目立体视觉原理通过视差原理,可以计算空间点p在相机坐标系下的三维坐标p(Xc,Yc,Zc):Xc=x-cxfZ=(x-cx)Bd-cx+cxᶄYc=y-cyfZ=y-cy()Bd-cx+cxᶄZc=Bfd-cx+cxᶄìîíïïïïïïïï(1)其中:B为基线距,mm;d为视差,mm;f为相机焦距;cx㊁cxᶄ分别表示左右相机的图像中心与光心x轴水平方向偏移量,mm;cy为左相机图像中心与光轴x轴垂直方向偏移量,mm㊂2㊀摄像机标定坐标转换手眼标定的前提是要进行摄像机标定,求解空间中的世界坐标系与图像像素坐标系的关系,即为摄像机标定过程[6]㊂该过程中涉及的坐标系包括世界坐标系(xw,yw,zw)㊁摄像机坐标系(xc,yc,zc)㊁图像物理坐标系(x,y)㊁图像像素坐标系(u,v)㊂(1)世界坐标系与摄像机坐标系的转换xcyczcéëêêêêùûúúúú=Rxwywzwéëêêêêùûúúúú+T=r11r12r13r21r22r23r31r32r33éëêêêêùûúúúúxwywzwéëêêêêùûúúúú+txtytzéëêêêêùûúúúú(2)其中:R为旋转变换矩阵;T为平移变换矩阵㊂(2)摄像机坐标系与图像坐标系的转换u-u0=x/dx=sxxv-v0=y/dy=syy{(3)(3)世界坐标系与图像坐标系的转换Xf=u-u0fx=r11xw+r12yw+r13zw+txr31xw+r32yw+r33zw+tzYf=v-v0fy=r21xw+r22yw+r23zw+tyr31xw+r32yw+r33zw+tzìîíïïïï(4)将式(3)和式(4)代入式(2),可得齐次坐标为zcuv1éëêêêùûúúú=fx0u000fyv000010éëêêêùûúúúRT0T1éëêêùûúúxwywzw1éëêêêêêùûúúúúú=M1M2X=MX(5)其中:ax=sxfx=fx/dx,ay=syfy=fy/dy;M1为摄像机内部参数;M2为摄像机外部参数㊂3㊀固定视点手眼标定3 1㊀标定模型的建立在机器视觉中,机械手臂抓取运动过程中主要涉及机械臂基坐标系㊁工具坐标系㊁标定板坐标系㊁摄像机坐标系和世界坐标系[7-8]㊂整个过程的变换实质是将图像坐标系的坐标转换为机械臂基坐标的位姿变换㊂固定视点手眼标定模型如图2所示㊂图2㊀Eye-to-Hand模型㊀㊀手眼标定的目标:(1)求解摄像机坐标系下机械手基础坐标位姿camHbase;(2)求解工具坐标系下标定板坐标位姿toolHcal㊂3 2㊀摄像机内参获取本文作者基于Halcon进行标定㊂Halcon是德国MVtec公司开发的图像处理软件,具有完善的综合标准软件库和机器视觉集成开发环境[9]㊂选用Halcon三维标定,该方法可以有效地消除径向畸变和视角畸变,在x㊁y㊁z方向平移和旋转标定板,相机和镜头参数作为标定过程中算子StartCamPar的初值㊂获取摄像机的内参的标定过程如图3所示㊂(1)选择标定板并初始化参数㊂标定过程选用7ˑ7的圆形阵列㊁直径为10mm㊁圆心距为20mm㊁厚度为0 18mm的标定板,在标定初始选择标定文件路径和摄像机参数;(2)图像采集㊂将摄像机固定,机器人末端夹具带动标定板变换至不同空间位置,保存标定板位于㊃63㊃机床与液压第49卷不同位置时的摄像机图像,采集图像15幅,由于Halcon图像采集对光照等条件要求较高,在实时采集过程中需要对标定板位置进行实时调整,采集满足标定要求的标定板图像;(3)提取原点中心并标定㊂提取标定板中阵列分布的原点中心并进行标定,去除图像畸变,获取校正后的摄像机内部参数㊂图4为标定图像㊂图3㊀摄像机内参的标定流程图4㊀标定图像3 3㊀固定视点手眼标定通过机械臂末端工具带动标定板移动到不同位置,标定手眼关系同时获取摄像机内部参数,调用摄像机内参标定得到的二维图像,通过手眼关系的转换得到准确的三维信息,获取手眼标定的目标参数关系㊂获取机械臂末端工具相对于机械臂底座基坐标的位姿baseHtool以及标定板相对于摄像机的位姿camHcal,同时获取摄像机坐标系与机器人工具坐标系之间的相互关系,并得到了工具坐标系相对于相机坐标系的位姿camHtool,从而可以得到手眼标定的结果,即基础坐标系下标定板位姿camHcal:camHcal=camHbase㊃baseHtool㊃toolHcal基于Halcon进行手眼标定的流程如图5所示㊂图5㊀基于Halcon手眼标定流程标定板坐标系相对于基坐标系的位姿计算式为:baseHobj=baseHcam㊃camHobj,表示出最终需要的工件位姿,得到这个位姿便可以给机器人发送运动指令,控制手抓进行抓取任务㊂4㊀实验结果及分析选用BB2双目摄像机和UR5机器人进行实验,摄像机通过支架固定于机械臂末端夹具上方,整个系统可获取摄像机内外参数以及摄像机与机械臂的相对位姿㊂通过文中提出的基于Halcon的标定方法,可以较为准确地获取图2中各坐标系之间的相互转换关系,满足了工业生产中对目标物体的准确抓取和定位工作,得到表1所示的标定结果㊂表1㊀手眼标定结果标定变量标定结果/mm标定变量标定结果/(ʎ)x坐标0.162x轴旋转量90.159y坐标0.002y轴旋转量0.284z坐标0.073z轴旋转量90.065㊀㊀由表1可得标定结果仍存在一些误差㊂分析误差产生的主要原因有:(1)在图像采集过程中会受光照变化等噪声影响产生标定误差;(2)摄像机固有精度所带来的的实际误差;(3)各方面误差的累积影响标定结果㊂5㊀结束语本文作者提出基于Halcon的固定视点手眼标定方法,在获得机器人基础坐标与相机图像坐标之间关系的同时也标定了相机的内外参数㊂实验结果表明该方法标定精度较高,标定方法简便㊂该固定视点的手眼标定方法可广泛应用于流水线生产过程中的分拣和装配等工作㊂参考文献:[1]张艳芳,李倩,刘晓刚,等.基于开放平台的机器人视觉抓取控制系统设计[J].机床与液压,2017,45(21):31-34.ZHANGYF,LIQ,LIUXG,etal.Designofrobotvisiongraspingcontrolsystembasedonopenplatform[J].Ma⁃chineTool&Hydraulics,2017,45(21):31-34.[2]丘椿荣.基于视觉伺服的机器人动态跟踪抓取技术研究[D].武汉:华中科技大学,2019.QIUCR.Studyonroboticdynamicaltrackingandgraspingtechnologybasedonvisualservoing[D].Wuhan:HuazhongUniversityofScienceandTechnology,2019.(下转第71页)㊃73㊃第8期杨伟姣等:基于Halcon的固定视点手眼标定方法㊀㊀㊀TIANJ,NIWG,ZHUSX.Magneticcircuitanalysisandsimulationofshear⁃valvemodemagnetorheologicaldamper[J].ChineseHydraulics&Pneumatics,2015(12):45-48.[9]WANGMK,CHENZB,WERELEYNM.Magnetorheologicaldamperdesigntoimprovevibrationmitigationun⁃deravolumeconstraint[J].SmartMaterialsandStruc⁃tures,2019,28(11):114003.[10]冯彪.飞机前起落架摆振仿真分析与参数优化[D].南京:南京航空航天大学,2012.PENGB.Simulationandoptimizationofaircraftnoseland⁃inggearshimmy[D].Nanjing:NanjingUniversityofAero⁃nauticsandAstronautics,2012.[11]王功成.汽车前轮摆振系统动力学分析与评价平台开发[D].合肥:合肥工业大学,2014.WANGGC.Analysisandevaluationplatformforfrontwheelshimmysystem[D].Hefei:HefeiUniversityofTechnology,2014.[12]许晓龙.基于磁流变减震器的起落架振动仿真平台开发[D].天津:中国民航大学,2015.XUXL.DevelopmentofvibrationsimulationplatformforlandinggearbasedonMRdamper[D].Tianjin:CivilAvi⁃ationUniversityofChina,2015.[13]刘照曦.基于磁流变减震器的起落架落震仿真模块开发[D].天津:中国民航大学,2015.LIUZX.Simulationmodel sexploitationofMRdamperonlandinggear[D].Tianjin:CivilAviationUniversityofChina,2015.[14]田静,王恕浩.飞机前轮摆振影响因素分析[J].机械设计,2019,36(7):52-57.TIANJ,WANGSH.Analysisontheinfluencingfactorofshimmyoftheaircraft snosewheel[J].JournalofMa⁃chineDesign,2019,36(7):52-57.[15]胡挺,吴立军.CATIA二次开发技术基础[M].北京:电子工业出版社,2006.[16]张越.基于VB对CATIA二次开发的非标零件标准化设计研究[D].长春:长春理工大学,2018.ZHANGY.Researchonstandardizationdesignofnon⁃standardpartsbasedonVBCATIAsecondarydevelop⁃ment[D].Changchun:ChangchunUniversityofScienceandTechnology,2018.[17]赵宏强,衡保利,谭青,等.利用MATLAB与VB的传感器静态自动标定技术[J].现代制造工程,2010(5):30-32.ZHAOHQ,HENGBL,TANQ,etal.Sensorstaticauto⁃calibrationtechniquebasedonMATLABandVB[J].ModernManufacturingEngineering,2010(5):30-32.[18]冯雪.基于MATLAB与VB的工频波形分析系统[D].上海:上海交通大学,2009.FENGX.PowerfrequencywaveformanalysissystembasedonMATLABandVB[D].Shanghai:ShanghaiJiaoTongUniversity,2009.[19]LORDCorporation.MRF-132DGmagneto⁃rheoloticalfluid[Z].USA:LORDCorporation,2011.[20]MANJEETK,SUJATHAC.MagnetorheologicalvalvesbasedonHerschel-Bulkleyfluidmodel:modelling,mag⁃netostaticanalysisandgeometricoptimization[J].SmartMaterialsandStructures,2019,28(11):115008.(责任编辑:张艳君)(上接第37页)[3]谢小鹏,彭泽林.一种固定视点的机器人手眼关系标定方法[J].中国测试,2018,44(6):1-5.XIEXP,PENGZL.Ahand⁃eyecalibrationmethodbasedonrobotwithstationaryviewpoint[J].ChinaMeasurement&Test,2018,44(6):1-5.[4]王之凤,张文君,许键.双目智能眼镜视差快速测试系统设计[J].光学技术,2018,44(1):30-34.WANGZF,ZHANGWJ,XUJ.Rapid⁃testingsystemofbinocularsmartglassopticalparallax[J].OpticalTech⁃nique,2018,44(1):30-34.[5]李长春,胡炜,顾寄南,等.上下料机器人视觉测量系统关键技术的研究[J].机床与液压,2018,46(15):68-70.LICC,HUW,GUJN,etal.Researchonkeytechnologyofbinocularvisionmeasurementsystemofloadingandunloa⁃dingrobot[J].MachineTool&Hydraulics,2018,46(15):68-70.[6]胡松,王道累.摄像机标定方法的比较分析[J].上海电力学院学报,2018,34(4):366-370.HUS,WANGDL.Comparativeanalysisofcameracalibra⁃tionmethods[J].JournalofShanghaiUniversityofElectricPower,2018,34(4):366-370.[7]舒奇,黄家才.基于Halcon的机器人手眼标定方法研究[J].南京工程学院学报(自然科学版),2019,17(1):45-49.SHUQ,HAUNGJC.Astudyonrobothand⁃eyecalibrationmethodbasedonHalcon[J].JournalofNanjingInstituteofTechnology(NaturalScienceEdition),2019,17(1):45-49.[8]陆艺,沈添秀,郭小娟,等.线结构光视觉传感器机器人手眼关系标定[J].中国测试,2019,45(10):6-9.LUY,SHENTX,GUOXJ,etal.Robothand⁃eyerelation⁃shipcalibrationbasedonlinestructuredlightvisionsensor[J].ChinaMeasurement&Test,2019,45(10):6-9.[9]田春林,陈李博,马国庆,等.基于Halcon的工业机器人手眼标定方法研究[J].制造业自动化,2018,40(3):16-18.TIANCL,CHENLB,MAGQ,etal.Researchonhand⁃eyecalibrationmethodofindustrialrobotbasedonHalcon[J].ManufacturingAutomation,2018,40(3):16-18.(责任编辑:张艳君)㊃17㊃第8期田静等:基于磁流变减摆器的摆振仿真平台开发㊀㊀㊀。
halcon标准标定板制作

halcon标准标定板的自制方法zsxm2009 发表于- 2011-4-23 18:19:00halcon中标准标定板的自制方法1.找到halcon标定板描述文件(后缀名是.descr),目录是:D:\Program Files\MVTec\HALCON-10.0\calib(具体的视个人安装位置所定)。
2.用“写字板”打开所需规格的标定板描述文件,这里强调一下:用“写字板”打开文件可以很清晰的看到里面描述的内容,如果用记事本打开的话,很混乱而且又很多字符无法识别。
我这里需要制作6mm×6mm的标定板。
3.打开“caltab_6mm.descr”文件,内容如下(中文部分为我所翻译,如有错误敬请指正):# Plate Deion Version 2# HALCON Version 7.1 -- Fri Jul 22 16:25:19 2005# Deion of the standard calibration plate# used for the CCD camera calibration in HALCON# (generated by gen_caltab)### 7 rows x 7 columns#7行×7列# Width, height of calibration plate [meter]: 0.006, 0.006#标定板的宽与高【单位:米】:0.006,0.006# Distance between mark centers [meter]: 0.00075#各个圆点中心之间的距离【单位:米】:0.00075# Number of marks in y-dimension (rows)#y轴上圆点的数目,注意这里的y轴的正方向是竖直向下的(行数)r 7#7行# Number of marks in x-dimension (columns)#x轴上圆点的数目,注意这里的x轴正方向是水平向右的(列数)c 7#7列# offset of coordinate system in z-dimension [meter] (optional):#坐标系在z轴方向上的偏移【单位:米】(可选):z 0#z轴偏移为0,即在z轴上不偏移,图像位于xy平面上# Rectangular border (rim and black ) of calibration plate#标定板的矩形边框(边界和黑框)# rim of the calibration plate (min x, max y, max x, min y) [meter]:#标定板边界(x轴最小值,y轴最大值,x轴最大值,y轴最小值)【单位:米】,制作#标定板的时候,按照此线裁剪o -0.003075 0.003075 0.003075 -0.003075# outer border of the black (min x, max y, max x, min y)[meter]:#黑框的外轮廓(x轴最小值,y轴最大值,x轴最大值,y轴最小值)【单位:米】,标#定的时候,首先检测此线i -0.003 0.003 0.003 -0.003# triangular corner mark given by two corner points (x,y, x,y) [meter] # (optional):#通过两转角点创建拐角标记(x,y, x,y)【单位:米】(可选)t -0.003 -0.00225 -0.00225 -0.003#一般是在图形的左上角在cad里通过不修剪倒角创建的# width of the black [meter]:#黑框的线宽【单位:米】w 0.0001875#线宽0.0001875m,画图的时候需要设置cad画图的精度,如果以mm为单位则精度就是#:0.0000,以描述内容中精度最大的数字为准# calibration marks: x y radius [meter]#标定标记(圆点:画圆,然后填充):x坐标值 y坐标值半径【单位:米】# calibration marks at y = -0.00225 m#在y=-0.00225这一行上的7个圆点的坐标和半径,后面依次类推-0.00225 -0.00225 0.0001875-0.0015 -0.00225 0.0001875-0.00075 -0.00225 0.00018750 -0.00225 0.00018750.00075 -0.00225 0.00018750.0015 -0.00225 0.00018750.00225 -0.00225 0.0001875# calibration marks at y = -0.0015 m-0.00225 -0.0015 0.0001875-0.0015 -0.0015 0.0001875-0.00075 -0.0015 0.00018750 -0.0015 0.00018750.00075 -0.0015 0.00018750.0015 -0.0015 0.00018750.00225 -0.0015 0.0001875# calibration marks at y = -0.00075 m-0.00225 -0.00075 0.0001875-0.0015 -0.00075 0.0001875-0.00075 -0.00075 0.00018750 -0.00075 0.00018750.00075 -0.00075 0.00018750.0015 -0.00075 0.00018750.00225 -0.00075 0.0001875# calibration marks at y = 0 m-0.00225 0 0.0001875-0.0015 0 0.0001875-0.00075 0 0.00018750 0 0.00018750.00075 0 0.00018750.0015 0 0.00018750.00225 0 0.0001875# calibration marks at y = 0.00075 m-0.00225 0.00075 0.0001875-0.0015 0.00075 0.0001875-0.00075 0.00075 0.00018750 0.00075 0.00018750.00075 0.00075 0.00018750.0015 0.00075 0.00018750.00225 0.00075 0.0001875# calibration marks at y = 0.0015 m-0.00225 0.0015 0.0001875-0.0015 0.0015 0.0001875-0.00075 0.0015 0.00018750 0.0015 0.00018750.00075 0.0015 0.00018750.0015 0.0015 0.00018750.00225 0.0015 0.0001875# calibration marks at y = 0.00225 m-0.00225 0.00225 0.0001875-0.0015 0.00225 0.0001875-0.00075 0.00225 0.00018750 0.00225 0.00018750.00075 0.00225 0.00018750.0015 0.00225 0.00018750.00225 0.00225 0.00018754.用cad画标定板。
halcon九点标定原理

halcon九点标定原理Halcon是世界领先的机器视觉软件,被广泛应用于制造、医疗、安全监控和智能交通等领域。
其中,九点标定原理是Halcon中常用的一种标定方法。
标定是指确定相机的内参和外参,以便于机器视觉系统进行三维重建、测量、定位和识别等操作。
而九点标定原理就是在已知相机内参的情况下,通过对标定板上九个已知点的像素坐标和实际坐标进行对应,来求解相机的外参。
下面,我将详细介绍Halcon九点标定原理的具体步骤:1. 准备标定板首先,我们需要准备一个标定板。
标定板可以是黑白底纹、格子图案或者其他规则的图案,这里以黑白相间的格子为例。
标定板上需要标注出九个已知点的实际坐标。
这里建议按照“从左到右、从上到下”的顺序依次标号,方便后续计算。
2. 摄像头拍摄标定板将标定板固定在平面上,并使用相机对其进行拍摄。
需要注意的是,拍摄时应保持相机固定不动,同时注意光照条件的稳定性,以避免影响标定精度。
3. 识别标定板上的九个点使用Halcon中的find_pattern函数对标定板上的九个点进行识别。
该函数的作用是匹配标定板的模板图案,返回每个点的像素坐标以及定位误差。
4. 求解相机的外参通过对比标定板上的实际坐标和相机拍摄得到的像素坐标,使用Halcon中的calibrate_cameras函数来求解相机的外参。
该函数会返回相机的旋转矩阵和平移向量,即可确定相机在世界坐标系下的位置。
5. 验证标定结果最后,我们需要对标定结果进行验证,以确保标定精度达到要求。
通常可以使用Halcon中的project_3d_point函数将三维对象投影到图像上,并与实际拍摄的图像进行对比,来判断标定误差是否在可接受的范围内。
总结:九点标定原理是一种简单、快速、精度较高的标定方法,适用于大部分机器视觉应用。
在实际操作过程中,需要注意拍摄条件的稳定性、标定板的精度以及标定结果的验证等问题,以确保标定精度达到要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
halcon九点标定例程-回复
Halcon九点标定例程是一种常用的机器视觉算法,用于自动化系统中对相机进行标定。
相机标定是指确定相机内部参数和外部参数的过程,而九点标定法是一种简单且有效的相机标定算法。
本文将以九点标定例程为主题,一步一步回答相关问题,并解释其原理和应用。
第一步:引言和背景知识介绍(200-250字)
相机标定在机器视觉系统中扮演着重要角色,可以提供准确的图像测量和三维重建结果。
Halcon是一款流行的机器视觉软件,提供了丰富的相机标定工具和算法。
九点标定法是Halcon中一种常用的相机标定算法,其原理基于相机的投影模型和校准板上已知的特征点。
通过测量这些已知特征点在图像中的位置,我们可以计算相机的内部参数(例如焦距、主点等)和外部参数(例如相机的旋转和平移)。
本文将详细介绍Halcon九点标定例程,并给出相应的代码示例。
第二步:九点标定原理简述(300-350字)
九点标定法基于一个简单的投影模型,该模型假设相机内部参数和外部参数对于所有图像均保持不变。
在校准板上标记九个已知的特征点,例如角点或圆心。
当我们用相机拍摄校准板时,这些特征点在图像上会形成相应的图案。
利用这些已知的特征点和其在图像中的位置,我们可以推导出相机的内部参数和外部参数。
具体而言,根据相机拍摄的图像,我们可以提取出各个特征点的像素坐标。
通过将像素坐标转换为相机坐标系或世界坐标系中的坐标,我们可以建立像素坐标与相机坐标之间的对应关系。
然后,利用这些对应关系,我们可以计算出相机的内部参数和外部参数。
第三步:九点标定例程的步骤介绍(400-450字)
Halcon九点标定例程的主要步骤如下:
1. 准备一块校准板,并在其上标记九个已知特征点。
这些特征点可以是标定板的角点或圆心。
2. 使用Halcon的图像采集工具捕获多张校准板的图像。
3. 对每一张图像,使用Halcon的图像处理工具提取出标定板上已知特征点的像素坐标。
4. 构建像素坐标和相机坐标之间的对应关系。
根据校准板的几何特性,可以将像素坐标与相机坐标进行关联。
5. 利用九点标定法推导出相机的内部参数和外部参数。
通过计算像素坐标与相机坐标之间的转换矩阵,可以求解出相机的内外参数。
6. 进行误差评估和优化。
使用得到的内外参数对其他图像进行投影重建,计算像素坐标与实际坐标之间的误差,进一步优化相机的标定结果。
第四步:九点标定例程的代码实现(400-450字)
下面是Halcon九点标定例程的主要代码示例:
1. 准备校准板的代码,如定义校准板的特征点坐标。
2. 使用图像采集工具捕获图像。
3. 提取已知特征点的像素坐标。
4. 定义相机坐标系和像素坐标系之间的对应关系,例如通过建立重映射矩阵。
5. 使用所得到的像素坐标和相机坐标进行九点标定计算,推导出相机的内部参数和外部参数。
6. 对标定结果进行误差评估和优化,可以通过观察像素坐标与实际坐标之间的重投影误差进行。
通过以上步骤,我们可以得到相机的内部参数和外部参数,从而实现对相机的准确定位和测量。
第五步:九点标定应用领域介绍(200-250字)
九点标定法在许多机器视觉应用领域都有广泛的应用。
例如,在工业自动化中,九点标定法可以用于机器人导航、物体定位和尺寸测量。
在医疗影像处理中,九点标定法可以用于手术引导、病变检测和量化分析。
此外,
九点标定法还可以用于虚拟现实、增强现实和三维重建等领域。
总结:
本文通过介绍Halcon九点标定例程,详细讲解了九点标定法的原理和应用。
九点标定法是一种常用且有效的相机标定算法,可以用于自动化系统中对相机进行标定。
通过标定相机的内部参数和外部参数,我们可以实现对相机的准确定位和测量。
这对于机器视觉和许多其他领域的应用都具有重要的意义。