做了一段时间跟相机相关iOS项目,经过多次使用OpenGL和GPUImage想到了一些好玩的效果和东西。
趁着项目间隙把这些想法逐一实现一下,首先是一个"扫描线"效果的相机界面,效果如下:
gif的图貌似不能超链接显示,,,,请直接点击效果.gif吧
其中的主要难点是:组合滤波器和shader逻辑的编写。
我的思路是:
用canny边缘实现物体边缘的扫描特效,再叠加到原始图像上,最终用shader渲染输出。
实现:
1、自定义一个滤波器组,用于组合canny滤波器和一个自定义双输入滤波器。
2、自定义双输入滤波器的第一个输入是canny边缘,第二个当然就是原始数据了,此滤波器还有一个重要的功能就是渲染canny的输出结果。
git链接如下:
https://github.com/celesius/ImageEffect.git