滤镜链

滤镜链:即用一个滤镜的output image 当作 另一个滤镜的 input:

 1 CIContext *context = [CIContext contextWithOptions:nil];
 2     CIImage *image = [CIImage imageWithCGImage:[UIImage imageNamed:@"aa11.jpg"].CGImage];
 3
 4
 5
 6     CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"];
 7     [filter setValue:image forKey:kCIInputImageKey];
 8     [filter setValue:@0.8f forKey:kCIInputIntensityKey];
 9     CIImage *result = [filter valueForKey:kCIOutputImageKey];
10
11     CIFilter *gloom = [CIFilter filterWithName:@"CIGloom"];
12     [gloom setValue:result forKey:kCIInputImageKey];
13     [gloom setValue:@15.0f forKey:kCIInputRadiusKey];
14     [gloom setValue:@0.55f forKey:kCIInputIntensityKey];
15     result = [gloom valueForKey:kCIOutputImageKey];
16
17     CIFilter *bumpDistortion = [CIFilter filterWithName:@"CIBumpDistortion"];
18     [bumpDistortion setValue:result forKey:kCIInputImageKey];
19     [bumpDistortion setValue:[CIVector vectorWithX:300 Y:50] forKey:kCIInputCenterKey];
20     [bumpDistortion setValue:@100.0f forKey:kCIInputRadiusKey];
21     [bumpDistortion setValue:@3.0f forKey:kCIInputScaleKey];
22     result = [bumpDistortion valueForKey:kCIOutputImageKey];
23
24
25     CGRect extent = [result extent];
26     CGImageRef cgImage = [context createCGImage:result fromRect:extent];
27
28     UIImage *resultImg = [UIImage imageWithCGImage:cgImage];
29
30     UIImageView *imgView = [[UIImageView alloc]initWithFrame:self.view.bounds];
31     [imgView setImage:resultImg];
32     [self.view addSubview:imgView];
时间: 2024-10-11 16:44:28

滤镜链的相关文章

ffmpeg文档32-滤镜链图介绍

滤镜链图介绍 一个滤镜链图(filtergraph)是连接滤镜的有向图.它可以包含循环动作,也可以在多个滤镜间形成链路,每个链接都有一个连接到滤镜的输入和一个连接到滤镜的输出. 滤镜链图中的每个滤镜都是一个滤镜注册类应用程序的实例,它定义了滤镜的功能.输入接口和输出接口. 如果滤镜没有输入端(接口),则被称作“源”,如果滤镜没有输出端则被称作“槽”(这样的滤镜用于描述/测试等场景,而不用于实际处理) 滤镜链图语法 滤镜链图采用文本表示,其有由一些ffmpeg和ffplay通用的选项-filter

iOS开发 滤镜的使用

iOS开发之滤镜的使用技巧(CoreImage) 一.滤镜的内容和效果是比较多并且复杂的 ,学习滤镜需要技巧 如下: 两个输出语句解决滤镜的属性选择问题: 1.查询效果分类中包含什么效果按住command 点击CIFilter 进入接口文件 找到第128行-148行全部都是 效果分类 2.选择其中某一个分类拷贝NSLog -> [CIFilter filterNamesInCategory:刚才拷贝的分类]; -> 打印出来的 是这个分类包含的所有效果 -> 拷贝选择其中的某一个效果 3

FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM

FFMpeg ver 20160219-git-98a0053 滤镜中英文对照 2016.02.21 by 1CM T.. = Timeline support 支持时间轴 .S. = Slice threading 分段线程 ..C = Command support 支持命令传送 A = Audio input/output 音频 输入/输出 V = Video input/output 视频 输入/输出 N = Dynamic number and/or type of input/out

ffmpeg文档40-多媒体滤镜

40 多媒体滤镜 下面介绍当前有效的多媒体滤镜 avectorscope 转换输入音频到视频输出以代表音频矢量范围(一种图形化音频处理) 这个滤镜用来测量立体声音频中两路音频间的区别.如果是单声道信号做成的2个声道(左右耳声道),因为两路完全相同(其实只有1路),所以输出是一个垂直的直线(表示二者无差别).如果是立体声信号(两路肯定或多或少有差别),则创建一个利萨如(Lissajous)图形,其水平看,线长度与相位等表征了两个声道差异情况. 滤镜接受如下选项: mode, m 设置矢量显示模式,

CoreImage的使用及常见滤镜工具(一)

概述: CoreImage是一个图像框架,它基于OpenGL顶层创建,底层则用着色器来处理图像,这意味着它利用了GPU基于硬件加速来处理图像.CoreImage中有很多滤镜,它们能够一次给予一张图像或者视频帧多种视觉效果.而且滤镜可以连接起来组成一个滤镜链,把滤镜效果叠加起来处理图像. CoreImage框架最早出现于iOS5,iOS6也对这个框架进行了扩展,这篇博客的Demo是基于iOS7的. CoreImage框架最常用的类: * CIImage 保存图像数据的类,可以通过UIImage,图

CoreImage 可以用滤镜来处理图片,比如修改饱和度,亮度,对比度等

// //  ViewController.m //  UI-CoreImage // //  Created by Bruce on 15/5/22. //  Copyright (c) 2015年 Bruce. All rights reserved. // /*  CoreImage 可以用滤镜来处理图片,比如修改饱和度,亮度,对比度等  它利用GPU(或者CPU,取决于客户)来非常快速.甚至实时地处理图像数据和视频的帧.多个Core Image滤镜可以叠加在一起,从而可以一次性地产生多重

FFmpeg滤镜使用指南

文件夹 1. FFmpeg滤镜文档 2. 演示样例 2.1 缩放 2.2 视频加速 2.3 滤镜图,链和滤镜关系 2.4 多个输入覆盖同一个2x2 网格 2.5 转义字符 2.6 烧录时间码 2.7 描写叙述命令行參数 2.8 測试源 3. 滤镜列表 4. 其他滤镜演示样例 5. 开发自己的滤镜 FFmpeg加入了非常多滤镜.查看哪些滤镜有效可用命令: # ./ffmpeg -filters. 1. FFmpeg滤镜文档 很多其它的信息和每一个滤镜的使用演示样例可查看FFmpeg的滤镜文档: h

视频滤镜参数

在配置编译FFmpeg时可以通过--disable-filters来禁止所有滤镜的编译.也可以配置编译脚本来输出所有包含进编译的滤镜信息.下面是当前可用的视频滤镜介绍. alphaextract 把输入视频作为灰度视频来提取透明通道,它通常和alphamerge滤镜联用. alphamerge 通过添加或者替换透明通道,让主要视频与另外一路视频混合.这里主要是使用alphaextract来让不支持透明通道的视频成为允许传输或存储帧透明的帧序列 例如:为了重建完整的帧,让一个普通的YUV编码视频和

FFMpeg 滤镜中英文对照

FFMpeg ver 20160213-git-588e2e3 滤镜中英文对照 2016.02.17 by 1CM T.. = Timeline support 支持时间轴 .S. = Slice threading 分段线程 ..C = Command support 支持命令传送 A = Audio input/output 音频 输入/输出 V = Video input/output 视频 输入/输出 N = Dynamic number and/or type of input/out