zoukankan      html  css  js  c++  java
  • halcon学习笔记——(6)单摄像机标定

    In the reference manual,operator signatures are visualized in the following way:
    operator ( iconic input : iconic output : control input : control output )

    在HALCON所有算子中,变量皆是如上格式,即:图像输入:图像输出:控制输入:控制输出。

    其中四个参数任意一个可以为空。

    控制输入可以是变量、常量、表达式;

    控制输出以及图像输入和输出必须是变量。

    1.caltab_points:从标定板中读取marks中心坐标,该坐标值是标定板坐标系统里的坐标值,该坐标系统以标定板为参照,向右为X正,下为Y正,垂直标定板向下为Z正。该算子控制输出为标定板中心3D坐标。

    2.create_calib_data:创建Halcon标定数据模型。输出一个输出数据模型句柄。

    3.set_calib_data_cam_param:设定相机标定数据模型中设置相机参数的原始值和类型。设置索引,类型,以及相机的原始内参数等。

    4.set_calib_data_calib_object:在标定模型中设定标定对象。设定标定对象句柄索引,标定板坐标点储存地址。

    5.find_caltab:分割出图像中的标准标定板区域。输出为标准的标定区域,控制

    6.find_marks_and_pose:抽取标定点并计算相机的内参数。输出MARKS坐标数组,以及估算的相机外参数。

    即标定板在相机坐标系中的位姿,由3个平移量和3个旋转量构成。

    7.set_calib_data_observ_points( : : CalibDataID, CameraIdx, CalibObjIdx,CalibObjPoseIdx, Row, Column, Index, Pose : )

    收集算子6的标定数据,将标定数据储存在标定数据模型中。输入控制分别为标定数据模型句柄,相机索引,标定板索引,位姿索引,行列坐标,位姿。

    8.calibrate_cameras( : : CalibDataID : Error) 标定一台或多台相机,依据CalibDataID中的数据。控制输出平均误差。

    9.get_calib_data( : : CalibDataID, ItemType, ItemIdx, DataName : DataValue) 获得标定数据。

    依靠索引号和数据名称来返回输出的数据值。可查询与模型相关的数据,与相机相关的数据(包括相机的内外参数等),与标定对象相关的数据,与标定对象的姿态相关的数据。控制输出是要查询的标定数据。

    如:

    get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam) //查询相机的位姿

    get_calib_data (CalibDataID, 'calib_obj_pose', [0, NumImage], 'pose', Pose) //查询标定板位姿

    10.write_cam_par( : : CameraParam, CamParFile : ) 记录相机的内参数,输入控制为内参数,输出控制为

    存取相机内参数的文件名。

    11.set_origin_pose( : : PoseIn, DX, DY, DZ : PoseNewOrigin)

    设置新的坐标原点,控制输入为原始的位姿和沿着世界坐标系的三个坐标轴的平移量,控制输出为新的位姿。

  • 相关阅读:
    python一些简单操作
    MySQL事务
    c#替换word中的文本并导出(示例)
    SQLServer将某个字段的多行记录合并返回一行
    SQL根据某字段查询不重复记录
    SQLServer逗号分割字符串返回多行
    c# js日期工具
    onchange,onfocus ,oninput事件
    compositionstart事件与compositionend事件
    图片处理问题
  • 原文地址:https://www.cnblogs.com/hanzhaoxin/p/2842217.html
Copyright © 2011-2022 走看看