博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Win8 Metro(C#)数字图像处理--2.45图像雾化效果算法
阅读量:6647 次
发布时间:2019-06-25

本文共 1650 字,大约阅读时间需要 5 分钟。

原文:

[函数名称]

  图像雾化         AtomizationProcess(WriteableBitmap src,int v)

[算法说明]

        ///         /// Atomization process.        ///         /// The source image.        /// The threshould to control the effect of atomization.        /// 
public static WriteableBitmap AtomizationProcess(WriteableBitmap src,int v)45图像雾化 { if (src != null) { int w = src.PixelWidth; int h = src.PixelHeight; WriteableBitmap srcImage = new WriteableBitmap(w, h); byte[] temp = src.PixelBuffer.ToArray(); byte[] tempMask = (byte[])temp.Clone(); Random ran = new Random(); int k = 0; int dx = 0; int dy = 0; for (int j = 0; j < h; j++) { for (int i = 0; i < w; i ++) { k = ran.Next(v); dx = (i + k) >= w ? w - 1 : (i + k); dy = (j + k) >= h ? h - 1 : (j + k); temp[i * 4 + j * w * 4] = (byte)tempMask[dx * 4 + dy * w * 4]; temp[i * 4 + 1 + j * w * 4] = (byte)tempMask[dx * 4 + 1 + dy * w * 4]; temp[i * 4 + 2 + j * w * 4] = (byte)tempMask[dx * 4 + 2 + dy * w * 4]; } } Stream sTemp = srcImage.PixelBuffer.AsStream(); sTemp.Seek(0, SeekOrigin.Begin); sTemp.Write(temp, 0, w * 4 * h); return srcImage; } else { return null; } }

[图像效果]


你可能感兴趣的文章
Spring框架笔记(二十八)—— 使用xml配置文件配置事务
查看>>
Hibernate复习笔记(4)——Session核心方法详解(上)
查看>>
全局跨域配置引起的问题
查看>>
WHERE 子句中有用的函数
查看>>
InnoDB脏页刷新机制Checkpoint
查看>>
https://github.com/doo/GAJavaScriptTracker
查看>>
Python包中__init__.py文件的意义
查看>>
Linux命令学习手册-arp命令
查看>>
谨慎:使用 iptables -F 清除所有规则命令时必须小心
查看>>
树图 广度优先算法和深度优先算法
查看>>
onetomany one的一方把set集合封装到json中
查看>>
【转载】actor 模型的优缺点分析介绍
查看>>
第十章 Scala 容器(三):使用容器通用方法解决问题
查看>>
如何给 NPM 设置代理
查看>>
23种设计模式
查看>>
LaraverS框架Redis设置Key前缀
查看>>
[转]linux 启动 oracle
查看>>
O2O与B2C的区别
查看>>
isset array_key_exist in_array效率比较
查看>>
Thinking in java notes
查看>>