前言:
我们在前面已经做了关于、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
视频水印用到的是混合滤镜
、Color adjustments: filters, 颜色处理相关
、Image processing: filters, 图像处理相关.
、Blending modes: filters, 混合模式相关.
、Visual effects: filters, 视觉效果相关.
原理图:
那么,换一种情况:为已经现有视频A添加图片水印
使用的是GPUImageMovie作为输入源,来代替GPUImageVideoCamera,其余不变。
那么,换一种情况:使用现有视频A作为实时视频水印
GPUImageVideoCamera不变,通过改变纹理来源,即通过使用GPUImageVideoFile来获取视频水印,作为纹理,代替使用GPUImagePicture。这样,我们就可以制作关于视频的视频水印了。
那么,换一种情况:使用现有视频A 作为 现有视频B 的 水印
二者均使用的是GPUImageMovie作为输入源
那么,换一种情况:使用现有图片A 作为 现有图片B 的 水印
二者均使用的是GPUImagePicture作为输入源
不过,这个似乎有些奇怪,实验结果,就是两张照片融合到了一起,有点像换场动画。
欢迎打赏 – 打赏后可加好友哦 O(∩_∩)O哈哈~