在iPhone上处理另一个图像后捕获一个图像

时间:2016-01-25 05:38:07

标签: ios iphone

我正在尝试在iPhone上实现一些图像处理。该计划应如下工作:

  1. 用户触摸按钮以启动任务;
  2. 根据处理结果从我的AVCaptureConnection拍摄一张图像,处理它,在相机配置上做一些事情(比如设置感兴趣的点,让它重新聚焦然后锁定焦点);
  3. 拍摄另一张照片,处理它;
  4. 根据上述处理结果,立即转到(3)或等待几毫秒;
  5. 重复(3)和(4)直到用户停止它。
  6. 我在这项任务中遇到的问题是我不知道如何强制这些任务顺序运行(只有在最后一步完成后才进行下一步)。我只能找到

    captureStillImageAsynchronouslyFromConnection()
    

    捕获图像的方法,它似乎在调用它的同一个线程中运行。结果,我不能打电话

    [NSThread sleepForTimeInterval:sometime]
    

    等待然后检查处理是否完成没有"睡眠"处理也是如此。

    我能做些什么来完成任务,还是我必须自己使用显式线程?

1 个答案:

答案 0 :(得分:0)

我想出了一个使用通知的解决方案,它运行良好。我在captureStillImageAsynchronouslyFromConnection()中调用的句柄末尾发布通知,这样当代码完成处理时,它会通过通知中心调用下一步。

以下是examples on custom notifications,我基本上都遵循了它。