【发布时间】:2014-03-24 20:30:23
【问题描述】:
我正在开发一个图像拼接应用程序,该应用程序从相机获取输入,估计图像变换并通过估计的变换扭曲输入图像。如下图所示,来自相机的图像被输入到链的 2 个分支中。然而,图像变形的处理依赖于变换估计的结果。我的问题是如何让分支 1 等待分支 2 的结果?
【问题讨论】:
标签: ios opengl-es opengl-es-2.0 gpuimage chain
我正在开发一个图像拼接应用程序,该应用程序从相机获取输入,估计图像变换并通过估计的变换扭曲输入图像。如下图所示,来自相机的图像被输入到链的 2 个分支中。然而,图像变形的处理依赖于变换估计的结果。我的问题是如何让分支 1 等待分支 2 的结果?
【问题讨论】:
标签: ios opengl-es opengl-es-2.0 gpuimage chain
如果您将图像变形过滤器设为 GPUImageTwoInputFilter 的子类,则会为您处理此同步。
将 GPUImageVideoCamera 实例定位到您的特征匹配/变换估计过滤器和图像扭曲过滤器,然后将您的特征匹配/变换估计过滤器定位到图像扭曲过滤器。这将导致您的视频输入通过第一个输入图像进入,并且您的特征匹配和变换估计过滤器的结果将出现在第二个图像中。 GPUImageTwoInputFilter 子类仅在将输入帧都提供给它们的输入后处理和输出帧。
这应该会为您提供所需的同步,并且设置起来非常简单。
【讨论】:
我认为,您可以尝试使用 dispatch_semaphore_t 看here。
【讨论】: