【问题标题】:how to overlay a series of images in GPUImage如何在 GPUImage 中叠加一系列图像
【发布时间】:2013-04-07 02:44:47
【问题描述】:
我一直在查看 GPUImage,但在显示和录制视频时无法弄清楚如何在视频顶部叠加一系列 png 或 jpg 图像。我想要在视频顶部叠加(或实际相乘)的序列中大约有 150 张照片。似乎我应该能够在两个图像叠加或乘法过滤器中每 1/24 秒将纹理从一帧换到下一帧。我不确定这是否会起作用?
在一个相关问题中,如果我根据两个输入混合过滤器制作自定义过滤器,在实例化过滤器并启动相机拍摄?
【问题讨论】:
标签:
image
overlay
sequence
blend
gpuimage
【解决方案1】:
我确实设法让它工作,虽然不是按照我最初想要的方式,但它也能正常工作。我必须做的是使用 GPUImageMovie 对象。
所以代码看起来像:
filter10 = [[GPUImageAddBlendFilter alloc] init];
[filter10 forceProcessingAtSize:_imageView7.sizeInPixels];
NSURL *url = [[NSBundle mainBundle] URLForResource:@"sample_film" withExtension:@"mov"];
_imageMovie = [[GPUImageMovie alloc] initWithURL:url];
_imageMovie.playAtActualSpeed = true;
_imageMovie.delegate = self;
[_imageMovie addTarget:filter10];
[_imageMovie startProcessing];
[filter10 addTarget:_imageView7];
[_videoCamera startCameraCapture];
感谢 Brad Larson 的 GPUImage,我终于能够制作出我想要制作的具有足够性能的视频应用程序,而不必依赖 CIFilter,它没有我需要的一切。我需要为一件事编写一些自定义过滤器。