学了OpenGL,OpenGLES后,去阅读了GPUImage的源码,使用了一段时间,接下来,记录一下我对GPUImage使用和源码阅读的一些分析吧。 相关引用 从0打造一个GPUImage(6)-GPUImage的多滤镜处理逻辑
图形图像是进阶资深程序猿的重要一步,不论平台,不论语言,图形图像都是核心岗位的核心技能,so,你需要get它。
GPUImage是现在做滤镜最流行的开源框架。是Brad Larson在gitHub托管的一个开源项目。项目实现了图片滤镜、摄像头实时滤镜,该项目的优点不但在于滤镜很多,而且处理效果基于GPU,比使用CPU性能更高。
GPUImage框架是一个获得BSD许可的iOS库,可让您将GPU加速滤镜和其他效果应用于图像,实时摄像机视频和电影。与Core Image(iOS 5.0的一部分)相比,GPUImage允许您编写自己的自定义过滤器,支持部署到iOS 4.0,并且具有更简单的界面。但是,它目前缺少核心图像的一些更高级的功能,例如面部检测。
近期想了解一下 IOS 下是如何进行音视频采集和渲染的。在学习一门新的知识时,很多人都有自己的学习方法,有的是买书学习,有的是看论坛等等不一而终。我的学习习惯是直接找一个比较好的开源项目,去分析它的代码。这样即可以了解到新的知识,又可以知道该如何编写正确的代码。自己的一点小心得哈。
回顾 解析(一) 解析(二) GPUImageFilter就是用来接收源图像,通过自定义的顶点、片元着色器来渲染新的图像,并在绘制完成后通知响应链的下一个对象。 GPUImageFramebuffer就是用来管理纹理缓存的格式与读写帧缓存的buffer。 GPUImageVideoCamera是GPUImageOutput的子类,提供来自摄像头的图像数据作为源数据,一般是响应链的源头。 GPUImageView是响应链的终点,一般用于显示GPUImage的图像。 琨君的基于GPUImage的实时美
导语 :billzbwang写的《iOS 图像处理系列 - GPUImage源码解读(一)》里详细地介绍了核心代码的具体实现,对GPUImage的使用者有很大的参考价值。在GPUImage中,有一个不为大多数人所注意却又极其重要的模块GPUImageFramebufferCache。在《iOS 图像处理系列 - GPUImage源码解读》系列的第二篇中,我就把自己对这一模块粗浅的了解分享给大家。 GPUImageFramebufferCache这个类主要的作用是对GPUImageFramebuffer的管理
前言 GPUImage详细解析在GPUImage文集,在前文GPUImage详细解析(八)视频合并混音中使用了github上的开源方式实现,这篇使用GPUImage原生的GPUImageMovieCo
我们知道,对于图像处理中,滤镜效果是一种最普遍也最有效的图像优化方式。通过对图像进行不同的滤镜效果的处理,可以得到各种绚丽的图片。
本文介绍了GPUImage框架,该框架基于OpenGL ES实现,可以用于iOS和Mac的图像处理。文章详细介绍了GPUImage的架构、组件以及使用示例,对于图像处理、计算机视觉、机器学习等相关领域的研究和应用具有一定的参考价值。
回顾 GPUImage源码解析、图片模糊、视频滤镜、视频水印、文字水印和动态图片水印GPUImage的大多数功能已经介绍完毕,这次的demo是源于简书的一位简友问我如何用GPUImage进行混音,他需要对视频添加水印和背景音乐。 经过一番研究,找到了一个解决方案,下面我们按照这个方案进行实践,并学习如何进行混音。 知识储备 1、AVFoundation AVAssetReader 从原始数据里获取音视频数据 AVAssetReaderTrackOutput 读取每帧的CMSampleBufferRef
GPUImageHistogramFilter 属于 GPUImage 颜色处理相关,用来处理图片色彩直方图,shader 源码如下:
目前,市面上关于音视频学习的相关书籍并不多,而且即使看了书籍学了理论,最终还是要回归到代码上来。
最近在不断学习、使用的过程中,有了更深刻的理解,特来写一篇源码解读的文章详细介绍下核心代码的具体实现。
之前使用Camera实现了一个自定义相机滤镜(Android自定义相机滤镜 ),但是运行起来有点卡顿,这次用Camerax来实现一样的效果发现很流畅,在此记录一下,也希望能帮到有需要的同学。
GPUImageAverageLuminanceThresholdFilter 属于 GPUImage 颜色处理相关,用来处理图片像素色值亮度平均,图像黑白(有类似漫画效果);
5G网络作为第5代的移动通信网络,它的网络峰值传播速度可1以达到10Gbps/s.这比4G的的传输速度快数百倍.举个例子,整部超高画质电影下载可在1秒钟之内下载完成.
GPUImageColorPackingFilter GPUImage 色彩丢失/模糊效果,shader 源码如下:
今天想弄个GPUImage的例子运行下看看效果,结果没成想坑进了一系列坑中,花了大半天时间才从坑里爬出来。
本文将详细介绍如何使用CMake编译OpenCV4.8 CUDA版本并给出Demo演示,方便大家学习使用。
说的 GPUImage 相信大家都不陌生,GPUImage 是做滤镜、渲染、特效最主流的框架之一,被广泛应用在短视频应用中。
Shader,即OpenGL着色语言(OpenGL Shading Language),简称GLSL,是用来在OpenGL中着色编程的语言,主要由Vertex Shader(顶点着色器)和Fragment Shader(片元着色器)组成,一般我们做特效处理都通过Fragment Shader来实现,以下讲的也基于Fragment Shader来展开。
GPUImageLevelsFilter 属于 GPUImage 颜色处理相关,用来处理图片色阶,色阶是表示图像亮度强弱的指数标准,图像的色彩丰满度和精细度是由色阶决定的。
GPUImageSolidColorGenerator 属于 GPUImage 颜色处理相关,用来处理图片纯色;
本文以GPUImage的工程为示例,去除管理依赖的CocoaPods,改用子工程依赖的方式。目的就是复用代码,多个工程可以使用同一份GPUImage的代码。 1、删除Podfile、Podfile.l
GPUImage 是 iOS 上一个基于 OpenGL 进行图像处理的开源框架,后来有人借鉴它的想法实现了一个 Android 版本的 GPUImage ,本文也主要对 Android 版本的 GPUImage 进行分析。
GPUImageCrosshatchFilter GPUImage 黑白网状效果,shader 源码如下:
GPUImageMosaicFilter GPUImage 黑白马赛克效果,shader 源码如下:
GPUImageToneCurveFilter 属于 GPUImage 颜色处理相关,用来处理图片颜色
GPUImageExposureFilter 属于 GPUImage 颜色处理相关,用来处理图片曝光度,shader 源码如下:
GPUImage是iOS平台主流的GPU图像处理框架,能够非常方便地使用GPU对图像进行处理,包括:滤镜、分布统计等。 我们知道,如果需要对一个图像进行滤镜处理,一般而言只需要设计FragmentShader即可以达到目的。比如:需要对图像进行亮度调节,仅需要FragmentShader中对像素点的颜色值进行修改即可,并不需要自定义VertexShader。 那么,能否基于GPUImage进行一定的形变处理呢?答案是肯定的。对于形变的处理,可以是基于FragmentShader的,也可以是基于VertexS
前言 GPUImage系列解析已经接近尾声,这次介绍的是: 纹理输入输出GPUImageTextureOutput 和 GPUImageTextureOutput 二进制数据输入输出GPUImageRawDataInput 和 GPUImageRawDataOutput 滤镜通道GPUImageFilterPipeline demo用来展示如何使用GPUImageRawDataOutput。 概念介绍 1、GPUImageTextureOutput GPUImageTextureOutput类实现GP
GPUImageLineGenerator 属于 GPUImage 图像处理相关,用来处理图片线条效果,shader 源码如下:
GPUImageGammaFilter 属于 GPUImage 颜色处理相关,用来处理图片伽马线,shader 源码如下:
在Android的开发过程中,每个开发者或多或少的都使用过第三方的开源库,使用第三方的开源库可以给开发者节省大量的精力和时间,进而更好的关注应用本身的业务逻辑。
前言 最近做多路视频的渲染,本文是其渲染方案的预研。 效果大概如下: 效果图 正文 一、多GPUImageView方案 用GPUImage进行多路视频的渲染,有一个非常简单的方案:多个GPUImag
GPUImageContrastFilter 属于 GPUImage 颜色处理相关,用来处理图片对比度,shader 源码如下:
GPUImageVignetteFilter 属于 GPUImage 图像视觉效果相关,用来处理图片晕影移动。shader 源码如下:
回顾 之前解析介绍的是GPUImage源码解析、图片模糊、视频滤镜,明白了GPUImage的强大功能,这次介绍的是两个视频的重叠,可以把两个视频文件合并,也可以把视频和录像结合在一起。 效果展示 视频
GPUImagePolarPixel GPUImage 同心圆像素化马赛克效果,shader 源码如下:
GPUImageBrightnessFilter 属于 GPUImage 颜色处理相关,用来处理图片亮度,shader 源码如下:
GPUImageAverageColor 属于 GPUImage 颜色处理相关,用来处理图片像素平均色值
GPUImageCrosshairGenerator 属于 GPUImage 图像处理相关,用来绘制十字,shader 源码如下:
GPUImageSaturationFilter 属于 GPUImage 颜色处理相关,用来处理图片饱和度,shader 源码如下:
GPUImageUnsharpMaskFilter 属于 GPUImage 图像处理相关,用来图像反遮罩锐化,shader 源码如下:
GPUImageColorInvertFilter 属于 GPUImage 颜色处理相关,用来处理图片反色,shader 源码如下:
通过前面的两篇文章,我们知道了滤镜链的工作原理,以及纹理数据是怎么产生的,那么接下来,就从源码的角度继续分析GPUImageFilter,GPUImageInput。
引用关键字 implement、api和compile区别 图片圆角 加载处理原图圆角 Glide和Picasso Glide 下载地址:https://github.com/bumptech/glide 使用文档:https://muyangmin.github.io/glide-docs-cn/ 使用扩展Glide Transformations 扩展地址:https://github.com/wasabeef/glide-transformations repositories { jcent
GPUImageFastBlurFilter 属于 GPUImage 图像处理相关,用来图像模糊,shader 源码如下:
领取专属 10元无门槛券
手把手带您无忧上云