美文网首页
使用GPUImage给图片做滤镜

使用GPUImage给图片做滤镜

作者: Maggie的小蜗居 | 来源:发表于2016-07-01 17:59 被阅读667次

使用GPUImage可以做给图片加上滤镜,自带了120多种的滤镜

*滤镜文件使用地址:https://github.com/BradLarson/GPUImage

有很多种创建滤镜的方法,如创建一个调解亮度的滤镜

1. 从缓冲区获取滤镜

        let inputImage = UIImage(named: "img_analyse_food")
        //创建一个调节亮度的滤镜
        let fileter = GPUImageBrightnessFilter()
        fileter.brightness = -0.5
        //设置要渲染的区域
        fileter.forceProcessingAtSize((inputImage?.size)!)
        fileter.useNextFrameForImageCapture()

        //获取数据源
        let stillImageSource = GPUImagePicture(image: inputImage)
        //添加滤镜
        stillImageSource.addTarget(fileter)
        //开始渲染
        stillImageSource.processImage()
        //获取渲染后的图片
        let brightnessImage = fileter.imageFromCurrentFramebuffer()

从Framebuffer里面获取滤镜图片的2个方法

    public func imageFromCurrentFramebuffer() -> UIImage!
    public func imageFromCurrentFramebufferWithOrientation(imageOrientation: UIImageOrientation) -> UIImage!

注意:由于默认情况下,GPUImage会复用缓冲区内的过滤器,以节省内存,
当使用这个2个方法之前,需要在processImage前设置useNextFrameForImageCapture

对比如下

1.png

2.简单创建一个使用在图片上的滤镜

        let stillImageFilter2 = GPUImageSepiaFilter()
        quickFilteredImage = stillImageFilter2.imageByFilteringImage(inputImage)

3.通过读取一个acv文件创建滤镜


        if !NSFileManager.defaultManager().fileExistsAtPath(path) {
         
            path = NSBundle.mainBundle().pathForResource(preName, ofType: "acv")!
            let data = NSData(contentsOfFile: path)
            //读取ACV文件获得滤镜
            let filter = GPUImageToneCurveFilter(ACVData:data)
//            filter.forceProcessingAtSize(image.size)
            filter.useNextFrameForImageCapture()
            item.largeImage = filter.imageByFilteringImage(largeImage)
        }

相关文章

  • 使用GPUImage给图片做滤镜

    使用GPUImage可以做给图片加上滤镜,自带了120多种的滤镜 有很多种创建滤镜的方法,如创建一个调解亮度的滤镜...

  • 关于GPUImage的使用

    GPUImage 使用组合滤镜时直接使用 GPUImageFilterPipeline类来做组合滤镜. 使用组合滤...

  • iOS -- Xcode导入GPUImage

    GPUImage GPUImage 是基于GPU做图片滤镜,摄像头实时滤镜的第三方库,该库中内置了125种滤镜效果...

  • GPUImage源码分析

    GPUImage的简单使用 图片添加滤镜 创建一个输入源 GPUImagePicture 创建滤镜 GPUImag...

  • GPUImage源码分析与使用(三)

    使用GPUImage拍照添加滤镜 使用GPUImage拍视频添加滤镜 VideoManager.h VideoMa...

  • 图像处理GPUImagePicture

    步骤获取图片 --> 创建GPUImagePicture --> 创建滤镜 --> 把滤镜添加到GPUImage ...

  • GPUImage

    GPUImage的简单使用 GPUImage 是一个开源的图像处理库,提供了非常多的滤镜效果来加工图片。GPUIm...

  • 图片滤镜——GPUImage

    个人博客:haichenyi.com。感谢关注   GPUImage图片滤镜处理的第三方开源库,对照IOS版的GP...

  • GPUImage详细解析(八)视频合并混音

    回顾 GPUImage源码解析、图片模糊、视频滤镜、视频水印、文字水印和动态图片水印GPUImage的大多数功能已...

  • GPUImage之给图片添加滤镜

    相关类: GPUImagePicture作为PGUImage的图像处理类,一般用来处理源图像. GPUImageF...

网友评论

      本文标题:使用GPUImage给图片做滤镜

      本文链接:https://www.haomeiwen.com/subject/vltqjttx.html