iOS上的Unity3D,检查Obj中的设备摄像头图像

我有一个Unity / iOS应用程序,用于捕获用户的照片并将其显示在3D环境中。 现在我想利用CIFaceFeature来查找眼睛位置,这需要访问本机(Objective-C)图层。 我的流程如下所示:

Unity - > WebCamTexture (将图像编码并发送到本机 - 这是SLOW

Obj-C - > CIFaceFeature (找到眼睛的坐标)

Unity - >显示眼睛位置

我有一个工作原型,但速度很慢,因为我在Unity(WebCamTexture)中捕获图像,然后将其发送到Obj-C以执行FaceFeature检测。 似乎应该有一种方法可以简单地让我的Obj-C班级“检查活动摄像头”。 这必须比编码和传递图像快得多,速度更快。

所以我的问题,简而言之:

  • 我可以在Obj-C中查询“目前是否有相机正在拍摄?”
  • 如果是这样,我如何从当前正在运行的会话中“快照”图像?
  • 谢谢!


    您可以通过统一更改CameraCapture.mm来访问相机的预览捕捉流。

    我建议你看看一些名为Camera Capture的现有插件,以举例说明如何将附加相机I / O功能添加到捕获会话/“捕获管道”中。

    让你走向正确的方向。 查看CameraCapture.mm中的函数initCapture:

    - (bool)initCapture:(AVCaptureDevice*)device width:(int)w height:(int)h fps:(float)fps 
    

    在这里您可以添加到捕获会话。

    然后你应该看看Apple提供的面部识别代码示例:

    https://developer.apple.com/library/ios/samplecode/SquareCam/Introduction/Intro.html

    干杯


    Unity 3D允许执行本机代码。 在脚本参考中,查找本机插件。 通过这种方式,您可以显示原生iOS视图(使用相机视图,根据您的需求可能隐藏)并运行Objective C代码。 如果您在3D视图中需要,请将眼睛检测结果返回给Unity。

    链接地址: http://www.djcxy.com/p/11713.html

    上一篇: Unity3D on iOS, inspecting the device camera image in Obj

    下一篇: OS X: list and remove files with spaces