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

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

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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音、视频文件格式

* 说明:首先要分清楚 媒体文件和编码的区别:文件是既包括视频又包括音频、甚至还带有脚本的一个集合,也可以叫容器;文件当中的视频和音频的压缩算法才是具体的编码。 *AVI音视频交互存储,最常见的音频视频容器。支持的…

ELK日志分析系统(转)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://467754239.blog.51cto.com/4878013/1700828大纲: 一、简介 二、Logstash 三、Redis 四、Elasticsearch 五、Kinaba 一、简介 …

Glide使用总结

首先&#xff0c;添加依赖 implementation com.github.bumptech.glide:glide:4.5.0 annotationProcessor com.github.bumptech.glide:compiler:4.5.0之后添加访问网络权限 <uses-permission android:name"android.permission.INTERNET" />一、常用的方法 1、加…

流行的音频编码标准

speech codec (G.711, G.723, G.726, G.729, iLBC) 各种各样的编解码在各种领域得到广泛的应用&#xff0c;下面就把各种codec的压缩率进行一下比较&#xff0c;不正确之处望各位同行指正。 Speech codec&#xff1a; 现主要有的speech codec 有: G.711, G.723, G.726 , G…

【angularjs】使用angular搭建项目,pc端实现网页中的内容不可复制

实现目标&#xff1a;不可复制页面内容 js:          <script language"javascript"> if (typeof(document.onselectstart) ! "undefined") { // IE下禁止元素被选取 document.onselectstart function (event){if(event.targe…

DIV+CSS如何让文字垂直居中?

在说到这个问题的时候&#xff0c;也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗&#xff1f;即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊&#xff01;所以在这里我还要啰嗦两句&#xff0c;CSS中的确是有vertical-align属性&#xff0c;但是它…

Segments POJ 3304 直线与线段是否相交

题目大意&#xff1a;给出n条线段&#xff0c;问是否存在一条直线&#xff0c;使得n条线段在直线上的投影有至少一个公共点。 题目思路:如果假设成立&#xff0c;那么作该直线的垂线l&#xff0c;该垂线l与所有线段相交&#xff0c;且交点可为线段中的某两个交点 证明&#xff…

Linux Socket编程(不限Linux)

“一切皆Socket&#xff01;” 话虽些许夸张&#xff0c;但是事实也是&#xff0c;现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值&#xff0c;那网络中进程之间如何通信&#xff0c;如我们每天打开浏览器浏览网页时&#xff…

shell之计算文本中单词出现频率

2019独角兽企业重金招聘Python工程师标准>>> Word Frequency&#xff08;https://leetcode.com/problems/word-frequency/description/&#xff09; Example: Assume that words.txt has the following content: the day is sunny the the the sunny is is Your scr…

一个halcon拟合直线的例子

read_image (hImage, E:/vs2012/halcon卡尺例程/白光碗光效果4.bmp) get_image_pointer1(hImage, Pointer, Type, Width, Height) *功能&#xff1a;获取一个通道的指针&#xff0c;得到HTuple Pointer, Type, CurWidth, CurHeight dev_set_draw(margin) dev_set_color (green…

NLP数据挖掘基础知识

Basis(基础)&#xff1a; SSE(Sum of Squared Error, 平方误差和)SAE(Sum of Absolute Error, 绝对误差和)SRE(Sum of Relative Error, 相对误差和)MSE(Mean Squared Error, 均方误差)RMSE(Root Mean Squared Error, 均方根误差)RRSE(Root Relative Squared Error, 相对平方根误…

SQL Fundamentals || Oracle SQL语言

对于SQL语言&#xff0c;有两个组成部分&#xff1a; DML&#xff08;data manipulation language&#xff09; 它们是SELECT、UPDATE、INSERT、DELETE&#xff0c;就象它的名字一样&#xff0c;这4条命令是用来对数据库里的数据进行操作的语言。 DDL&#xff08;data defini…

圆形卡尺测量后创建模板

read_image (Image, QQ图片20201113111404.jpg) dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image) rgb1_to_gray (Image,Image) ****创建模板阶段 *大致找内圆 fast_threshold (Image, Region, 128, 255, 20) connecti…

fread函数和fwrite函数,read,write

fread函数和fwrite函数 1.函数功能 用来读写一个数据块。 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 3.说明 &#xff08;1&#xff09;buffer&#xff1a;是一个指针&#xff0c;对fread来说&#xff0c;它是读入数据的存放地址。对fwrit…

微信小程序 CSS filter(滤镜)的使用示例

前言 之前在看七月老师的视频的时候&#xff0c;看到了有一个样式是-webkit-filter&#xff0c;不知道是什么&#xff08;我没咋学过CSS&#xff0c;嘿嘿&#xff0c;所以不知道是啥&#xff09;&#xff0c;于是查了一下&#xff0c;原来是滤镜吖。但是在微信小程序里使用的时…

vmware ubuntu重置root密码

1.重启ubuntu&#xff0c;按住shift&#xff08;开机启动时&#xff09; 2.选择recovery mode,enter 3.root选择root drop to root shell prompt 4.进入shell界面设置密码 (1)mount -rw -o remount / (2)passwd username(设置root用户的密码) 完成以上修改后&#xff0c;重启就…

halcon使用直线标定板,标定相机内参代码

read_image (Image, 直线标定板图片/Left201118140641772.bmp) get_image_size (Image, Width, Height) dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image) * Image Acquisition 01: Code generated by Image Acquisiti…

dyld: Library not loaded: @rpath/libswiftCore.dylib 解决方法

解决&#xff1a; 设置Build Setting - > 搜索 embe关键字 -> 修改属性 见如下图&#xff1a; 如果更新了Xcode 8 这里变成&#xff1a; 转载于:https://www.cnblogs.com/yajunLi/p/5979621.html

Bootloader及u-boot简介/u-boot系统启动流程

Bootloader及u-boot简介Bootloader代码是芯片复位后进入操作系统之前执行的一段代码&#xff0c;主要用于完成由硬件启动到操作系统启动的过渡&#xff0c;从而为操作系统提供基本的运行环境&#xff0c;如初始化CPU、堆栈、存储器系统等。Bootloader 代码与CPU 芯片的内核结构…