原文:图像滤镜艺术---Hudson滤镜(Instagram)

    今天给大家实现的是Instagram中的Hudson滤镜,为什么介绍Instagram滤镜,原因很简单,Instagram本身就是一个巨大的成功,迄今为止,没有哪个软件的滤镜效果可以超越它的。

    Hudson滤镜比较简单,主要是一个模板的寻找,这个模板,我也是在网上找到的,如果单单用PS去实现这个模板效果,我觉得我们是舍易取难,我们追求的是最后的效果,而不是过程呵呵。

    首先看下对比效果:

   

                                    (a) Instagram  Hudson效果

   

                                                 (b) PS效果图

    

                                                                    (c) C# 效果图

    按照原则,先介绍PS实现过程:

    1,打开原始图像以及模板图像,Instagram的目标效果图像:

其中,图层0为原始图像,图层1为模板图像(模板图像与psd文件一起,我都会放到包里供大家下载使用),另外的Hudson即Instagram中的效果图像。

    2,选中图层1,选择“叠加”图层混合模式,即得到效果图:

    然后,我们介绍C#实现:

    按照PS的过程,C#代码如下:

    

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Imaging; namespace SpecialeffectDemo
{
unsafe class HudsonFilter
{
public HudsonFilter(Bitmap src,Bitmap bg_a)
{
this.srcBitmap = src;
this.map = bg_a;
}
private Bitmap srcBitmap = null;
private Bitmap map = null;
public Bitmap Apply()
{
if (srcBitmap != null)
{
Bitmap src = new Bitmap(srcBitmap);
int w = srcBitmap.Width;
int h = srcBitmap.Height;
BitmapData srcData = src.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
BitmapData mapaData = map.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
byte* p = (byte*)srcData.Scan0;
byte* pa = (byte*)mapaData.Scan0;
int r = 0, g = 0, b = 0;
for (int j = 0; j < h; j++)
{
for (int i = 0; i < w; i++)
{
b = p[0];
g = p[1];
r = p[2]; b = SpecialEffectClass.ModeSuperpositionEffect(b, pa[0]);
g = SpecialEffectClass.ModeSuperpositionEffect(g, pa[1]);
r = SpecialEffectClass.ModeSuperpositionEffect(r, pa[2]); p[0] = (byte)b;
p[1] = (byte)g;
p[2] = (byte)r; p += 4;
pa += 4;
}
p += srcData.Stride - w * 4;
pa += mapaData.Stride - w * 4;
}
src.UnlockBits(srcData);
map.UnlockBits(mapaData);
return src;
}
else
{
return null;
}
} }
}

 

界面效果:

    最后给出代码和PS实现过程的包,免费下载地址http://download.csdn.net/detail/trent1985/8177015

    以上就是Hudson这款滤镜的实现过程,希望大家喜欢,有什么问题可以给我留言或者邮件:

邮箱dongtingyueh@163.com  QQ:1358009172

最后,分享一个专业的图像处理网站(微像素),里面有很多源代码下载:

图像滤镜艺术---Hudson滤镜(Instagram)的更多相关文章

  1. 图像滤镜艺术---Photoshop实现Instagram之Sierra滤镜

    原文:图像滤镜艺术---Photoshop实现Instagram之Sierra滤镜 本文介绍PS实现Instagram中的Sierra滤镜,内容如下: 先看下效果图: 下面是具体实现步骤: 1. To ...

  2. 图像滤镜艺术---Photoshop实现Instagram之Mayfair滤镜效果

    原文:图像滤镜艺术---Photoshop实现Instagram之Mayfair滤镜效果 本文介绍一下如何使用Photoshop来实现Instagram中的Mayfair滤镜的效果. 以上就是这个滤镜 ...

  3. 图像滤镜艺术---Photoshop实现Instagram Amaro滤镜特效

    原文:图像滤镜艺术---Photoshop实现Instagram Amaro滤镜特效 本文是我收集的一些使用Photoshop来实现Instagram滤镜的一些内容,在这里跟大家分享一下,这些效果是完 ...

  4. 图像滤镜艺术--Toaster滤镜

    原文:图像滤镜艺术--Toaster滤镜     根据Instagram CEO的说法,Toaster滤镜是Instagram所有滤镜中最复杂的滤镜,这个滤镜给人一种新奇的红色烘烤感,很能让人联想起这 ...

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

    原文:图像滤镜艺术----Brannan滤镜     作为第一篇文章,本人将介绍Instagram中Brannan 滤镜的实现过程,当然,是自己的模拟而已,结果差异敬请谅解.     先看下效果图: ...

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

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

  7. 图像滤镜艺术---Swirl滤镜

    原文:图像滤镜艺术---Swirl滤镜 Swirl Filter Swirl 滤镜是实现图像围绕中心点(cenX,cenY)扭曲旋转的效果,效果图如下: 原图 效果图 代码如下:         // ...

  8. Atitit 图像处理之仿油画效果 Oilpaint油画滤镜 水彩画 漫画滤镜 v2

    Atitit 图像处理之仿油画效果 Oilpaint油画滤镜 水彩画 漫画滤镜 v2 1.1. 具体源码参考1 2. ,油画 水彩画具有几个比较明显的特点如下:1 2.1. 明暗层次(灰度)较少  也 ...

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

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

随机推荐

  1. oracle改动登录认证方式

    通过配置sqlnet.ora文件.我们能够改动oracle登录认证方式. SQLNET.AUTHENTICATION_SERVICES=(NTS);基于操作系统的认证 SQLNET.AUTHENTIC ...

  2. 阿里云Java镜像:基本配置和总体说明

    本文中的内容,来自阿里云镜像系统自带的说明.  下次不想用镜像了,感觉也没有节省多少工作量. 一.软件 1.nginx /usr/local/nginx 2.tomcat-7 /var/tomcat/ ...

  3. C#-numericUpDown-数字选择---ShinePans

    program.cs using System; using System.Collections.Generic; using System.Linq; using System.Windows.F ...

  4. Android中再按一次退出实现

    很多应用中都有一个在用户后退的时候显示"再按一次退出"的提醒,这个怎么实现呢?有两种方式 第一种方式(最常用) long waitTime = 2000; long touchTi ...

  5. 学习鸟哥的Linux私房菜笔记(7)——文件查找与文件管理1

    一.可执行文件的搜索 which 显示一个可执行文件的完整路径 按照alias->$PATH的顺序查找 查看系统的环境变量 whereis 搜索一个可执行工具及其相关配置.帮助 slocate ...

  6. linux系统下信号具体解释2

    信号是UNIX 系统所使用的进程通信方法中,最古老的一种.信号不但能从内核发往一个进程,也能从一个进程发往还有一个进程.比如,用户在后台启动了一个要运行较长时间的程序,假设想中断其运行,能够用kill ...

  7. 打造开发React Native的Sublime

     之前一年多一直用Sublime Text做前端开发,最近做React开发,发现不太好用,就尝试其他编辑器.WebStorm和VS Code都用过,WebStorm基本不用装插件,可以直接用,但用习惯 ...

  8. 微软 2018 年第一笔收购:文件存储公司 Avere Systems

    微软 2018 年第一笔收购:文件存储公司 Avere Systems 2018 年 1 月 4 日, 9:47 上午 · Picturepan2 微软今天宣布收购文件存储公司 Avere Syste ...

  9. Arcgis api for javascript学习笔记(3.2X版本)-初步尝试

    Arcgis api for javascript(3.22版本)官方地址 :https://developers.arcgis.com/javascript/3/ 1. 根据官方示例实现一个简单地图 ...

  10. CUDA流(Stream)

    CUDA流表示一个GPU操作队列,该队列中的操作将以添加到流中的先后顺序而依次执行.可以将一个流看做是GPU上的一个任务,不同任务可以并行执行.使用CUDA流,首先要选择一个支持设备重叠(Device ...