如何在 GPUImage 中叠加一系列图像
Posted
技术标签:
【中文标题】如何在 GPUImage 中叠加一系列图像【英文标题】:how to overlay a series of images in GPUImage 【发布时间】:2013-04-07 02:44:47 【问题描述】:我一直在查看 GPUImage,但在显示和录制视频时无法弄清楚如何在视频顶部叠加一系列 png 或 jpg 图像。我想要在视频顶部叠加(或实际相乘)的序列中大约有 150 张照片。似乎我应该能够在两个图像叠加或乘法过滤器中每 1/24 秒将纹理从一帧换到下一帧。我不确定这是否会起作用?
在一个相关问题中,如果我根据两个输入混合过滤器制作自定义过滤器,在实例化过滤器并启动相机拍摄?
【问题讨论】:
【参考方案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,它没有我需要的一切。我需要为一件事编写一些自定义过滤器。
【讨论】:
以上是关于如何在 GPUImage 中叠加一系列图像的主要内容,如果未能解决你的问题,请参考以下文章
在 GPUImage 中将黑白图像转换为透明和白色图像? RGB -> Alpha 基本上
如何在 ios 中添加一组应在单击按钮时更改的图像? [关闭]