最近做了一款相机的标定软件,可以用来标定本软件支持的相机和机械手坐标系的关系。目前软件支持的相机有大恒USB相机,IDS的uEye网口相机,普通的USB相机。其中镜面靶标其实就是一种特定规则形状的标定板,可以是圆形,矩形,任意的连通形状的材料,其中人脸靶标可以提供玩耍测试。具体的软件使用说明如下(或者说明比较抽象的话,可以先看下面的几个截图,或者你可以下载本软件玩玩):
【功能说明】
这是一个标定助手,它可以标定出图像坐标系和机械手坐标系的关系。
【使用说明】
1.选择标定使用的相机;
2.选择标定使用的靶标;
3.新建文件,建立对应工程的配置文件,或者打开之前的文件;
4.点击完成配置,等待启动完成;
5.进入‘处理’选项卡,对各各识别参数进行调整(可以参考二值图像),知道可以正确识别靶标;
6.将靶标进行旋转依次得到3个目标图像点(靶标必须出于图像视野,旋转角度越大越好,理想角度(0°,120°,240°)的三个角度然后点击设置为P1,P2,P3依次取点P1,P2,P3);
7.取得三个点后,点击设置为C1,也就是这三个点构成圆的圆心;
8.在‘输入机械M1’输入此时的机械手对应的坐标点的坐标M1;
9.移动机械手到另一个位置(与上一个位置的差越大越好,但必须保证旋转取得的3个点药在视野内);
10.重复第6步,取得此时的P1,P2,P3;
11.点击设置为C2;
12.在‘输入机械M2’输入此时的机械手对应的坐标点的坐标M2;
13.点击‘开始标定并输出’按钮,将会在下面的输出4个‘坐标关系’对应的外参矩阵[a,b,c,d];
14.变换和测试4个坐标转换矩阵,查看左下角的‘当前机械坐标点’和实际的机械手坐标点哪个是对应的,那么此时的外参矩阵就是对应的外参矩阵;
15.到此已经成功提取外参矩阵[a,b,c,d],就可以使用啦!
【使用规则】
Machine.x=Image.x*a-Image.y*b+c;
Machine.y=Image.x*b+Image.y*a+d;
[a,b,c,d]:外参矩阵;
Machine :当前机械点的x,y;
Image :当前图像点的x,y(和‘坐标关系’有关);
X+Y+:x = x,y = y
X-Y+:x = f.w - x,y = y
X+Y-:x = x,y = f.h - y
X-Y-:x = f.w - x,y = f.h - y
注:如果没有本软件支持的相机也可以当做计算器,您可以直接将你的坐标输入,再点击‘开始标定并输出’按钮也可以输出外参矩阵[a,b,c,d]。
=============================分界线==================================
上几张软件截图:
本软件(下载地址)支持Windows64位系统,还在更新一些新功能,如果已经下载了软件,需要最新的留个邮箱,如果有更新就发给您。如果你有什么疑问或者需要帮忙的话请留言,我会热心回答哒,谢谢阅读。
注:标定原理可以参考我的这篇文章。
注:现在下载的那个好像少了几个ueye的动态库,如果,先下载的话,可以留个邮箱我会发过去的,经常在线,看到就发,后面我在上传个完整版的。
本软件已经更新完成,已经把动态库都加进去了,直接下载就能用了,顺带还附加了许多小功能(具体见软件),下载地址也更新了-->(传送门),新软件截图如下: