iOS基于AVFoundation + GPUImage的实时图像处理

本文介绍了如何使用AVFoundation捕获摄像头图像并结合GPUImage进行实时图像处理。关键点包括检查设备参数、正确配置AVCaptureSession、在主线程中处理CMSampleBuffer和GPUImage操作,确保UI更新安全。
摘要由CSDN通过智能技术生成

基本思路就是:利用AVFoundation获取摄像头采集到的当前图像UIImage图像,然后用GPUImage处理。Shader之类的比较好搞。

图像采集大体按文档做即可,不过有几个需要注意的地方。


1. 在设置AVCaptureDevice的一些参数时,务必要先检测该参数是否可用。比如有无闪光灯,有无前置摄像头。


2. 凡是AVCaptureSession或者其元素(如AVCaptureDeviceInput, AVCaptureVideoDataOutput)发生了参数变化,都要在

AVCaptureSession的beginConfiguration和commitConfiguration之间进行。否则就要先stopRunning。


3. 不要忘了设置完毕后startRunning。


4. CMSampleBuffer的delegate的方法调用由于是发生在子线程中,所以在更新UI时,务必在主线程中进行。可以使用GCD的dispatch_sync(dispatch_get_main_queue(), someBlock); 也要注意用connection设置orientation。


另,GPUImage对图像的处理也要在主线程进行。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值