c# – 使用带有Unity的ARKit访问iPhone相框,转换camera.videoparams.cvPixelBuffer

我目前正在尝试创建一个使用OpenCV和ARKit的Unity项目.我有OpenCV,以便执行一些轻量级的功能识别,我不想直接通过ARKit.我有ARKit应用程序和OpenCV应用程序分开工作;然而,当一起使用时,ARKit抓住相机,我还没有弄清楚如何将ARKit帧数据提供给OpenCV用于我计划的功能识别.

我目前的目标是使用ARFrameUpdated方法管道ARKit帧数据,如下所示:

public void ARFrameUpdated(UnityARCamera camera)
{
    // Get the frame pixel buffer
    var cvPixBuf = camera.videoParams.cvPixelBufferPtr;

    // Somehow convert to BGRa and insert into OpenCV datastructure

    // Perform OpenCV related actions 
}

但是,我不确定如何将camera.videoParams.cvPixelBufferPtr转换为可以与OpenCV一起使用的东西.

如果有人知道我可以用来做另一种方法,那也值得赞赏.

解决方法:

尝试创建一个新相机,将UnityARVideo添加到它,并将其剔除掩码设置为空,并将其渲染为RenderTexture.它将为纹理渲染未经过处理的相机.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...