AR标记时虚实融合投影仪和相机的手动标定 投影仪相机标定

1,在unity电脑屏幕上得到的相机的四个点做标记。

2,调整投影用到的相机的Transform让四个标记与真实的相重合,记下位置后,停止运行unity,然后把值重新调整到刚才记下的位置。组件上右击copy component,----paste as new 

3,为了快速的调好,应该让投影仪和相机的位置比近,近似认为在一起的那样。

4,用于投影的那个相机看到的平面,的大小应该是每次都一样的不然比例会出错。

5,用普通相机时视频里会有彩虹纹,采用工业相机时色彩不正常,不好调,如果反光则可以调unity中投影相机的背景颜色。

6,眼动的标定

可以先htc头盔中能看见可视化的眼动,也可以看到投影的红色小球。但两者有一定的偏差,通过标记来解决。先新建四个 红色的小球,然后运行工程,看一个标记的位置,把正确的投影位置用四个 东西标记,最后调整投影相机的位置和视角完成标记。然后可以把可视化的眼动结果不可见,即只能看到投影出来的一个红色小球,问题完美解决。

上面这图是在HTC头盔中可视化与投影的都可见。应该这样来标记更快,只要四个标记点本来就在那个平面则调整相机重合就好。

--------------------------------------------------------------------------------------------------------------------------------------------

上面的相机采用平行投影可能会效果好一点

===============================================================================

方案二

投影和相机的标定,在物理世界中投影和相机有一定的距离,标记的目的简单的说就相当于当投影仪和相机的成像中心重合,投影仪可以看为逆光的相机,这样说来要做的事就是将给投影仪视野的虚拟相机与真实相机重合,且比例相同(这里我们采用unity的虚拟相机为平行投影)。

1 打开unity工程并将虚拟相机调整为平行投影。

2 调出要投影的game窗口,调整scale可以看到虚拟相机的边界-----》即下图的黑框;并记下scale比例,如果标定好后下次可以快速调整好。

3 打开相机,可以看到投影的game窗口,然后拖动game窗口的中心和相机视野的中心相重合。=====这就相当于将投影用的虚拟相机和真实相机的中心重合了。

4  在桌面上测量投影game窗口的 L边的真实尺寸。

5 修改unity工程中虚拟相机size的大小,size的大小 为平行投影测量L的一半。

6 这样基本上可以实现投影仪和相机的标定。

===============================================================================

方案三

相机和投影安装平行,投影先采用梯形校正(为了投影的是正或长方形),相机的视野比投影的范围大

1,确定相机视野中物体真实长与像素比

测量相机视野中真实物体的边长Lreal,对应物体边长在图像中的像素值Lpixel

2, 确定投影的真实长

在投影的四个边界点上放四个小球,方便检测。通过相机检测投影的边界,求得像素值Ppixel

Lreal/Lpixel = Preal/Ppixel = BILI

求得Preal

3, 计算相机的ROI

以相机视野中投影的范围取ROI,并以ROI的中心像素位置求得真实坐标

4,调整投影使用的虚拟相机位置

ROI的真实坐标赋给虚拟相机位置,同时根据Preal调整虚拟相机的W或H值

以上方法相机视野中的实物可以采用标定板,实现一定程度的自动化

===============================================================================

方案四

采用单应性变换

假设在相机视野中有四个点(a, b, c, d),在相机视野中叠加远程专家的装配引导信息(如<ARANAO>),通过虚实融合后共享到装配现场,采用投影仪当四个点(a, b, c, d)投影到工作台,对应的四个点是e, f, g, h4-6所示。正确的虚实融合应当a, b, c, de, f, g, h对应重合,则远程专家的装配引导信息会投影到装配现场正确的位置。具体实现步骤如下:

手动调整本地客户端Unity 3D工程中,投影的虚拟相机位置;然后通过投影仪的梯形校正功能,调整投影画面。

Step3: 采用机器视觉开源库Opencv计算点集e, f, g, ha, b, c, d的单应性矩阵,并生成DLL,通过Unity 3D工程调用。以a(ax, ay)点对应的e(ex, ey)点为例则单应性变换可表示为:H

   式中H为3´3单应性矩阵。

Step4: 在视频流上叠加装配引导信息,再通过单应性变化后投影至工作台,则共享的视觉信息会在正确的位置。变换的是要投影的图像信息。

如果通过单应性变换相机采集的信息则视野会变小,而且真实空间中的物体位置是不能变化的。

---------------------

方案五

python

GitHub - kamino410/procam-calibration: A calibration software for projector-camera system using chessboard and structured light patterns.

Search · projector camera cal · GitHub

方案六

matlab程序

BingyaoHuang/single-shot-pro-cam-calib

GitHub - BingyaoHuang/single-shot-pro-cam-calib: [TASE & ISMAR'18] A Fast and Flexible Projector-Camera Calibration System

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值