iOS GPUImage研究六:为视频添加图片水印
iOS GPUImage研究六:为视频添加图片水印
前言:
我们在前面已经做了关于、GPUImage导入方式、滤镜介绍、性能对比、图片处理、捕获照片处理、实时滤镜以及一个比较完整地Demo。
1
今天:
我们来给摄像头添加一个实时视频水印,很简单,大概有60行代码。
1
关于如何导入GPUImage,请看这里:
http://blog.csdn.net/xoxo_x/article/details/60323297
效果图:
使用一张美女图片作为图片水印,然后获取摄像头数据。将二者组合,可以看到颜色的叠加,但又似乎不是简单地叠加。
1
代码概览如下:
原理如下:
GPUImagePicture、GPUImageVideoCamera均可作为纹理来源,我们将两个纹理来源交给混合滤镜,混合滤镜将两种纹理按相乘颜色照矩阵的方式组合成新的纹理。
1
GPUImageView可作为输出源,将纹理展现给我们。
首先我们需要了解GPUImage提供的滤镜:
http://blog.csdn.net/xoxo_x/article/details/57082804
视频水印用到的是混合滤镜
1、Color adjustments: 31 filters, 颜色处理相关
2、Image processing: 40 filters, 图像处理相关.
3、Blending modes: 29 filters, 混合模式相关.
4、Visual effects: 25 filters, 视觉效果相关.
1
2
3
4
5
原理图:
那么,换一种情况:为已经现有视频A添加图片水印
使用的是GPUImageMovie作为输入源,来代替GPUImageVideoCamera,其余不变。
1
那么,换一种情况:使用现有视频A作为实时视频水印
GPUImageVideoCamera不变,通过改变纹理来源,即通过使用GPUImageVideoFile来获取视频水印,作为纹理,代替使用GPUImagePicture。这样,我们就可以制作关于视频的视频水印了。
1
那么,换一种情况:使用现有视频A 作为 现有视频B 的 水印
二者均使用的是GPUImageMovie作为输入源
1
那么,换一种情况:使用现有图片A 作为 现有图片B 的 水印
二者均使用的是GPUImagePicture作为输入源
不过,这个似乎有些奇怪,实验结果,就是两张照片融合到了一起,有点像换场动画
————————————————
版权声明:本文为CSDN博主「Quinn士魁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Xoxo_x/article/details/71055867