如何将X帧混合到一帧以获得运动模糊?

时间:2015-05-13 13:17:55

标签: swift cocoa image-processing motion-blur

我想将一堆(假设大约40个)的帧混合在一起,以获得一个运动模糊的帧。截至目前,我的应用程序只是以10%的不透明度绘制了第一个框架之上的所有框架,但这对我来说看起来不够令人信服。

Premiere Pro或当前的游戏引擎如何进行运动模糊?我使用的帧正在脱机渲染,因此渲染速度(或缺少渲染速度)不是问题。我非常感谢以编程方式完成正确帧混合的帮助和/或示例。

1 个答案:

答案 0 :(得分:1)

为什么不使用Cocoa Core Image?它是一个非常强大的框架,适合您的目的。 您只需要对图像应用简单的滤镜(在您的情况下是框架)。 请查看this page中的代码段:

CIContext *context = [CIContext contextWithOptions:nil];
CIImage *image = [CIImage imageWithContentsOfURL:myURL];
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"];
[filter setValue:image forKey:kCIInputImageKey];
[filter setValue:@0.8f forKey:kCIInputIntensityKey];
CIImage *result = [filter valueForKey:kCIOutputImageKey];
CGRect extent = [result extent];
CGImageRef cgImage = [context createCGImage:result fromRect:extent];

只需将过滤器名称设置为CIMotionBlurCore Image Filter Reference)并设置其值即可。