首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于GPUImage

本文内容参考自以下文章:KM文章一张图教你看懂GPUImage、iOS 图像处理系列 - GPUImage源码解读(一),博文GPUImage文集。文中不再详细标注引用来源。...关于GPUImage GPUImage框架是一个开源iOS类库,基于OpenGL进行图像和视频处理,借助GPU加速实现各种滤镜效果,并支持摄像头拍摄实时渲染。...GPUImage框架 GPUImage功能的实现依赖四个部分:资源管理、Sources、Filters、Outputs。核心架构用下图概括: ? 1.     资源管理 ?...GLProgram是GPUImage对OpenGL ES中的program的封装,可用vertexShader和fragmentShader创建GLProgram对象,实现自定义滤镜效果。...录制滤镜视频 下面的例子利用GPUImage录制视频、实现实时的滤镜效果渲染并将视频文件保存到本地。

2.4K90
您找到你想要的搜索结果了吗?
是的
没有找到

OpenGL 之 GPUImage 源码分析

GPUImage 是 iOS 上一个基于 OpenGL 进行图像处理的开源框架,后来有人借鉴它的想法实现了一个 Android 版本的 GPUImage ,本文也主要对 Android 版本的 GPUImage...概要 在 GPUImage 中既有对图像进行处理的,也有对相机内容进行处理的,这里主要以相机处理为例进行分析。...在 GPUImage 的 TextureRotationUtil 类中有定义了纹理坐标,这些纹理坐标系的原点不是位于左下角进行定义的,而是位于左上角。...所以,这里可以回顾一下 OpenGL 是如何绘制矩形的,并且将纹理贴到矩形上: OpenGL 学习系列---纹理 在 GPUImage 中,GPUImageFilter 类就完成了上述的操作,它是 OpenGL...在前面讲到过,GPUImage 的纹理坐标原点是位于左上角的,所以使用 TEXTURE_NO_ROTATION 的纹理坐标实质上是将图像进行了上下翻转,两次调用TEXTURE_NO_ROTATION纹理坐标时

94720

GPUImage详细解析(十)用GPUImage和指令配合合并视频

前言 GPUImage详细解析在GPUImage文集,在前文GPUImage详细解析(八)视频合并混音中使用了github上的开源方式实现,这篇使用GPUImage原生的GPUImageMovieComposition...self.videoComposition = videoComposition; self.audioMix = audioMix; } 3、创建GPUImageMovieComposition类,设置GPUImage...文章更新GPUImage详细解析(九)图像的输入输出和滤镜通道已经有两个月,这一篇更多是了却当时未能的想法。...GPUImage进阶的各种滤镜使用是GPUImage的核心魅力所在,目前仅是在直播中用到GPUImage的美颜功能。...在研读GPUImage源码的过程中对OpenGL ES有了更深入的学习,也发现了GPUImage的部分问题,比如说在推流过程中添加滤镜导致推流视频闪烁的现象(这个问题来自于一个简书的网友,当时的图如下)

1.3K100

iOS GPUImage源码解读(一)

导语 : 前段时间写了篇《一张图教你读懂GPUImage》的文章简单介绍了GPUImage的核心架构。...至于括号里的“一”,主要是觉得GPUImage还有很多值得深入学习和分享的内容,后续的学习和使用过程中有新的心得体会还会继续给大家分享。...前言 GPUImage是iOS上一个基于OpenGL进行图像处理的开源框架,内置大量滤镜,架构灵活,可以在其基础上很轻松地实现各种图像处理功能。...线程管理 OpenGLContext不是多线程安全的,GPUImage创建了专门的contextQueue,所有的滤镜都会扔到统一的线程中处理。...这里就以视频拍摄组件(GPUImageVideoCamera)为例,来讲讲GPUImage是如何把每帧采样数据传入到GPU的。

6.9K120

最优秀的开源库之GPUImage

于是我发现了GPUImage库。 GPUImage在github上有16304个星,哇,能有几百个星就已经很了不起了,它居然能有上万的星,可见它人气是非常旺的。...下面我们来看看 GPUImage 都能干些什么吧。 GPUImage GPUImage是一个BSD许可的IOS库,它使用GPU加速对图像,实时视频和电影做美颜,灰度等各种特效。...而GPUImage帮我们解决了这些问题,它对 OpengGL ES做了非常好的封装,我们只要调用简单的几个接口就可以做出各种特效来。...GPUImage总体结构 GPUImage使用OpenGL ES 2着色器进行图像和视频处理速度远远超过基于CPU程序做的。而且它提供了简化的Objective-C接口,隐藏了OpenGL复杂的交互。...效果对比图 依赖库 GPUImage依赖下面的几个库: CoreMedia: AVFoundation常用的功能。 CoreVideo: OpenGL ES 使用的视频基础库。

91120

iOS图像处理系列 - GPUImage源码解读(二)

导语 :billzbwang写的《iOS 图像处理系列 - GPUImage源码解读(一)》里详细地介绍了核心代码的具体实现,对GPUImage的使用者有很大的参考价值。...在GPUImage中,有一个不为大多数人所注意却又极其重要的模块GPUImageFramebufferCache。...在《iOS 图像处理系列 - GPUImage源码解读》系列的第二篇中,我就把自己对这一模块粗浅的了解分享给大家。...由此,我们可以看到,GPUImage为我们提供了一套完善的framebuffer的cache机制,从GPUImageContext的sharedFramebufferCache里取一个framebuffer...所以,GPUImage给我们实现了一套完善的framebuffer的cache机制,如果不用它而是自行创建和管理framebuffer去处理视频和大量图片时,稍有不慎就会出现crash的情况。

3K80
领券