Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
Ios 在iphone上处理一幅图像后捕获另一幅图像_Ios_Iphone - Fatal编程技术网

Ios 在iphone上处理一幅图像后捕获另一幅图像

Ios 在iphone上处理一幅图像后捕获另一幅图像,ios,iphone,Ios,Iphone,我正在尝试在iPhone上实现一些图像处理。该程序应按以下方式工作: 用户点击按钮开始任务 从我的AVCaptureConnection中获取一张图像,对其进行处理,根据处理结果在相机配置上执行一些操作(例如设置感兴趣的点,让其重新聚焦,然后锁定焦点) 拍摄另一张图像,对其进行处理 根据上述处理结果,立即转到(3)或等待几毫秒 重复(3)和(4),直到用户停止 我在这个任务中遇到的问题是,我不知道如何强制这些任务按顺序运行(只有在最后一步完成后才执行下一步)。我只能找到 captureStill

我正在尝试在iPhone上实现一些图像处理。该程序应按以下方式工作:

  • 用户点击按钮开始任务
  • 从我的AVCaptureConnection中获取一张图像,对其进行处理,根据处理结果在相机配置上执行一些操作(例如设置感兴趣的点,让其重新聚焦,然后锁定焦点)
  • 拍摄另一张图像,对其进行处理
  • 根据上述处理结果,立即转到(3)或等待几毫秒
  • 重复(3)和(4),直到用户停止
  • 我在这个任务中遇到的问题是,我不知道如何强制这些任务按顺序运行(只有在最后一步完成后才执行下一步)。我只能找到

    captureStillImageAsynchronouslyFromConnection()
    
    方法捕获图像,该图像似乎在调用它的同一线程中运行。因此,我不能打电话

    [NSThread sleepForTimeInterval:sometime]
    
    等待,然后检查处理是否在没有“休眠”处理的情况下完成


    我还可以做些什么来完成这项任务,或者我自己必须使用显式线程吗?

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

    这是我基本上遵循的