版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dolacmeng/article/details/81332531
GPUImage是一个开源的基于GPU的第三方图像处理库,可以对图像进行美化、添加各种滤镜等。GPUImage的视频采集部分的源代码,也是和上文中的AVFoundation实现采集(https://blog.csdn.net/dolacmeng/article/details/81268622)的步骤是一致的。下面例子是进行视频采集并添加增亮滤镜:
1.用cocoapods集成。
(1)用Xcode新建项目LiveGPUImageDemo,控制台cd到项目路径,用pod init初始化:
pod init
(2)此时打开项目根目录的Podfile文件,添加内容:
platform :ios, '9.0'
use_frameworks!
target 'LiveGPUImageDemo' do
pod 'GPUImage'
end
(3)控制台执行下载集成命令:
pod install
(4)打开LiveGPUImageDemo.xcworkspace工作空间
2、完整代码:
import UIKit
import GPUImage
class ViewController: UIViewController {
fileprivate lazy var camera : GPUImageVideoCamera = GPUImageVideoCamera(sessionPreset: AVCaptureSession.Preset.high.rawValue, cameraPosition: .back)
fileprivate lazy var filter = GPUImageBrightnessFilter()
override func viewDidLoad() {
super.viewDidLoad()
//设置摄像头方向为垂直
camera.outputImageOrientation = .portrait
//1.添加滤镜
camera.addTarget(filter)
camera.delegate = self
//2.添加一个用于实时显示画面的GPUImageView
let showView = GPUImageView(frame: view.bounds)
view.addSubview(showView)
filter.addTarget(showView)
//3.开始采集画面
camera.startCapture()
}
}
//采集回调
extension ViewController : GPUImageVideoCameraDelegate{
func willOutputSampleBuffer(_ sampleBuffer: CMSampleBuffer!) {
print("采集到画面")
}
}