源码在最后,附带滤镜下载地址
GPUImageVideoCamera使用教程,手把手教你怎么做滤镜
本文将介绍10种滤镜效果包含
case 0:
//棕褐色过滤器
[self FSKSepiaFilter];
break;
case 1:
//单色过滤器
[self FSKMonochromeFilter];
break;
case 2:
//灰度过滤器
[self FSKGrayscaleFilter];
break;
case 3:
//滤色过滤器
[self FSKColorInvertFilter];
break;
case 4:
//查询过滤器
[self FSKLookupFilter];
break;
case 5:
//高亮投影过滤器
[self FSKHighlightShadowFilter];
break;
case 6:
//彩色矩阵过滤器
[self FSKMatrixFilter];
break;
case 7:
//曝光度
[self FSKExposureFilter];
break;
case 8:
//伽马线
[self FSKGammaFilter];
break;
case 9:
//美颜滤镜
[self FSKBeautifyFilter];
break;
效果图:
美女来自网上,希望没有侵犯版权
实现步骤如下:
下载GPUImage库链接上篇文章提供,请前往
如图在使用的地方-添加头文件#import “GPUImage.h”
注意不要害怕Swift文件,本文尚未用到,关于oc调用swift请看这里,后续补充
3.设置全局的camera对象,以及全局的显示view
@property (nonatomic, strong) GPUImageVideoCamera *videoCamera;
//屏幕上显示的View
@property (nonatomic, strong) GPUImageView *filterView;
4.初始化相机,设置相机的输出分辨率,捕获画面摄像头的位置,以及显示时的方向。
- (void)viewDidLoad {
[super viewDidLoad];
//初始化相机,设置相机的输出分辨率,捕获画面摄像头的位置
self.videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
//以及显示时的方向
self.videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
}
5.初始化显示view。设置为全屏铺满。
//初始化显示view
self.filterView = [[GPUImageView alloc] initWithFrame:self.view.frame];
//设置为全屏铺满。
self.filterView.fillMode = kGPUImageFillModePreserveAspectRatioAndFill;
self.filterView.center = self.view.center;
6.开始捕获画面,开始显示
[self.view addSubview:self.filterView]; [self.videoCamera startCameraCapture];
[self.videoCamera addTarget:self.filterView];
7.添加滤镜,这个滤镜比较明显
//灰度过滤器
- (void)FSKGrayscaleFilter
{
[self.videoCamera removeAllTargets];
GPUImageGrayscaleFilter *grayscaleFilter =