最近新海诚滤镜特效很火,Camera360为此还专门开发了相应的app,天天P图等等也是争先恐后,今天,本人来给大家解密一下。

先给大家看下本人程序实现的效果图:

原图

效果图

下面本人来详细说明一下如何程序实现这个滤镜特效:

1,天空检测与分割

这个滤镜中最主要的就是天空区域的分割与替换,关于天空分割,本人给出一篇参考文献:

Sky detection by effective context inference. Neurocomputing.2016

该文章是基于训练学习来实现天空分割的,大概流程如下:

2,天空MASK

通过1得到天空的精确分割区域后,我们需要对这个区域进行二值化,黑色为非天空区域,白色为天空区域,然后对这个二值图进行一个适当半径的高斯滤波,使得天空与非天空之间的边界线有足够的过度,也就是PS中的羽化。这里以下图为例:

3,天空融合

使用2中的Mask,将原图和天空图进行融合,这一步使用PS中的正常模式进行融合即可,白色区域显示天空图,黑色区域显示原图;这里使用的天空图像如下图所示:

(c)天空图像

效果图如下:

4,调色

调色这一步很关键,你需要什么样风格的漫画,就需要针对调出什么样风格的颜色色调。本人在这里参考的是如下的风格(点击打开链接):

5,光晕

调色之后,我们需要给图片上添加一定的光晕,这一步,我们直接使用光晕模版,与原图做滤色的图层混合,即可。

本人使用的光晕模版如下:

4-5两步骤的结果图如下:

关于滤色图层混合的计算,代码如下:

        int ModeFilterColor(int basePixel, int mixPixel){int res = 0;res = 255 - (255 - mixPixel) * (255 - basePixel) / 255;return Math.Min(255, Math.Max(0, res));}

6,饱和度和亮度调节

最后,对图像进行一个饱和度和亮度的简单调节,调出一种明亮清新的感觉,调节步骤如下:

效果图如下:

(g)新海诚滤镜效果图

如果需要边界的加强感觉,可以在1之前,对图像进行一个照亮边缘的操作,得到照亮边缘图A,然后讲A和原图进行叠加处理,效果会更好一点。

叠加处理的代码如下:

int ModeOverlay(int basePixel,int mixPixel)
{int res = 0;res = ((basePixel <= 128) ? (mixPixel * basePixel / 128):(255 - (255 - mixPixel) * (255 - basePixel) / 128));return CheckRange(res);
}

最后附上调用的逻辑代码:

private void specialFilterToolStripMenuItem_Click(object sender, EventArgs e){if (pictureBox1.Image != null){//获取由1天空分割得到的天空图像Bitmap sky = new Bitmap(Application.StartupPath + "\\sky.png");//获取由2得到的天空Mask图像Bitmap mask = new Bitmap(Application.StartupPath + "\\mask_6.jpg");//天空融合curBitmap = SpecialFilter(srcBitmap, sky, mask);//调色与光晕Bitmap map = new Bitmap(Application.StartupPath + "\\map.png");Bitmap light = new Bitmap(Application.StartupPath + "\\light.png");curBitmap = MapFilter(curBitmap, light, map);//亮度与饱和度调节Bitmap anMap = new Bitmap(Application.StartupPath + "\\anmap.png");curBitmap = AnMapFilter(curBitmap, anMap);pictureBox1.Image = curBitmap;}}

以上就是新海诚滤镜的程序实现方案,至于详细代码,这里设计公司机密,不便透露,原理已经写清楚了,大家可以尝试一下!如果有疑问,可以交流:QQ1358009172

滤镜艺术---新海诚(你的名字)滤镜特效的实现解密相关推荐

  1. 图像滤镜艺术---微软自拍APP滤镜实现合集DEMO

    原文:图像滤镜艺术---微软自拍APP滤镜实现合集DEMO 微软最近推出了自家的美颜app,大家有兴趣可以在苹果商店中下载一下看一看,今天,我们要说的便是这款app中的所有滤镜实现问题. 这款app中 ...

  2. 图像滤镜艺术---(Punch Filter)交叉冲印滤镜

    原文: 图像滤镜艺术---(Punch Filter)交叉冲印滤镜 (Punch Filter)交叉冲印滤镜 本文介绍一种交叉冲印效果的代码实现,至于原理,不在累赘,直接看代码: int f_TPun ...

  3. 图像滤镜艺术---保留细节的磨皮滤镜之PS实现

    目前,对于人物照片磨皮滤镜,相信大家没用过也听过吧,这个滤镜的实现方法是多种多样,有难有简,有好有差,本人经过长时间的总结,得出了一种最简单,效果又不失细节与真实感的方法,对于这个方法,本人将先介绍它 ...

  4. 图像滤镜艺术---(Instagram)1977滤镜

    原文:图像滤镜艺术---(Instagram)1977滤镜 图像特效---(Instagram)1977滤镜 本文介绍1977这个滤镜的具体实现,这个滤镜最早是Instagram中使用的 ,由于Ins ...

  5. 图像滤镜艺术---Wave滤镜

    图像滤镜艺术---Wave滤镜 原文:图像滤镜艺术---Wave滤镜 Wave Filter水波滤镜 水波滤镜是通过坐标变换来模拟水波效果,使图像呈现出水波的特效.这个滤镜有一个可调参数:水波的扭曲程 ...

  6. 图像滤镜艺术---霓虹、浮雕、木刻滤镜

    图像滤镜艺术---霓虹.浮雕.木刻滤镜 原文:图像滤镜艺术---霓虹.浮雕.木刻滤镜 图像特效往往可以将普通的照片呈现出一种令人耳目一新的效果,特效的种类繁多,比如各种流行的 滤镜特效等等,今天,我们 ...

  7. 图像滤镜艺术---(Lightleaks Filter)漏光滤镜

    原文:图像滤镜艺术---(Lightleaks Filter)漏光滤镜 (Lightleaks Filter)漏光滤镜 漏光拍摄其实就是一种摄影手法,最初是因为强烈光照导致相片交卷的过分曝光,最终在成 ...

  8. 图像滤镜艺术---(Nostalgla Filter)老照片滤镜

    原文:图像滤镜艺术---(Nostalgla Filter)老照片滤镜 (Nostalgla Filter)老照片滤镜 Nostalgla Filter主要是通过算法来模拟一种复古,陈旧的照片风格,以 ...

  9. 图像滤镜艺术---图像滤镜晕影调节算法研究

    原文:图像滤镜艺术---图像滤镜晕影调节算法研究 本文对滤镜中常见的晕影,晕角效果的实现做了研究,具体如下: 1 晕影调整算法 所谓晕影就是给图像四个角添加暗影效果,这暗影向图像中心逐渐淡化.我们使用 ...

最新文章

  1. 验证码识别,发票编号识别(转)
  2. 2003 resource kit之Robocopy 高效文件复制工具
  3. python 如果没有该key值置为空_在python字典中用“None”替换空值
  4. pytorch 之 torch.max() 和 torch.min() 记录
  5. 升级安装linux ssh 升级安装
  6. Netweaver和CloudFoundry的log设置
  7. [Spring5]IOC容器_Bean管理XML方式_p名称空间注入
  8. python的文件基本操作和文件指针
  9. 数据结构-王道-排序
  10. lvds 共模电感_【成功案例】共模电感CM0805C221R-10解决车载LVDS信号的手持天线抗扰问题...
  11. sqlyong导出sql没有数据_sqlyog怎么导入外部数据库-sqlyog导入数据库的方法 - 河东软件园...
  12. 51单片机 | 基于I2C总线的秒表模拟应用
  13. LightGBM源码如何计算增益
  14. 对js原型简单的理解和图解
  15. c语言输入数字 获取星期几,输入字母,判断星期几,求大神指点
  16. [原创]Ladon7.5大型内网渗透扫描器Cobalt Strike
  17. 目前最好的DirectShow分离器和解码器: LAV Filter
  18. 批处理 文件注释_批处理文件注释
  19. win10 网卡驱动正常搜索不到WiFi信号 解决方法
  20. Matlab在线运行网址

热门文章

  1. 随笔---XXXIII
  2. custom_filter
  3. 使用Neo4j+InteractiveGraph实现豆瓣电影知识图谱可视化
  4. 腾讯云---语音识别--一句话识别
  5. 决定考BEC商务英语
  6. 粤嵌GEC-6818
  7. python读取word内容复制粘贴,Python读取word文本操作详解
  8. shell while true if
  9. 清除Windows系统用户密码
  10. Flask开发微电影网站(一)