【问题标题】:Is there any way to get frame by frame using AVCaptureSession object in swift?有什么方法可以快速使用 AVCaptureSession 对象逐帧获取?
【发布时间】:2016-02-07 15:51:41
【问题描述】:

我必须使用我的 c++ 函数处理 iPhone 相机捕获的帧。所以我使用startRunning()函数来启动数据流,但是我可以通过什么方式来处理每一帧呢?​​

【问题讨论】:

    标签: ios swift avfoundation avcapturesession


    【解决方案1】:

    是的,这很简单。你需要

    1. 创建一个 AVCaptureVideoDataOutput 对象以生成视频帧
    2. 为 AVCaptureVideoDataOutput 对象实现一个委托以处理视频帧
    3. 在委托类中,实现写入样本缓冲区时调用的方法 (captureOutput:didOutputSampleBuffer:fromConnection:)。

    有关更多信息,您可以read this part 的 AVFoundation 编程指南。代码示例在 Objective-C 中并不快,但我想你明白了。

    【讨论】:

      【解决方案2】:

      我创建了一个可以帮助你的类:CameraCaptureHelper 包装了所有 AVFoundation 的东西,并在其委托上调用一个方法,它在每个帧中传递一个 CIImage

      【讨论】:

      • 我会玩的!谢谢!
      猜你喜欢
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 2016-02-16
      • 1970-01-01
      相关资源
      最近更新 更多