iOS_视频图片的特效处理_GPUImage

本文介绍了如何在iOS应用中利用GPUImage库进行图片和视频的特效处理,包括修改图片色调、调整饱和度和曝光度、像素化、对比度调整、图片像素混合、视频转单色效果、实时相机渲染以及录制特效影片并保存到相册。提供了详细的步骤和代码下载链接。
摘要由CSDN通过智能技术生成

  • 效果展示: 6 将视频处理为 单色效果:
    请添加图片描述

  • 效果展示: 7对相机 画面进行实时渲染:
    请添加图片描述

  • 效果展示: 8 录制特效影片 保存到 相册:
    请添加图片描述

0. GPUImage库的添加

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

import UIKit
import GPUImage //
class ViewController: UIViewController {
   
    
    var picture : PictureInput!  // 用来加载渲染后的 图片输入:
    var renderView : RenderView! // 渲染视图, 用来显示渲染后的图片:
    
    // 6
    var movie : MovieInput!
    
    // 7 相机
    var camera : Camera!
    
    override func viewDidLoad() {
   
        super.viewDidLoad()
        
        // 渲染视图, 用来显示渲染后的图片:
        let renderView = RenderView(frame: self.view.bounds)
        self.view.addSubview(renderView)
        
        // 加载 测试 图片:
        let eImg = UIImage(named:"Picture.jpg")!
        
        /// GPUImage:
        //yeTyeGPUImage1(eImg)
        //yeTyeGPUImage2(eImg);
        //yeTyeGPUImage3(eImg);
        //yeTyeGPUImage4(eImg);
        //yeTyeGPUImage5(eImg);
        //yeTyeGPUImage6(eImg);
        yeTyeGPUImage7(eImg);
    }
}

1. 使用GPUImage 修改图片的色调:

 // 1. 使用GPUImage 修改图片的色调:
    func yeTyeGPUImage1(_ eImg : UIImage){
   
        // 初始化一个色调 滤镜: 使用此滤镜渲染指定的图片:
        let toonFilter = ToonFilter()
        let filteredImage = eImg.filterWithOperation(toonFilter)
        
        //  获取渲染后的图片输入:
        picture = PictureInput(image: filteredImage)
        
        // --> 运算符:可以将图片输入链接到渲染视图,从而使得渲染视图显示渲染后的图片,
        picture --> renderView
        
        // 异步 对图片进行处理:
        picture.processImage()
    }

2. 修改图片的色彩饱和度:

// 2. 修改图片的色彩饱和度:
    func yeTyeGPUImage2(_ eImg : UIImage){
   
        picture = PictureInput(image: eImg)
        
        // 初始化饱和度调整,
        var filter = SaturationAdjustment()
        filter.saturation = 6 //设置饱和度的值在0到2之间,
        //饱和度的值: 1为默认值; 大于2时图像将会失真; 0:可以清掉图片上所有的色彩信息(即得到灰度图);
        
        // --> 运算符:可以将图像源传递到图像处理者,在处理后将结果传递到渲染视图,
        picture --> filter --> renderView
        picture.processImage()
    }

3. 调整图片的曝光度和亮度

 //3. 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值