Android GPUImage-13: Sepia

GpuImage 在Android 上的应用以及各种效果参照表 Step 1: GpuImage 集成 implementation 'jp.co.cyberagent.android:gpuimage:2.0.4' Step 2: 布局中使用 在布局中加上GPUImageView,为了显示处理后的图片载体 <jp.co.cyberagent.android.gpuimage.GPUImageView android:id="@+id/gpu_image_later" android:layout_width="m. 阅读详情

1.效果图

2.shader

"attribute vec4 position;\n" +
            "attribute vec4 inputTextureCoordinate;\n" +
            "\n" +
            "uniform float imageWidthFactor; \n" +
            "uniform float imageHeightFactor; \n" +
            "uniform float sharpness;\n" +
            "\n" +
            "varying vec2 textureCoordinate;\n" +
            "varying vec2 leftTextureCoordinate;\n" +
            "varying vec2 rightTextureCoordinate; \n" +
            "varying vec2 topTextureCoordinate;\n" +
            "varying vec2 bottomTextureCoordinate;\n" +
            "\n" +
            "varying float centerMultiplier;\n" +
            "varying float edgeMultiplier;\n" +
            "\n" +
            "void main()\n" +
            "{\n" +
            "    gl_Position = position;\n" +
            "    \n" +
            "    mediump vec2 widthStep = vec2(imageWidthFactor, 0.0);\n" +
            "    mediump vec2 heightStep = vec2(0.0, imageHeightFactor);\n" +
            "    \n" +
            "    textureCoordinate = inputTextureCoordinate.xy;\n" +
            "    leftTextureCoordinate = inputTextureCoordinate.xy - widthStep;\n" +
            "    rightTextureCoordinate = inputTextureCoordinate.xy + widthStep;\n" +
            "    topTextureCoordinate = inputTextureCoordinate.xy + heightStep;     \n" +
            "    bottomTextureCoordinate = inputTextureCoordinate.xy - heightStep;\n" +
            "    \n" +
            "    centerMultiplier = 1.0 + 4.0 * sharpness;\n" +
            "    edgeMultiplier = sharpness;\n" +
            "}";

 

static final String SHARPEN_FRAGMENT_SHADER = "" +
            "precision highp float;\n" +
            "\n" +
            "varying highp vec2 textureCoordinate;\n" +
            "varying highp vec2 leftTextureCoordinate;\n" +
            "varying highp vec2 rightTextureCoordinate; \n" +
            "varying highp vec2 topTextureCoordinate;\n" +
            "varying highp vec2 bottomTextureCoordinate;\n" +
            "\n" +
            "varying highp float centerMultiplier;\n" +
            "varying highp float edgeMultiplier;\n" +
            "\n" +
            "uniform sampler2D inputImageTexture;\n" +
            "\n" +
            "void main()\n" +
            "{\n" +
            "    mediump vec3 textureColor = texture2D(inputImageTexture, textureCoordinate).rgb;\n" +
            "    mediump vec3 leftTextureColor = texture2D(inputImageTexture, leftTextureCoordinate).rgb;\n" +
            "    mediump vec3 rightTextureColor = texture2D(inputImageTexture, rightTextureCoordinate).rgb;\n" +
            "    mediump vec3 topTextureColor = texture2D(inputImageTexture, topTextureCoordinate).rgb;\n" +
            "    mediump vec3 bottomTextureColor = texture2D(inputImageTexture, bottomTextureCoordinate).rgb;\n" +
            "\n" +
            "    gl_FragColor = vec4((textureColor * centerMultiplier - (leftTextureColor * edgeMultiplier + rightTextureColor * edgeMultiplier + topTextureColor * edgeMultiplier + bottomTextureColor * edgeMultiplier)), texture2D(inputImageTexture, bottomTextureCoordinate).w);\n" +
            "}";

3.原理

取上下左右四个点,把中心点的像素按照一定的sharpness来改变,临近的像素是比较相似的。

Android GPUImage-1: 代码架构 Android版本的GPUImage的代码架构 阅读详情

相关推荐

GPUImage:适用于 Android 的 GPUImage

图形处理器 这是一个项目实时图像或视频处理库(想法来自一个流行的 iOS 库 GPUImage: : )

【亲测免费】 Android GPUImage 使用教程

Android GPUImage 使用教程 1. 项目介绍 Android GPUImage 是一个基于 OpenGL ES 的图像处理库,它允许你在 Android 设备上实时应用各种图像滤镜。这个库是受到 iOS 上的 GPUImage 库启发,旨在提供高性能的图像操作和视频处理。 主要特性包括: 大量预定义的滤镜,如模糊、色彩平衡、高斯模糊等 实时视频流过滤 支持图像文件加载和保存 简化的...

gitblog_01025的博客 1311

WorkBuddy入门到 多Agent团队协作完全指南(附实操代码与配图)

WorkBuddy的Agent Teams功能支持多智能体协作,通过创建AI团队提升复杂任务处理效率。该功能支持自然语言创建团队、任务分配与依赖管理、成员间消息通信(包括直接消息和广播),并提供任务审批机制。典型应用场景包括软件开发、内容创作等协作任务。环境要求WorkBuddy 2026年3月及以上版本,支持Windows和macOS系统。用户可快速创建包含不同角色的AI团队,通过共享任务列表和信箱系统实现协作。高级功能包括委派模式、任务依赖管理和成员自主认领等,适合各类协作场景。

三棱球的专栏 6455

【亲测免费】 Android GPUImage安装与配置完全指南

Android GPUImage安装与配置完全指南 项目基础介绍与编程语言 Android GPUImage 是一个基于OpenGL ES的Android图像处理库,灵感来源于iOS平台上的GPUImage框架。它允许开发者以高效的方式实现实时滤镜效果,适用于图片和视频。此项目广泛应用于增强应用的视觉体验,优化处理速度,并减少电量消耗。主要使用的编程语言为 Java,同时部分功能通过 C/C++ ...

gitblog_09356的博客 760

STM32F407 HAL库 LIN DMA 配置实战与汽车电子应用解析

本文详细解析了STM32F407 HAL库在LIN总线通信中的DMA配置实战,重点介绍了硬件自动处理断点检测、同步场和校验和的优势。通过具体代码示例和汽车电子应用案例(如车窗控制、座椅调节),阐述了如何利用DMA提升通信效率与稳定性,为成本敏感的汽车电子系统提供高效解决方案。

study的专栏 968

氮化镓GaN电机驱动实战:从器件原理到EPC驱动中心

电机驱动是工业自动化和电动交通的核心,功率器件的选择直接决定系统效率与可靠性。传统硅基IGBT和MOSFET在开关速度、损耗方面存在瓶颈,而氮化镓(GaN)作为宽禁带半导体,凭借高电子迁移率、低栅极电荷和近乎为零的反向恢复电荷,正成为电机驱动领域的热门选择。EPC建立电机驱动中心,提供完整的评估平台,覆盖从低压家电到中压伺服的应用场景。文章从GaN器件原理出发,对比传统硅器件,详解三相BLDC/PMSM驱动系统的搭建、栅极驱动与Layout设计、死区时间设置及参数计算实例,并分享测试中遇到的振铃、EMI等高

weixin_29168675的博客 323

androidgpuimage_Android图像处理之GPUImage for Android

GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的,托管在Github上。版本:android-gpuimage-1.1.1Android模拟器上不支持OpenGL ES 2.0所以会报错,可以选用Genymotion测试,或真机上运行。引用...

weixin_30925033的博客 1076

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

Android GPUImage-2: 渲染流程

GPUImage的渲染流程

CodeMyDream的专栏 571

Krylov子空间与Arnoldi过程

一、应用背景 Krylov子空间方法是模型降阶(MOR)的一种,Krylov 子空间方法就是在Krylov子空间中寻找近似解。 二、Krylov子空间 n是原始矩阵的维度,m为降阶后矩阵的维度,通常m<<n。 三、Arnoldi 过程: 计算Km 的一组正交 对应上述MGS过程的python代码: import numpy as np def arnoldi_itera...

保持写作习惯,完成知识沉淀 6002

告别手动拍照!用Python+JAKA机械臂+D455相机实现全自动手眼标定(附完整代码)

本文详细介绍了如何利用Python脚本实现JAKA机械臂与Intel RealSense D455相机的全自动手眼标定流程,提供从硬件配置到代码实现的完整解决方案。通过自动化标定,显著提升工业自动化中的精度和效率,适用于机器人视觉领域的二次开发需求。

weixin_30555125的博客 521

【亲测免费】 推荐GPUImage for Android:跨平台图像处理框架的绝佳选择

推荐GPUImage for Android:跨平台图像处理框架的绝佳选择 在Android开发中,实时图片处理和滤镜应用是常见的需求,而GPUImage for Android就是这样一款能帮助您实现这些功能的强大开源库。它是基于iOS上的GPUImage框架移植而来的,充分利用了GPU的并行计算能力,提供了高效且性能优化的图像处理解决方案。 1、项目介绍 GPUImage for Androi...

gitblog_00005的博客 752

【YOLOv11工业级实战】15. YOLOv11海洋监测实战:珊瑚礁健康评估(水下图像增强|机器人搭载)

摘要:本文针对珊瑚礁健康评估的海洋监测需求,基于YOLOv11提出解决方案,聚焦水下色偏、悬浮物干扰、珊瑚形态复杂三大难题。引用全球珊瑚礁监测网络(GCRMN)标准,采用CoralNet数据集,通过Jaffe-McGlamery物理模型引导增强与悬浮物去除算法,在浑浊水域(能见度<5m)实现87.3%的健康珊瑚识别率,藻类误判率低至7.2%。介绍了以BlueROV2水下机器人和Jetson AGX Orin为核心的部署方案,结合水下SLAM定位技术,实现珊瑚健康的实时评估与三维覆盖率计算。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1644

Android使用GPUImage实现滤镜效果精炼详解(一)

一、前期基础知识详解 “滤镜通常用于相机镜头作为调色、添加效果之用。如UV镜、偏振镜、星光镜、各种色彩滤光片。滤镜也是绘图软件中用于制造特殊效果的工具统称,以Photoshop为例,它拥有风格化、画笔描边、模糊、扭曲、锐化、视频、素描、纹理、像素化、渲染、艺术效果、其他等12个滤镜。 滤镜也可以制作或下载。滤镜直接使用效果很不自然,要合理搭配才能得到好的效果。” 以上是维基百科中对于滤镜...

Chin_Style的博客 2万+

MuJoCo 入门教程(二)

本章介绍 MuJoCo 的数学和算法基础。对于熟悉广义或关节坐标建模和仿真的读者来说,整体框架是相当标准的。因此,我们将对这些材料进行简要总结。本章的大部分篇幅用于介绍我们如何处理接触和其他约束条件。这种方法是基于我们最近的研究,也是 MuJoCo 所独有的,因此我们花时间对其进行了详细的激励和解释。更多信息可参见下面的论文,尽管本章中的一些技术思想是新的,在其他地方还没有描述过。

机器人控制与仿真应用 3713

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

一步步带你实现Android图片处理库gpuimage的配置、使用、封装、多效果集于一身(eg:灰度滤镜+鱼眼效果)

官网:https://github.com/cats-oss/android-gpuimage 以下以灰色滤镜、鱼眼效果、饱和度(第二排,注意看进度条,可以随进度条变化)为例,进行讲解,效果图如下: 图一:刚进去的界面,没有任何操作,上图是原图,可以优化黑色,一开始隐藏,进行图片处理时再显示; 没有操作 ...

weixin_40420578的博客 2554

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android图像滤镜框架GPUImage从配置到应用

GPUImage简介 GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的。其中提供了几十多种常见的图片滤镜API,且其机制是基于GPU渲染,处理速度相应也比较快,是一个不错的图片实时处理框架。GitHub地址:https:...

IT_ZJYANG的博客 3万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android GPUImage-Plus: 强大的图像处理库,让您的应用视觉升级

Android GPUImage-Plus: 强大的图像处理库,让您的应用视觉升级 项目简介 是一个基于 Android 平台的高效、高性能的图形处理库,它是 GPUImage 的增强版。此项目通过利用设备的 GPU 进行图像滤镜和特效运算,极大地提升了图像处理的效率,并且减少了 CPU 负担。对于需要进行实时图像处理或美化的移动应用开发者而言,这是一个不可多得的工具。 技术分析 GPU 加速...

gitblog_00041的博客 776

【亲测免费】 GPUImage for Android:开启移动端图像处理新篇章

GPUImage for Android:开启移动端图像处理新篇章 在移动应用开发领域,图像处理一直是开发者关注的焦点。今天,我们向您隆重推荐一款强大的开源项目——GPUImage for Android,它将为您带来前所未有的图像处理体验。 项目介绍 GPUImage for Android 是一款基于 OpenGL ES 2.0 的图像处理库,旨在为 Android 开发者提供与 iOS GP...

gitblog_01035的博客 1310

Android GPUImage-14: Grayscale

给定两个n维向量a=(a1,a2,…,an)和b=(b1,b2,…,bn),求点积a·b=a1b1+a2b2+…dot(x, y): 点积,各分量分别相乘 后 相加;

CodeMyDream的专栏 212

Android平台美颜相机/Camera实时滤镜/视频编解码/影像后期/人脸技术探索——2.1 GPUImage结构简析

Github项目地址回到目录说到基于GPU的图像处理和实时滤镜,大家肯定会想到鼎鼎大名的GPUImage,这个项目确实为后续开发提供了很多方便,基本的图像处理工具一应俱全。IOS版的项目比较活跃,Android的好像已经被遗弃好久了,一堆bug没人解决。但是学习借鉴GPUImage的项目结构,可以为我们提供不小的帮助。GPUImage项目结构GPUImage的项目结构其实很简单,Android版本就

Martin的博客 6174

【Android 美颜相机】第一天:认识Android-GPUImage项目

Android-GPUImage是一个高性能的安卓图像处理库,基于OpenGL ES 2.0实现GPU加速,支持实时滤镜、图像处理和特效渲染。该库复刻iOS的GPUImage框架,提供丰富的滤镜类型(如颜色调整、风格化、边缘检测等),支持GLSurfaceView和TextureView两种渲染载体,并兼容相机预览和静态图像处理。开发者可通过简单的API实现图像加载、滤镜应用和结果保存,大幅提升图像处理效率。项目采用Apache 2.0开源协议,适合短视频、相机类应用开发,能有效解决CPU处理图像的性能瓶颈

u012739527的博客 1673

Android GPUImage源码分析(一)简介

Android GPUImage源码分析(一) 简介 cats-oss/android-gpuimage Android filters based on OpenGL (idea fromGPUImagefor iOS) 源码链接 GPUImage广泛用于图片处理摄像头摄影视频处理,比如添加滤镜、动态贴纸等功能 要求: Android 2.2 or higher (OpenGL ...

1344

Android GPUImage 开源项目教程

Android GPUImage 开源项目教程 1. 项目的目录结构及介绍 Android GPUImage 项目的目录结构如下: android-gpuimage/ ├── app/ │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ ├── main/ │ ...

gitblog_00699的博客 785

探秘Android-GPUImage-Plus:高效图像处理的利器!

探秘Android-GPUImage-Plus:高效图像处理的利器! 在移动设备上进行高质量的图像和视频滤镜处理一直是一个挑战,但有了Android-GPUImage-Plus,这一挑战变得轻松许多。这个强大的C++与Java库不仅提供了图片和相机过滤器功能,还支持视频处理,让您的应用拥有专业级视觉效果。 项目介绍 Android-GPUImage-Plus是一个开源项目,它基于C++开发,利用G...

gitblog_00028的博客 692

androidgpuimage_美颜重磅技术之GPUImage源码分析

说到基于GPU的图像处理和实时滤镜,大家肯定会想到鼎鼎大名的GPUImage,这个项目确实为后续开发提供了很多方便,基本的图像处理工具一应俱全。为我们提供不小的帮助。** GPUImage项目结构**GPUImage的项目结构其实很简单,Android版本就更是简陋,结构如下:一堆滤镜(着色器以及配套设置参数的代码)-FilterGroup(利用FBO进行同一副图像的多次处理)-EGL管理类(主要...

weixin_36211941的博客 639
上一篇: Android GPUImage-12: Gamma
下一篇: Android GPUImage-14: Grayscale
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值