使用标定板几个特定的点,来对相机相对标定板平面进行位姿估计。
首先进行相机的畸变校正,之后同个各个标定板间的圆点距离进行位姿估计。

gen_caltab (7, 7, 0.002, 0.5, 'C:/Users/22967/Desktop/新建文件夹/111.descr', 'C:/Users/22967/Desktop/新建文件夹/111.ps')* Calibration 01: Code generated by Calibration 01CameraParameters := [0.0268153,-459.834,4.50082e-006,4.5e-006,748.73,595.192,1600,1200]
CameraPose := [0.00274873,0.000129115,0.110939,0.217706,359.69,179.703,0]
stop ()* Calibration 01: Code generated by Calibration 01
CameraParameters := [0.0267739,-431.255,4.49971e-006,4.5e-006,768.8,628.601,1600,1200]
CameraPose := [-0.00722893,0.00318776,0.119628,359.941,0.528423,179.582,0]
stop ()*标定板畸变矫正准备
create_metrology_model (MetrologyHandle)
change_radial_distortion_cam_par ('fixed', CameraParameters, 0, CamParVirtualFixed)
gen_radial_distortion_map(MapFixed,CameraParameters,CamParVirtualFixed,'bilinear')* Image Acquisition 01: Code generated by Image Acquisition 01
open_framegrabber ('GigEVision', 0, 0, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'default', 'acA1600-60gm', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
while (true)grab_image_async (Image, AcqHandle, -1)dev_display (Image)map_image(Image,MapFixed,ImageRectifiedFixed)mean_image (ImageRectifiedFixed, ImageMean, 19, 19)dyn_threshold (ImageRectifiedFixed, ImageMean, RegionDynThresh, 5, 'dark')fill_up_shape (RegionDynThresh, RegionFillUp, 'area', 1, 1000)connection (RegionFillUp, ConnectedRegions)select_shape (ConnectedRegions, SelectedRegions, ['area','circularity'], 'and', [901.33,0.8662], [50000,1])sort_region (SelectedRegions, SortedRegions, 'character', 'true', 'row')area_center (SortedRegions, Area, Row2, Column2)
*     for Index3 := 0 to 48 by 1
*         disp_message (3600, Index3+1, 'image', Row2[Index3]+50, Column2[Index3]-50, 'black', 'true')
*     endforsmallest_circle (SortedRegions, Row, Column, Radius)
*     for Index3 := 0 to 48 by 1
*         disp_message (3600, Index3+1, 'image', Row[Index3]+50, Column[Index3]-50, 'black', 'true')
*     endfor
*     stop ()* 卡尺测量add_metrology_object_circle_measure (MetrologyHandle, Row, Column, Radius, Radius[0]/5, Radius[0]/60, 1, 10, ['measure_distance','min_score'], [Radius[0]/30,0.2], Index1)apply_metrology_model (ImageRectifiedFixed, MetrologyHandle)gen_empty_obj (Contours)get_metrology_object_measures (Contours, MetrologyHandle, 'all', 'all', Row1, Column1)get_metrology_object_result (MetrologyHandle, 'all', 'all', 'result_type', 'all_param', Parameter)get_metrology_object_result_contour (Contour, MetrologyHandle, 'all', 'all', 1.5)for Index2 := 0 to |Row|-1 by 1ImageX[Index2]:=Parameter[Index2*3+1]ImageY[Index2]:=Parameter[Index2*3]ImageR[Index2]:=Parameter[Index2*3+2]endforstop ()dev_display (ImageRectifiedFixed)
*     gen_cross_contour_xld (Cross, ImageY[24], ImageX[24], 26, 0.785398)
*     disp_message (3600, 24, 'image', ImageY[24]+50, ImageX[24]-50, 'black', 'true')
*     gen_cross_contour_xld (Cross, ImageY[21], ImageX[21], 26, 0.785398)
*     gen_cross_contour_xld (Cross, ImageY[27], ImageX[27], 26, 0.785398)
*     distance_pp (ImageY[24], ImageX[24], ImageY[21], ImageX[21], DistanceLeft)
*     distance_pp (ImageY[24], ImageX[24], ImageY[27], ImageX[27], DistanceRight)gen_cross_contour_xld (Cross, ImageY[24], ImageX[24], 26, 0.785398)disp_message (3600, 24, 'image', ImageY[24]+50, ImageX[24]-50, 'black', 'true')for Index := 1 to 4 by 1switch (Index)case 1:i:=21breakcase 2:i:=27breakcase 3:i:=3breakcase 4:i:=45breakendswitchgen_cross_contour_xld (Cross, ImageY[i], ImageX[i], 26, 0.785398)disp_message (3600, i, 'image', ImageY[i]+50, ImageX[i]-50, 'black', 'true')distance_pp (ImageY[24], ImageX[24], ImageY[i], ImageX[i], Distance)disp_message (3600, Distance, 'image', ImageY[i]+150, ImageX[i]-50, 'black', 'true')endforstop ()* Image Acquisition 01: Do something
endwhile
close_framegrabber (AcqHandle)

使用标定板对相机位姿进行估计相关推荐

  1. halcon直线标定板对相机标定的效果评估(对比矫正前后、对比标定板矫正效果)

    原图 程序源码 * gen_caltab (7, 7, 0.0025, 1/2.5, 'GB025标定板.descr', 'GB025标定板.ps') * Calibration 01: Code g ...

  2. 【入门】(二)相机标定、矩阵求解、相机位姿势估计

    目录 目录 一.相机模型.内参.外参,畸变以及相机标定 二.基本矩阵与对极约束 三.单应矩阵 四.相机姿势估计 一.相机模型.内参.外参,畸变以及相机标定 1.坐标系转换 (1)坐标系概念 世界坐标系 ...

  3. 《增强现实:原理、算法与应用》读书笔记(5)运动恢复结构(上)初始化、相机位姿估计、集束调整

    <增强现实:原理.算法与应用>读书笔记(5)运动恢复结构(上)初始化.相机位姿估计.集束调整 运动恢复结构(SfM)是一种从运动的相机拍摄的图像或视频序列中自动地恢复出相机运动轨迹以及场景 ...

  4. c++/opencv利用相机位姿估计实现2D图像像素坐标到3D世界坐标的转换

    最近在做自动泊车项目中的车位线检测,用到了将图像像素坐标转换为真实世界坐标的过程,该过程可以通过世界坐标到图像像素坐标之间的关系进行求解,在我的一篇博文中已经详细讲解了它们之间的数学关系,不清楚的童鞋 ...

  5. 相机位姿估计2:[应用]实时位姿估计与三维重建相机姿态

    关键词:相机位姿估计 OpenCV::solvePnP labview三维图片 文章类型:应用展示+Demo演示 @Author:VShawn(singlex@foxmail.com) @Date:2 ...

  6. 相机计算坐标公式_相机位姿估计3:根据两幅图像的位姿估计结果求某点的世界坐标...

    关键词:相机位姿估计,单目尺寸测量,环境探知 用途:基于相机的环境测量,SLAM,单目尺寸测量 文章类型:原理说明.Demo展示 @Author:VShawn @Date:2016-11-28 @La ...

  7. 【SLAM文献】2017-2018 CVPR ICCV ECCV 相机位姿估计、视觉定位、SLAM相关论文综述

    作者:变胖是梦想2014 来源链接:https://www.jianshu.com/p/22151f39b50c 目录 CVPR-2018 references CVPR-2017 reference ...

  8. 用matlab对相机进行标定获取相机内参

    常见的相机标定方式是张正友的棋盘格标定法,即用相机拍摄打印好的棋盘格图图像,将图像传入函数计算出相机的内参数据. 本文讲解的是将相机直接连接电脑,用matlab的相机标定工具箱通过相机实时采集一定数量 ...

  9. Ubuntu16.04 在ROS中配置RealSence D435 并标定深度相机与rplidar外参

    Ubuntu16.04系统,在ROS中配置RealSence D435 ,并标定其与rplidar的外参 主要目的是为rplidar标定深度相机外参,为机器人导航的过程提供障碍物识别的功能,因此需要知 ...

最新文章

  1. asp.net 入门的五个步骤
  2. mongodb集合的增删
  3. Spring mvc 转发、重定向
  4. 物料凭证不产生会计凭证的几种情况
  5. Python这几个内置函数简直是屌爆了!!!
  6. 专业解读“程序”:一文弄清什么是计算机程序!
  7. JS定时器的使用--无缝滚动
  8. 余敖的实验整理(还没完成)
  9. Could not load java.net.BindException错误解决
  10. ThinkPad R400 安装win2003网卡驱动
  11. vivo V15 Pro宣传片放出:前置3200万像素弹出式摄像头
  12. 重磅出击,体验Win2008 Hyper-V(下)
  13. mysql将最大金额加1000_Mysql数据库笔记
  14. 项目中碰到的ExceptionInInitializerError异常
  15. VS2017社区版许可证过期问题
  16. 民生银行java 面试_2019民生银行招聘面试试题及答案解析
  17. 此windows副本不是正版
  18. Golang FORM相关字段理解
  19. 固态硬盘与机械硬盘是否应该一起使用
  20. 微店抢票如何构造订单页面分析

热门文章

  1. C语言经典面试题目(转的,不过写的的确好!)
  2. jquery让页面滚动到底部
  3. vim下更省心地用中文
  4. Python爬虫学习笔记1:request、selenium、ChromeDrive、GeckoDriver等相关依赖安装
  5. 【技术累积】【点】【java】【29】MapUtils
  6. ReactiveCocoa基础
  7. BootstrapValidator验证
  8. P1021 邮票面值设计
  9. asyn4j -- java 异步方法调用框架
  10. img超出div width时, jQuery动态改变图片显示大小