首页 > 其他分享 >iOS的CoreImage框架技术详解

iOS的CoreImage框架技术详解

时间:2024-08-11 11:55:33浏览次数:7  
标签:Core 渲染 iOS filter 详解 let CoreImage 图像处理

CoreImage提供图像处理、人脸识别、图像增强、图像滤镜、图像转场。它操作的数据来自Core Graphics、Core Video、Image IO,使用CPU或GPU进行渲染。CoreImage对底层实现进行封装,为上层提供简单易用的API。

一、CoreImage框架
CoreImage框架分为:渲染层、处理层、API层。其中,渲染层包括GPU渲染(OpenGL和Metal)、CPU渲染(Grand Central Dispatch);处理层有Built-in Filters内建滤镜;API层有Core Graphics、Core Video、Image IO。如下图所示:

二、图像处理
1、图像处理流程
图像处理主要包括三个类:CIContext、CIFilter、CIImage。处理流程示例如下:

import CoreImage
 
// 1、创建CIContext
let context = CIContext()
// 2、创建CIFilter
let filter = CIFilter(name: "CISepiaTone")!
filter.setValue(0.8, forKey: kCIInputIntensityKey)
// 3、创建CIImage
let image = CIImage(contentsOfURL: mURL)
// 4、image应用到filter滤镜
filter.setValue(image, forKey: kCIInputImageKey)
let result = filt

标签:Core,渲染,iOS,filter,详解,let,CoreImage,图像处理
From: https://blog.csdn.net/m0_70960708/article/details/141064421

相关文章

  • iOS的AudioUnit音效框架技术详解
    iOS的AVAudioUnit提供的音效包括:混响、延迟、均衡器、失真、变速、变调等。按照类型划分为AudioEffect和TimeEffect,其中AudioEffect包括混响、延迟、均衡器和失真,而TimeEffect主要是变速、变调。一、音效应用层框架音效的应用层框架以AVAudioUnit作为核心抽象类,如下图所......
  • iOS Object-C 创建类别(Category) 与使用
    有时候使用系统给出类或者第三方的类,但是呢它们自带的属性和方法又太少,不够我们的业务使用,这时候就需要给“系统的类或者第三方类”创建一个类别(Category),把自己的想添加的属性和方法写进来.Category模式用于向已经存在的类添加方法从而达到扩展已有类的目的一:创建Cate......
  • 数据存储技术详解:从基础概念到未来趋势
    一、数据存储的基础概念数据存储是指通过特定的介质和技术手段保存和管理信息的过程。在当今信息化社会,数据存储无处不在,从个人计算机上的文件保存到企业数据中心的大规模存储,再到云计算平台的海量数据管理,数据存储技术在各个层面都发挥着至关重要的作用。数据存储不仅仅涉及......
  • 什么是 PPA?详解 Ubuntu 软件安装的强大工具
    在Linux世界中,尤其是Ubuntu和其他基于Debian的发行版,用户通常通过官方软件仓库来安装和管理软件。然而,有时官方仓库中的软件版本可能较旧,或者根本没有你想要的软件。在这种情况下,PPA(PersonalPackageArchive,个人软件包档案)为用户提供了一种灵活且方便的方式来获取最新的......
  • C++ call_once详解
    引言在多线程编程中,常常需要确保某些初始化操作只执行一次,例如初始化一个全局资源或单例模式中的实例创建。C++11引入了std::call_once和std::once_flag,为这种需求提供了便捷和高效的解决方案。一、基本概念1.std::call_oncestd::call_once是一个函数模板,它确保某个函数在......
  • 把catoiOS介绍翻译10遍
    原文:catoiOS这是什么?catoiOS(catsOlympiadinInformaticsOpenSystem),是一个丰富多样的开放系统,其代码符合跨平台要求。它包含游戏、工具,还有个性化设置。包括各种活动在内,catoiOS致力于满足用户的所有需求.如何查看、下载catoiOScatoiOS官网下载catoiOS我可以一起开发......
  • USB协议详解第3讲(USB描述符-设备描述符)
    我们第一个学习要点就是USB描述符,所谓描述符其实就是C语言里面的结构体或者数组,数组包含的信息说明当前的设备具有哪些特征。USB描述符有设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。我们先学会每个描述符的细节,我......
  • 【数据结构】—— 内部排序算法详解
    1、前言2、常见排序算法3、排序算法实现3.1直接插入排序3.2希尔排序3.3选择排序3.4堆排序3.5冒泡排序3.6快速排序3.6.1单趟排序hoare法挖坑法双指针法3.6.2非递归实现3.6.3常见问题基准值的选取小区间优化3.7归并排序3.7.1递归实现3.7.2非递归实现3.8......
  • Python数据结构:列表详解(创建、访问、修改、列表方法)①
    @[toc]Python中的列表是一个非常强大的数据结构,它允许我们存储、访问和操作一系列的数据。列表可以包含任何类型的对象,包括数字、字符串、甚至其他列表。本文将详细介绍Python列表的创建、访问、修改以及列表方法,并附上一个综合的例子,全面展示列表在实际编程中的应用。一......
  • USB协议详解第1讲(核心概念通俗理解)
    0.概括USB协议学习中最重要几个概念如下,没有提及的就是对USB协议学习中不重要的或者编程不需要用到的。大家也不用着急,概念必须要学会,否则都不知道下面这些东西是什么还学什么通用串行总线协议,大家也不用怕,其实也没有那么高深莫测。1.USB传输(Transfer)2.USB传输中事务(Transactio......