在机器视觉里,到底什么是世界坐标系?


勇哥看到下面这图的时候,突然对什么世界坐标这个概念模糊起来。

image.png

一直以来,我以为所谓机器视觉里面的世界坐标是指摄像机视野内看到的对象上面的坐标。

但是上图中世界坐标的定义显然跟相机没啥子关系。

其实,世界坐标是我们自己定义的参考坐标而已,你可以把它定义在任何位置。

它可以在标定板上面,这时候它是为了描述相机的位置而被引入的参考坐标。(后面有示例)

它也可以是在其它任何位置,这取决于你的目的。


我们在halcon标定助手标定的时候,每张标定板图片上的世界坐标都是不同的。

最后这全部图片合在一起,halcon会算出相机的外参--世界坐标系与相机坐标系间的相对位姿(平移+旋转)。


后面引用的matlab的相机标定工具箱用的是棋盘格标定,每张图中标定块都在一个平面内。

halcon的则要复杂些,它的每张图中的标定块可能不在一个平面内。


下面引用matlab的棋盘格标定的例子:


image.png

这是matlab的标定工具箱,标定后所呈现的一张图,在标定时它将角点左上角坐标定义为世界坐标的原点,

平行方向的为X轴,垂直方向的为Y轴,以这个为世界坐标,计算外参,因为标定需要15-20张不同角度的图片,

因此,每张图所对应得世界坐标也是不同的。

第三张是我自己拍摄的19张不同角度的标定板图片,所得到得相对位姿的图像显示。

image.png

image.png

image.png

在这个例子里我们看到世界坐标是位于标定板上的,用于推算相机外参用的。

但是请注意世界坐标是我们自己定义的,可以在任何位置。


说个题外话:halcon的标定助手的标定,与matlab空上棋盘格标定有两个地方不同。

一是halcon的标定片不是放置同一个平面上的,二是halcon助手起始状态下填写的内参是硬件属性,但是标定完成后会计算出实际内参。



相机内参、外参、世界坐标系三者可以算出像素坐标。

也就是相机内参x相机外参x世界坐标系=Zc x 像素坐标系
其中,Zc是相机坐标系下的Z值,也就是相机坐标系与世界坐标系间的高度,也有的教程把它写为s,都是一样的。

image.png

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
  • 评论列表:
  •  Danny
     发布于 2020-08-06 10:28:39  回复该评论
  • 勇哥 你好 : 對於文章的第七行 "最後這全部圖片合在一起,halcon會算出相機的外參..."
    我認為是 Halcon 會用全部圖片來算 -˃ 相機內參, 而只會用指定的一張參考圖片來算 外參
    •  勇哥,很想停止
       发布于 2020-08-07 07:17:03  回复该评论
    • 在halcon的标定助手中,十几张图片,最终要求挑选一张做为参考位姿,感觉你所说的是对的。
      但问题是,如果你所说的是对的,为啥要十几张图片?

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864