GPUImage之视频流滤镜

源码在最后,附带滤镜下载地址

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;

效果图:
美女来自网上,希望没有侵犯版权这里写图片描述

实现步骤如下:

  1. 下载GPUImage库链接上篇文章提供,请前往

  2. 如图在使用的地方-添加头文件#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 = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值