双目视觉测距遇难题 已知目标点三维信息如何求其深度值

天助自助者 2013-07-22 02:02:03
我的两个相机是竖直交叉放置的,以下相机光心作为世界坐标系原点,以下相机光轴作为世界坐标系Z轴。通过坐标系转换,建立超定方程,求解得到目标点的三维信息(X,Y,Z),但是这个Z不是深度值,他只是世界坐标系Z轴方向上的Z值。我要求得目标点深度(或几个目标点的相对深度),该如何办?着急。希望做过的前辈们给我指导一下,不胜感激。
...全文
598 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
天助自助者 2013-08-06
  • 打赏
  • 举报
回复
引用 10 楼 hyr731 的回复:
[quote=引用 8 楼 victor_woo 的回复:] 你的尺子是用来测量什么距离的? 在那个黄色箱子的顶面画一个网格,找一个和点测量出和你相机的水平方向和数值方向距离 好像这种3D测量都有参照物的
[/quote没关系。非常感谢与你的交流。祝好~
victor_woo 2013-08-06
  • 打赏
  • 举报
回复
帮不到你了,这两天在做通过几个距离尺寸(卷尺量的)计算一个平地盒子的空间姿态,头大了
天助自助者 2013-08-05
  • 打赏
  • 举报
回复
您说的我没理解。麻烦您有空儿的时候给我解释下好吗 “这3个点可以方便获取OABC坐标系中的三维坐标
如何获取3个点在OABC坐标系中的三维坐标呀?
“你的相机在某个位置”您的意思是相机在OABC坐标系中的三维坐标吗?
“拍出来这三个点在相机坐标系中的三维坐标”这三个点确实可以求得。
“理论上这两组数据可构建变换关系(一个旋转矩阵!),可以把实际被测点转换到OABC中 得到深度”您的意思是求下相机坐标系到OABC坐标系的转换是吗 ?具体该如何求呢?


vs:

其实我想求得是目标点p1 p2谁离镜头近,如何衡量呢,我的想法是求p1、 p2到穿过下相机光心的竖直线的距离。。我的思路对吗?如何求这个距离呢?我的想法是建立坐标系时,世界坐标系的Y轴就取穿过下相机光心的竖直线。但是Z轴和X轴不知该如何描述,它们的选择有多种,Z轴肯定在水平面内,并且指向目标点所在的视野。您说,我建立这样一个坐标系可行吗?以下相机光心为原点,经过下相机光心的竖直线为Y轴,以经过光心的水平面并且指向目标点所在的场景的直线为Z轴,以垂直于ZY面的直线为X轴建立世界坐标系,那么最终按照坐标系变换方法算出的目标点的三维坐标中的Z值就是目标点到镜头的距离了。其实更准确的说法是目标点到穿过光心所在竖直线的距离。

引用 5 楼 hyr731 的回复:
[quote=引用 4 楼 victor_woo 的回复:]
图中下面那个相机的方位并不一定和O-ABC坐标系一致是吧? 但是你需要的是OP1在OA方向的投影长度?

把两个坐标系的关系建立起来,很简单的计算

OABC选好基准,注意OA的方向是很多选择的,选定一个 OC是确定的,竖直向下,OB=OAXOC

O保持为相机的光心,那么相机本身的位姿调整有两个转角:1 绕竖直方向的转角 2 相对水平面的俯仰角
对对对 您理解我的意思了 。但是两个坐标系的关系建立容易吗?我不知该如何建立,求这两个角度。一开始,我以为 在下摄像机坐标系中的Z和Z在OA上的投影有一定的比例关系,可是实验结果并不是。我用的这种组合角尺算的。,可能这种测量方式本身误差就很大 ,但是实在没找到别的适合方式。 同样OA方向上的10mm距离 在Z方向上算的就有差别,我测了两组实验 9.872026 mm和 10.0116mm , OA方向上的20mm 的距离在Z方向上是19.883648 。 vs:我左右图像目标点是手动取点的。就是鼠标分别点击左、右图像目标点。[/quote]
天助自助者 2013-08-05
  • 打赏
  • 举报
回复
引用 8 楼 victor_woo 的回复:
你的尺子是用来测量什么距离的?

在那个黄色箱子的顶面画一个网格,找一个和点测量出和你相机的水平方向和数值方向距离

好像这种3D测量都有参照物的
天助自助者 2013-08-05
  • 打赏
  • 举报
回复
引用 8 楼 victor_woo 的回复:
你的尺子是用来测量什么距离的? 在那个黄色箱子的顶面画一个网格,找一个和点测量出和你相机的水平方向和数值方向距离 好像这种3D测量都有参照物的
尺子是用来测量目标点到镜头距离的。其实我是测得相对距离。比如1cm处的点到3cm处的点的距离。本来应该算点与点之间的测量距离与计算出来的差多少。但是我计算的是空间点的空间距离,是P1P2之间的距离,这样是不对的。应该算P1P1'-P2P2'才对。现在是不知道如何求P1P1' P2P2'。我在想把世界坐标系建立成之前我说的那种,应该能求出来。但是不知道如何求上相机、下相机分别对于世界坐标系的相对位置。
victor_woo 2013-08-05
  • 打赏
  • 举报
回复
你的尺子是用来测量什么距离的? 在那个黄色箱子的顶面画一个网格,找一个和点测量出和你相机的水平方向和数值方向距离 好像这种3D测量都有参照物的
victor_woo 2013-07-26
  • 打赏
  • 举报
回复
从你的工作图来看无法获取两个转角,参考以下方案: 在你的工作空间内建立几个参照点(3个以上),保证每次都会被拍进去 这3个点可以方便获取OABC坐标系中的三维坐标 你的相机在某个位置 拍出来这三个点在相机坐标系中的三维坐标 理论上这两组数据可构建变换关系(一个旋转矩阵!),可以把实际被测点转换到OABC中 得到深度
天助自助者 2013-07-26
  • 打赏
  • 举报
回复
引用 4 楼 victor_woo 的回复:
图中下面那个相机的方位并不一定和O-ABC坐标系一致是吧? 但是你需要的是OP1在OA方向的投影长度?

把两个坐标系的关系建立起来,很简单的计算

OABC选好基准,注意OA的方向是很多选择的,选定一个 OC是确定的,竖直向下,OB=OAXOC

O保持为相机的光心,那么相机本身的位姿调整有两个转角:1 绕竖直方向的转角 2 相对水平面的俯仰角
对对对 您理解我的意思了 。但是两个坐标系的关系建立容易吗?我不知该如何建立,求这两个角度。一开始,我以为 在下摄像机坐标系中的Z和Z在OA上的投影有一定的比例关系,可是实验结果并不是。我用的这种组合角尺算的。,可能这种测量方式本身误差就很大 ,但是实在没找到别的适合方式。 同样OA方向上的10mm距离 在Z方向上算的就有差别,我测了两组实验 9.872026 mm和 10.0116mm , OA方向上的20mm 的距离在Z方向上是19.883648 。 vs:我左右图像目标点是手动取点的。就是鼠标分别点击左、右图像目标点。
victor_woo 2013-07-25
  • 打赏
  • 举报
回复
图中下面那个相机的方位并不一定和O-ABC坐标系一致是吧? 但是你需要的是OP1在OA方向的投影长度? 把两个坐标系的关系建立起来,很简单的计算 OABC选好基准,注意OA的方向是很多选择的,选定一个 OC是确定的,竖直向下,OB=OAXOC O保持为相机的光心,那么相机本身的位姿调整有两个转角:1 绕竖直方向的转角 2 相对水平面的俯仰角
天助自助者 2013-07-25
  • 打赏
  • 举报
回复
是否我把世界坐标系建立成普通的坐标系就可以了呢 还是以下相机光心为原点,竖直方向是Y轴 目标点在Y轴上的分量就是目标点到镜头的深度了吧 哎 我表述的还是不够准确 我不知道这该怎么描述
天助自助者 2013-07-25
  • 打赏
  • 举报
回复
引用 1 楼 victor_woo 的回复:
深度? 定义 离相机的距离?

如果你能获取任意一点的三维坐标,那不是可以直接计算?
我要求的是目标点到镜头的距离在水平面方向的深度 画个图: 红色的坐标系 是以下面相机的光心为原点,以水平面OA方向为Z轴,以竖直方向OC位Y轴,OB为X轴建立的坐标系。我现在求出的三维坐标是世界坐标系与下相机坐标系重合的情况下的。所以 求出的Z并不是目标点下相机光心的距离,而只是Z方向的一个分量而已。
victor_woo 2013-07-24
  • 打赏
  • 举报
回复
深度? 定义 离相机的距离? 如果你能获取任意一点的三维坐标,那不是可以直接计算?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧