图像滤镜艺术---ZPhotoEngine超级算法库
一直以来,都有个想法,想要做一个属于自己的图像算法库,这个想法,在经过了几个月的努力之后,终于诞生了,这就是ZPhotoEngine算法库。
这个算法库目前包含两个模块:基础图像算法模块+滤镜模块,使用C语言实现,现在免费分享给大家,可以适用于PC/Android/Ios三大平台。
1,基础图像算法模块
这个模块,本人以Photoshop基础算法为原形,模拟出了PS大部分的基础算法。
为什么选择Photoshop算法?这个也是我的算法库一个优势,目前开源算法库多如牦牛,但是,能和PS媲美的,少之又少。毕竟现在从摄影照相,到工业设计等等,都在使用Photoshop,试想一下,对于一个图像特效团队来说,如果产品设计人员使用PS设计了一种图像特效,而特效团队又拥有PS的图像算法库,那么,实现这种特效岂不是SO EASY?这不单单是提高效率的问题,更是提高产品的质量,提高产能的事情!
目前,基础算法模块都包含在ZPhotoEngine里面,其中包含了如下功能:
1.1,基础功能
ZPHOTO_SaturationAdjust饱和度调节
ZPHOTO_HueAndSaturationAdjust色相 饱和度调节
ZPHOTO_LightnessAdjust明度调节
ZPHOTO_LinearBrightContrastAdjust线性对比度亮度调节
ZPHOTO_NLinearBrightContrastAdjust非线性对比度亮度调节
ZPHOTO_AutoContrastAdjust自动对比度调节
ZPHOTO_AutoColorGradationAdjust自动色阶调节
ZPHOTO_CurveAdjust曲线调节调节
ZPHOTO_ColorLevelAdjust色阶调节
ZPHOTO_Posterize色调分离
ZPHOTO_OverExposure多度曝光
ZPHOTO_Invert反相
ZPHOTO_HistagramEqualize色调均化
ZPHOTO_Desaturate去色
ZPHOTO_Blackwhite黑白
ZPHOTO_Threshold阈值
ZPHOTO_FastGaussFilter高斯模糊
ZPHOTO_HighPass高反差保留
ZPHOTO_USM USM锐化
ZPHOTO_FindEdges查找边缘
ZPHOTO_ChannelMixProcess通道混合器
ZPHOTO_Fragment 碎片
ZPHOTO_MotionBlur 运动模糊
ZPHOTO_SurfaceBlur 表面模糊
ZPHOTO_RadialBlur旋转模糊
ZPHOTO_ZoomBlur缩放模糊
ZPHOTO_Relief浮雕
ZPHOTO_Mean平均
ZPHOTO_Mosaic马赛克
ZPHOTO_ColorBalance色彩平衡
ZPHOTO_Diffusion扩散
1.2,扩展功能
ZPHOTO_ColorTemperatureAdjust色温调节
ZPHOTO_ShadowAdjust阴影调节
ZPHOTO_HighlightAdjust高光调节
ZPHOTO_ExposureAdjust曝光调节
ZPHOTO_FastMeanFilter均值模糊
ZPHOTO_LSNBlur LSN模糊
ZPHOTO_SobelFilter Sobel边缘检测
ZPHOTO_ImageTransformation图像变换(缩放,旋转,镜像,翻转,仿射变换)
ZPHOTO_RGBA2BGRA 图像RGBA转BGRA(Android定制)
ZPHOTO_BGRA2RGBA 图像BGRA转RGBA(Android定制)
1.3,图层混合算法
ZPHOTO_ImageBlendEffect双图层混合接口
ZPHOTO_ModeDarken变暗图层混合模式
ZPHOTO_ModeMultiply正片叠底图层混合模式
ZPHOTO_ModeColorBurn颜色加深图层混合模式
ZPHOTO_ModeLinearBurn线性渐变图层混合模式
ZPHOTO_ModeDarkness深色图层混合模式
ZPHOTO_ModeLighten变亮图层混合模式
ZPHOTO_ModeScreen滤色图层混合模式
ZPHOTO_ModeColorDodge颜色减淡图层混合模式
ZPHOTO_ModeColorLinearDodge颜色线性减淡图层混合模式
ZPHOTO_ModeColorDodge浅色图层混合模式
ZPHOTO_ModeOverlay叠加图层混合模式
ZPHOTO_ModeSoftLight柔光图层混合模式
ZPHOTO_ModeHardLight强光图层混合模式
ZPHOTO_ModeVividLight亮光图层混合模式
ZPHOTO_ModeLinearLight线性光图层混合模式
ZPHOTO_ModePinLight点光图层混合模式
ZPHOTO_ModeSolidColorMixing实色图层混合模式
ZPHOTO_ModeDifference差值图层混合模式
ZPHOTO_ModeExclusion排除图层混合模式
ZPHOTO_ModeSubtraction减去图层混合模式
ZPHOTO_ModeDivide划分图层混合模式
ZPHOTO_ModeDesaturate去色模式
ZPHOTO_ModeColorInvert反相模式
1.4,颜色空间转换
包含RGB与YUV、YCbCr、XYZ、HSL、HSV、CMYK、YDbDr、YIQ、LAB等颜色空间的相互转换接口
2,滤镜模块ZEffectEngine
滤镜模块ZEffectEngine,也是我们算法库的一个特色。目前市面上的滤镜特效可谓是层出不穷,以Instagram/Camera360/美图秀秀+美颜相机等为代表,他们的滤镜几乎涵盖了我们的日常生活使用的一大半,而我们的ZEffectEngine,主要是参考借鉴他们的特效,取长补短,实现了差不多上百款滤镜,这些滤镜算法不仅效果不错,而且速度快,调用简单,极大方便了图像应用app的开发。
现在主要包含的滤镜如下:
//////////////////////////模拟实现Instagram滤镜//////////////////////////
FILTER_IDA_NONE
FILTER_IDA_1977
FILTER_IDA_INKWELL
FILTER_IDA_KELVIN
FILTER_IDA_NASHVILLE
FILTER_IDA_VALENCIA
FILTER_IDA_XPROII
FILTER_IDA_BRANNAN
FILTER_IDA_WALDEN
FILTER_IDA_ADEN
FILTER_IDA_ASHBY
FILTER_IDA_BROOKLYN
FILTER_IDA_CHARMES
FILTER_IDA_CLARENDON
FILTER_IDA_CREMA
FILTER_IDA_DOGPACH
FILTER_IDA_GINGHAM
FILTER_IDA_GINZA
FILTER_IDA_HEFE
FILTER_IDA_HELENA
FILTER_IDA_JUNO
FILTER_IDA_LARK
FILTER_IDA_LUDWIG
FILTER_IDA_MAVEN
FILTER_IDA_MOON
FILTER_IDA_REYES
FILTER_IDA_SKYLINE
FILTER_IDA_SLUMBER
FILTER_IDA_STINSON
FILTER_IDA_VESPER
//////////////////////////模拟实现美图滤镜//////////////////////////
FILTER_IDB_WARMER //一键美颜_暖暖
FILTER_IDB_CLEAR //一键美颜_清晰
FILTER_IDB_WHITESKINNED //一键美颜_白皙
FILTER_IDB_COOL //一键美颜_冷艳
FILTER_IDB_ELEGANT //LOMO_淡雅
FILTER_IDB_ANCIENT //LOMO_复古
FILTER_IDB_GETE //LOMO_哥特风
FILTER_IDB_BRONZE //LOMO_古铜色
FILTER_IDB_LAKECOLOR //LOMO_湖水
FILTER_IDB_SLLY //LOMO_深蓝泪雨
FILTER_IDB_SLIVER //格调_银色
FILTER_IDB_FILM //格调_胶片
FILTER_IDB_SUNNY //格调_丽日
FILTER_IDB_WWOZ //格调_绿野仙踪
FILTER_IDB_LOVERS //格调_迷情
FILTER_IDB_LATTE //格调_拿铁
FILTER_IDB_JAPANESE //格调_日系
FILTER_IDB_SANDGLASS //格调_沙漏
FILTER_IDB_AFTEA //格调_午茶
FILTER_IDB_SHEEPSCROLL //格调_羊皮卷
FILTER_IDB_PICNIC //格调_野餐
FILTER_IDB_ICESPIRIT //美颜_冰灵
FILTER_IDB_REFINED //美颜_典雅
FILTER_IDB_BLUESTYLE //美颜_蓝调
FILTER_IDB_LOLITA //美颜_萝莉
FILTER_IDB_LKK //美颜_洛可可
FILTER_IDB_NUANHUANG //美颜_暖黄
FILTER_IDB_RCOOL //美颜_清凉
FILTER_IDB_JSTYLE //美颜_日系人像
FILTER_IDB_SOFTLIGHT //美颜_柔光
FILTER_IDB_TIANMEI //美颜_甜美可人
FILTER_IDB_WEIMEI //美颜_唯美
FILTER_IDB_PURPLEDREAM //美颜_紫色幻想
FILTER_IDB_FOOD //智能_美食
//////////////////////////模拟实现Camera360滤镜效果//////////////////////////
FILTER_IDC_MOVIE //LOMO_电影
FILTER_IDC_MAPLELEAF //LOMO_枫叶
FILTER_IDC_COOLFLAME //LOMO_冷焰
FILTER_IDC_WARMAUTUMN //LOMO_暖秋
FILTER_IDC_CYAN //LOMO_青色
FILTER_IDC_ZEAL //LOMO_热情
FILTER_IDC_FASHION //LOMO_时尚
FILTER_IDC_EKTAR //弗莱胶片 -- Ektar
FILTER_IDC_GOLD //弗莱胶片 -- Gold
FILTER_IDC_VISTA //弗莱胶片 -- Vista
FILTER_IDC_XTAR //弗莱胶片 -- Xtra
FILTER_IDC_RUDDY //魔法美肤 -- 红润
FILTER_IDC_SUNSHINE //魔法美肤 -- 暖暖阳光
FILTER_IDC_FRESH //魔法美肤 -- 清新丽人
FILTER_IDC_SWEET //魔法美肤 -- 甜美可人
FILTER_IDC_BLACKWHITE //魔法美肤 -- 艺术黑白
FILTER_IDC_WHITENING //魔法美肤 -- 自然美白
FILTER_IDC_JPELEGANT //日系 -- 淡雅
FILTER_IDC_JPJELLY //日系 -- 果冻
FILTER_IDC_JPFRESH //日系 -- 清新
FILTER_IDC_JPSWEET //日系 -- 甜美
FILTER_IDC_JPAESTHETICISM //日系 -- 唯美
FILTER_IDC_JPWARM //日系 -- 温暖
//////////////////////////其他滤镜效果//////////////////////////
FILTER_IDD_CARTOON //卡通
FILTER_IDD_DARK //暗调
FILTER_IDD_GLOW //Glow
FILTER_IDD_LOMO //LOMO
FILTER_IDD_NEON //霓虹
FILTER_IDD_OILPAINT //油画
FILTER_IDD_PUNCH //冲印
FILTER_IDD_REMINISCENT //怀旧
FILTER_IDD_SKETCH //素描
FILTER_IDD_GRAPHIC //连环画
FILTER_IDD_ABAOSE //阿宝色
具体效果,简单分享几个:
原图
Instagram 1977滤镜效果
Instagram Kelvin滤镜效果
Instagram Nashville滤镜效果
Camera360 电影 滤镜效果
美图秀秀 紫色幻想 滤镜效果
以上就是目前ZPhotoEngine的主要功能,未来我们还将实现美颜等模块,来跟大家分享一下!
最后,我给个下载连接:
PC版DEMO下载连接:点击打开链接
ZPhotoEngine库下载连接(包含PC版+Android版):点击打开链接
注意:接口说明文档包含在下载连接中,大家有兴趣的可以根据说明文档来调用,实现自己的美图秀秀和PS!
图像滤镜艺术---ZPhotoEngine超级算法库的更多相关文章
- 图像滤镜艺术---Photoshop实现Instagram Amaro滤镜特效
原文:图像滤镜艺术---Photoshop实现Instagram Amaro滤镜特效 本文是我收集的一些使用Photoshop来实现Instagram滤镜的一些内容,在这里跟大家分享一下,这些效果是完 ...
- 图像滤镜艺术---Photoshop实现Instagram之Sierra滤镜
原文:图像滤镜艺术---Photoshop实现Instagram之Sierra滤镜 本文介绍PS实现Instagram中的Sierra滤镜,内容如下: 先看下效果图: 下面是具体实现步骤: 1. To ...
- 图像滤镜艺术---PS图像转手绘特效实现方案
原文:图像滤镜艺术---PS图像转手绘特效实现方案 手绘效果实现方案 本文介绍一种PS手绘效果的实现方案,PS步骤来自网络,本文介绍代码实现过程. 整体看来,虽然效果还是有很大差异,但是已经有了这种特 ...
- 图像滤镜艺术--PS平均(滤镜-模糊-平均)效果
原文:图像滤镜艺术--PS平均(滤镜-模糊-平均)效果 本文介绍PS中滤镜-模糊-平均模糊的效果实现: 这个效果很简单,原理如下: 1,统计全图像素的R,G,B值得和sumR,sumG,sumB; 2 ...
- 图像滤镜艺术---挤压(Pinch)滤镜
原文:图像滤镜艺术---挤压(Pinch)滤镜 Pinch滤镜 Pinch滤镜是通过坐标变换来实现以某个点(cenX,cenY)为中心,某个半径R内图像向其挤压变形的效果.实现这个滤镜的算法很多,主要 ...
- 图像滤镜艺术---Oilpaint油画滤镜
原文:图像滤镜艺术---Oilpaint油画滤镜 Oilpaint油画滤镜 图像油画效果实际上是将图像边缘产生一种朦胧,雾化的效果,同时,将一定的边缘模糊化,这样图像整体上看去像素与像素之间 ...
- 图像滤镜艺术---(Sketch Filter)素描滤镜
原文:图像滤镜艺术---(Sketch Filter)素描滤镜 (Sketch Filter)素描滤镜 素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下: 1,对原图S进行去色命令得到灰度图A ...
- 图像滤镜艺术---Glow Filter发光滤镜
原文:图像滤镜艺术---Glow Filter发光滤镜 Glow Filter发光滤镜 Glow Filter发光滤镜是一种让图像产生发光效果的滤镜,它的实现算法如下: 1,对原图P进行高斯模糊得到图 ...
- 图像滤镜艺术---(Instagram)1977滤镜
原文:图像滤镜艺术---(Instagram)1977滤镜 图像特效---(Instagram)1977滤镜 本文介绍1977这个滤镜的具体实现,这个滤镜最早是Instagram中使用的 ,由于Ins ...
随机推荐
- PatentTips - Integrated circuit well bias circuitry
1. Field of the Invention This invention relates in general to an integrated circuit and more specif ...
- [SCSS] Organize SCSS into Multiple Files with Partials
Tired of dealing with monolithic CSS files? Are requests for multiple CSS files hurting your perform ...
- SendMessageTimeout 的使用
在WINDOW编程中,发送消息的常用API有SendMessage,PostMessage,PostThreadMessage. 一般每个线程有两个队列:一个用来接收通过Send函数的消息,另外一个队 ...
- tcp长连接和短连接
tcp长连接和短连接 TCP在真正的读写操作之前,server与client之间必须建立一个连接, 当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接, 连接的建立通过三次握手,释放则需要四 ...
- Codeforces Round #443 (Div. 2) C: Short Program - 位运算
传送门 题目大意: 输入给出一串位运算,输出一个步数小于等于5的方案,正确即可,不唯一. 题目分析: 英文题的理解真的是各种误差,从头到尾都以为解是唯一的. 根据位运算的性质可以知道: 一连串的位运算 ...
- github push出错(1)You can't push to git:// Use https://
fatal: remote error: You can't push to git://github.com/niexiaobo/remote.git Use https://github.com/ ...
- Oracle数据库的基本概念(转)
一.数据库 我们在安装Oracle数据库时,全局数据库名:就是一个数据库的标识,在安装时就要想好,以后一般不修改,修改起来也麻烦,因为数据库一旦安装,数据库名就写进了控制文件,数据库表,很多地方都会用 ...
- Delphi新手跟我学写CALL,附完整原程序
在开始进入正题前先罗嗦几句: 1.本人也刚学Delphi不久,也刚通过<诛仙>游戏的绝大部分CALL不久.所以在以下所说所列举的例子并不算是名门正中的写法,如有不当,请各位原谅. 2.本人 ...
- POJ 1985 - 树的直径
传送门 题目大意 给一颗n个点的树,求树的直径(最长的一条链) 题解 先随便找一个点u,dfs出离它最远的点v 于是有以下情况: 直径就是这条链 直径经过u,是这条链的延长 直径不经过u 只需要从v再 ...
- 【bzoj2453】维护队列 (分块 + 二分)
传送门(权限题) 题目分析 题意为:求区间内有多少种不同的数,带修改. 首先对原序列分块,用last[i]表示与i相同的上一个在哪里,然后将分块后的数组每个块内的按照last进行排序,这样查询时就可以 ...