使用AV Foundation框架来实现实时滤镜

这篇博客介绍了如何利用AV Foundation框架创建实时滤镜。首先,创建一个新的AVCaptureSession,设置图像质量预置,然后配置输入设备和输出缓冲区。接着,建立预览图层并启动会话。通过AVCaptureConnection获取帧数据并在自定义图层中显示,实现相机的实时效果。此外,对比了UIImagePickerController的简单媒体捕捉功能。
摘要由CSDN通过智能技术生成
         使用AV Foundation框架来实现实时滤镜


      UIImagePickerController处理的并不是原始摄像头数据,他是在原始数据被处理成图像后才开始访问。而AV Foundation能在原始数据变成图像之前就直接访问它,这就使得我们能够执行一些额外的暗箱操作,来实现实时滤镜的制作。


      AVCaptureSession用来控制输入设备(AVCaptureDeviceInput)视频图像到流入输出缓冲区(AVCaptureOutput)的过程。一旦AVCaptureSession启动以后,就会收集来自输入设备的信息,并在适当的时候将这些信息输出到数据缓冲区中。


      AVCaptureVideoPreviewLayer默认情况下会显示来自输入设备的原始数据,如果要实现实时滤镜或在这个图层上绘制额外的物体,那么就要冲视频输出缓冲区获取数据帧数据,并对其进行处理,处理完毕后可将像素数据输出到另一个图层或者OpenGL上下文中。


      AVCaptureConnection是一个类,用来在AVCaptureInput和AVCaptureOutput之间建立连接。AVCaptureSession必须从AVCaptureConnection中获取实际数据。


     相机实时效果制作过程:

创建一个新的AVCaptureSession;

设置对图像质量的预置值;

通过AVCaptureDevice来创建必要的输入捕捉设备如摄像头;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值