如何在 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中的图像上绘制渐变

如何在 ios 中添加一组应在单击按钮时更改的图像? [关闭]

图像处理库GPUImage简单使用

GPUImage – 调节图像颜色 GPUImageToneCurveFilter

使用 GPUImage 过滤器后无法保存图像