Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity Hololens 2:将屏幕点转换为世界点以进行对象检测的问题_Unity3d_Hololens_Mrtk - Fatal编程技术网

Unity3d Unity Hololens 2:将屏幕点转换为世界点以进行对象检测的问题

Unity3d Unity Hololens 2:将屏幕点转换为世界点以进行对象检测的问题,unity3d,hololens,mrtk,Unity3d,Hololens,Mrtk,我正在尝试为hololens 2实现一个对象检测程序,但我很难将输出的2D屏幕点转换为3D世界坐标,以便绘制边界框 以下是该计划的步骤: 拍照 发送到服务器进行分析 接收4个边界框坐标 缩放屏幕点坐标以匹配unity camera pixelheight和pixelwidth尺寸 使用Camera.ScreenPointToRay函数将光线投射到长方体的中心 当对象位于图像中心时,效果良好。因此光线将正确投射到边界框的中心,但对于右侧或左侧的对象,光线投射处于禁用状态。特别是光线稍微向中心投射

我正在尝试为hololens 2实现一个对象检测程序,但我很难将输出的2D屏幕点转换为3D世界坐标,以便绘制边界框

以下是该计划的步骤:

  • 拍照
  • 发送到服务器进行分析
  • 接收4个边界框坐标
  • 缩放屏幕点坐标以匹配unity camera pixelheight和pixelwidth尺寸
  • 使用Camera.ScreenPointToRay函数将光线投射到长方体的中心
  • 当对象位于图像中心时,效果良好。因此光线将正确投射到边界框的中心,但对于右侧或左侧的对象,光线投射处于禁用状态。特别是光线稍微向中心投射

    • 如果对象位于左侧,则光线将稍微向右侧投射
    • 如果对象位于右侧,则光线将稍微向左投射
    顶部和底部也一样

    有人能帮我解释一下这种行为吗


    谢谢

    您能包括您现在使用的代码吗?您能包括您现在使用的代码吗。