我想将一堆(假设……大约40个)帧混合在一起,以获得一个运动模糊的帧。到目前为止,我的应用程序仅以10%的不透明度将所有帧绘制在第一个帧的顶部,但这对我来说还不足以令人信服。
Premiere Pro或当前的游戏引擎如何进行运动模糊?我使用的帧正在脱机渲染,因此渲染速度(或缺乏渲染速度)不是问题。我会很感激您的帮助和/或以编程方式完成正确帧融合的示例。
最佳答案
为什么不使用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];
只需将过滤器名称设置为
CIMotionBlur
(Core Image Filter Reference)并设置其值即可。