原文:图像滤镜艺术---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. Codeforces 491B. New York Hotel 最远曼哈顿距离

    最远曼哈顿距离有两个性质: 1: 对每一个点(x,y)  分别计算  +x+y , -x+y , x-y , -x-y 然后统计每种组合的最大值就能够了, 不会对结果产生影响 2: 去掉绝对值 , 设 ...

  2. 数据库使用truncate清理非常多表时碰到外键约束时怎么高速解决

    问题处理思路: 1. 先将数据库中涉及到外键约束的表置为无效状态 2.待清除全然部表数据后再将外键约束的表置为可用状态 详细实现脚本: declare begin for vv_sql in (SEL ...

  3. 开发自己的PHP MVC框架(一)

    这个教程能够使大家掌握用mvc模式开发php应用的基本概念.此教程分为三个部分.如今这篇是第一部分. 如今市面上有非常多流行的框架供大家使用.可是我们也能够自己动手开发一个mvc框架.採用mvc模式能 ...

  4. IDEA 多线程Debug

    一.问题描述 在idea中的进行调试时,代码中有多线程,想对线程中的代码进行跟踪,代码如下: for (int i = 0; i < 5; i++) { final int index = i; ...

  5. 【BZOJ 1005】[HNOI2008]明明的烦恼(化简的另一种方法)

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1005 [题意] [题解] 题目和题解在上一篇; 这里 对 [(m^(n-2-tot)) ...

  6. iOS QLPreviewController(Quick Look)快速浏览jpg,PDF,world等

    #import <QuickLook/QuickLook.h> @interface ViewController ()<QLPreviewControllerDataSource, ...

  7. 模块化模式与 OSGi

    模块化模式与 OSGi Android 模块化探索与实践 一.前言 万维网发明人 Tim Berners-Lee 谈到设计原理时说过:“简单性和模块化是软件工程的基石:分布式和容错性是互联网的生命.” ...

  8. leetcode先刷_Valid Sudoku

    我没有看到这个问题,这使其在现货需求数独,害怕一直没敢做.后来我发现原来的标题就是这么简单.推断现在只有数字全不符合的就可以了棋盘上的形势的要求. 是不是正确的三个周期..人是不能满意地看到每一行.每 ...

  9. C# 直接创建多个类和使用反射创建类的性能

    原文:C# 直接创建多个类和使用反射创建类的性能 本文告诉大家我对比的使用直接创建多个类和使用反射创建多个类的性能 在上一篇 C# 程序内的类数量对程序启动的影响 的基础上,继续做实验 现在创建 10 ...

  10. 工作流管理平台Airflow

    Airflow 1. 引言 Airflow是Airbnb开源的一个用Python写就的工作流管理平台(workflow management platform).在前一篇文章中,介绍了如何用Cront ...