iOS GPUImage研究六:为视频添加图片水印

前言:

我们在前面已经做了关于、GPUImage导入方式、滤镜介绍、性能对比、图片处理、捕获照片处理、实时滤镜以及一个比较完整地Demo。

今天:

我们来给摄像头添加一个实时视频水印,很简单,大概有60行代码。

关于如何导入GPUImage,请看这里:
http://blog.csdn.net/xoxo_x/article/details/60323297


效果图:

使用一张美女图片作为图片水印,然后获取摄像头数据。将二者组合,可以看到颜色的叠加,但又似乎不是简单地叠加。

这里写图片描述


代码概览如下:

这里写图片描述


原理如下:

GPUImagePicture、GPUImageVideoCamera均可作为纹理来源,我们将两个纹理来源交给混合滤镜,混合滤镜将两种纹理按相乘颜色照矩阵的方式组合成新的纹理。

GPUImageView可作为输出源,将纹理展现给我们。

首先我们需要了解GPUImage提供的滤镜:
http://blog.csdn.net/xoxo_x/article/details/57082804

视频水印用到的是混合滤镜

    1Color adjustments: 31 filters, 颜色处理相关
    2、Image processing: 40 filters, 图像处理相关.
    3、Blending modes: 29 filters, 混合模式相关.
    4、Visual effects: 25 filters, 视觉效果相关.

原理图:

这里写图片描述


那么,换一种情况:为已经现有视频A添加图片水印

使用的是GPUImageMovie作为输入源,来代替GPUImageVideoCamera,其余不变。

那么,换一种情况:使用现有视频A作为实时视频水印

GPUImageVideoCamera不变,通过改变纹理来源,即通过使用GPUImageVideoFile来获取视频水印,作为纹理,代替使用GPUImagePicture。这样,我们就可以制作关于视频的视频水印了。

那么,换一种情况:使用现有视频A 作为 现有视频B 的 水印

二者均使用的是GPUImageMovie作为输入源

那么,换一种情况:使用现有图片A 作为 现有图片B 的 水印

二者均使用的是GPUImagePicture作为输入源
不过,这个似乎有些奇怪,实验结果,就是两张照片融合到了一起,有点像换场动画。

欢迎打赏 – 打赏后可加好友哦 O(∩_∩)O哈哈~

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Xoxo_x/article/details/71055867