本文介绍PS中滤镜-模糊-平均模糊的效果实现:
这个效果很简单,原理如下:
1,统计全图像素的R,G,B值得和sumR,sumG,sumB;
2,计算平均R,G,B(R = sumR/(width*height)...);
3,用平均R,G,B代替全图所有像素即可。
代码实现如下:
~~~
public static Bitmap Mean(Bitmap src)
{
Bitmap dst = new Bitmap(src);
BitmapData srcData = dst.LockBits(new Rectangle(0, 0, dst.Width, dst.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
byte* p = (byte*)srcData.Scan0;
int i, j;
int sumR, sumG, sumB;
int pos;
int width = dst.Width;
int height = dst.Height;
int stride = srcData.Stride;
sumB = 0; sumG = 0; sumR = 0;
for (j = 0; j < height; j++)
{
for (i = 0; i < width; i++)
{
pos = i * 4 + j * stride;
sumB += p[pos];
sumG += p[pos + 1];
sumR += p[pos + 2];
}
}
pos = width * height;
sumB = sumB / pos;
sumG = sumG / pos;
sumR = sumR / pos;
for (j = 0; j < height; j++)
{
for (i = 0; i < width; i++)
{
pos = i * 4 + j * stride;
p[pos] = (byte)sumB;
p[pos + 1] = (byte)sumG;
p[pos + 2] = (byte)sumR;
}
}
dst.UnlockBits(srcData);
return dst;
}
~~~
效果与PS一模一样:
![](https://box.kancloud.cn/2016-01-05_568b332866c91.jpg)
原图
![](https://box.kancloud.cn/2016-01-05_568b33287d2d6.jpg)
本文算法效果图
![](https://box.kancloud.cn/2016-01-05_568b332888185.jpg)
PS效果图
跟大家分享一下!
- 前言
- 序言
- Brannan滤镜
- 编码基础(Photoshop基础变换的代码实现)
- Toaster滤镜
- Hudson滤镜(Instagram)
- 暴雨滤镜
- 大雪滤镜
- 图像滤镜实现万能方法研究
- 大雾效果滤镜
- 连环画滤镜
- 暗调滤镜
- 怀旧风格滤镜
- (Nostalgla Filter)老照片滤镜
- (Punch Filter)交叉冲印滤镜
- (Lightleaks Filter)漏光滤镜
- 漫画滤镜
- LOMO Filter
- Glow Filter发光滤镜
- (Instagram)1977滤镜
- (Sketch Filter)素描滤镜
- 水彩画滤镜
- 图像光照效果滤镜
- Oilpaint油画滤镜
- Swirl滤镜
- Wave滤镜
- 球面(Spherize)滤镜
- 挤压(Pinch)滤镜
- 旋转模糊滤镜
- 霓虹、浮雕、木刻滤镜
- 图像滤镜晕影调节算法研究
- PS平均(滤镜-模糊-平均)效果
- Photoshop实现Instagram Amaro滤镜特效
- Photoshop实现Instagram之Nashville滤镜
- Photoshop实现Instagram之Sierra滤镜
- Photoshop实现Instagram之Mayfair滤镜效果
- ZPhotoEngine超级算法库
- 乐高像素拼图特效
- 乐高像素拼图特效滤镜的代码实现
- 保留细节的磨皮滤镜之PS实现
- 保留细节的磨皮之C#程序实现
- 流行艺术风滤镜特效PS实现
- PS图层混合模式之明度模式