[函数名称]

图像减法函数SubtractionProcess(WriteableBitmap src, WriteableBitmap subSrc)

[算法说明]

图像减法就是将两幅图像对应像素值进行减法运算,这里要求两幅图像大小最好相同。

算法过程如下:

[函数代码]

///<summary>

/// Subtraction of two images(Both of them should be in same size).

///</summary>

///<param name="src">The first source image.</param>

///<param name="subSrc">The second source image.</param>

///<returns></returns>

publicstaticWriteableBitmap SubtractionProcess(WriteableBitmap src,WriteableBitmap subSrc)26图像减法

{

if (src !=null)

{

int w = src.PixelWidth;

int h = src.PixelHeight;

WriteableBitmap subImage =newWriteableBitmap(w, h);

byte[] temp = src.PixelBuffer.ToArray();

byte[] subTemp = subSrc.PixelBuffer.ToArray();

byte[] dst =newbyte[w * h * 4];

for (int i = 0; i < w; i++)

{

for (int j = 0; j < h; j++)

{

dst[i * 4 + j * w * 4] = (byte)Math .Abs(temp[i * 4 + (h - 1 - j) * w * 4] - subTemp[i * 4 + (h - 1 - j) * w * 4]);

dst[i * 4 + 1 + j * w * 4] = (byte)Math .Abs(temp[i * 4 + 1 + (h - 1 - j) * w * 4] - subTemp[i * 4 + 1 + (h - 1 - j) * w * 4]);

dst[i * 4 + 2 + j * w * 4] = (byte)Math .Abs(temp[i * 4 + 2 + (h - 1 - j) * w * 4] - subTemp[i * 4 + 2 + (h - 1 - j) * w * 4]);

dst[i * 4 + 3 + j * w * 4] = 0;

}

}

Stream sTemp = subImage.PixelBuffer.AsStream();

sTemp.Seek(0, SeekOrigin.Begin);

sTemp.Write(dst, 0, w * 4 * h);

return subImage;

}

else

{

returnnull;

}

}

[图像效果]

Win8Metro(C#)数字图像处理--2.26图像减法相关推荐

  1. Win8Metro(C#)数字图像处理--2.3图像反色

    原文:Win8Metro(C#)数字图像处理--2.3图像反色 [函数名称] 图像反色函数ContraryProcess(WriteableBitmap src) [算法说明] 反色公式如下:     ...

  2. Win8Metro(C#)数字图像处理--2.7图像伪彩色

    Win8Metro(C#)数字图像处理--2.7图像伪彩色 原文:Win8Metro(C#)数字图像处理--2.7图像伪彩色  2.7图像伪彩色函数 [函数名称] 图像伪彩色函数PseudoCol ...

  3. Win8Metro(C#)数字图像处理--2.33图像非线性变换

    原文:Win8Metro(C#)数字图像处理--2.33图像非线性变换  [函数名称] 图像非线性变换函数NonlinearTransformProcess(WriteableBitmap src ...

  4. Win8Metro(C#)数字图像处理--2.18图像平移变换

    原文:Win8Metro(C#)数字图像处理--2.18图像平移变换  [函数名称] 图像平移变换函数TranslationProcess(WriteableBitmap src,int x,in ...

  5. Win8Metro(C#)数字图像处理--2.32图像曝光算法

     [函数名称] 图像曝光函数ExposureProcess(WriteableBitmap src,int exposureValue) [函数代码] /// <summary> // ...

  6. Win8Metro(C#)数字图像处理--2.17图像木刻效果

     [函数名称] 图像木刻效果函数WoodCutProcess(WriteableBitmap src) [函数代码] ///<summary> /// Wood cut process ...

  7. Win8Metro(C#)数字图像处理--2.14Prewitt 边缘检测

    原文:Win8Metro(C#)数字图像处理--2.14Prewitt 边缘检测  [函数名称] 图像Prewitt边缘检测函数PrewittEdgeProcess(WriteableBitmap ...

  8. Win8Metro(C#)数字图像处理--2.24二值图像闭运算

    原文:Win8Metro(C#)数字图像处理--2.24二值图像闭运算  [函数名称] 二值图像闭运算函数CloseOperateProcess(WriteableBitmap src) [算法说 ...

  9. Win8Metro(C#)数字图像处理--2.12Sobel边缘检测

    原文:Win8Metro(C#)数字图像处理--2.12Sobel边缘检测  [函数名称] 图像Sobel边缘检测函数SobelEdgeProcess(WriteableBitmap src) [ ...

最新文章

  1. shadow fight 1.6.0 内购
  2. 什么才是软件开发的葵花宝典?
  3. 23 | MySQL是怎么保证数据不丢的?
  4. 几句话总结21种设计模式。
  5. ansible-playbook组件解析及操作全解
  6. leetcode 740. Delete and Earn | 740. 删除并获得点数(暴力递归->傻缓存->DP)
  7. 文档声明和HTML样式表
  8. linux恢复终端默认配置,以gnome-terminal为例,修改gnome3 的默认配置,
  9. 【AI算法模型评测】2 如何评价多标签分类模型的好坏?
  10. php mysql 框架 php5.2_简单快速安装Apache+PHP+MySql服务环境(四)—— 将php版本升级到7.2...
  11. 今天要查一下,如果没有密保手机的号码在使用,怎么更换qq的密保手机
  12. Spring2.5学习笔记1-控制反转-Autowiring策略(续)
  13. 泰山JDK8新实现的一个字体斜体效果
  14. 计算机关机的命令行,自动关机命令,windows自动关机命令
  15. DataFormatString
  16. UltraEdit 编辑器授权许可暴力破解
  17. 推荐系统的4个方面完全总结
  18. 快速上手ECharts,让你的数据不再冷冰!
  19. 8代9代cpu平台改换win7的实践经验!
  20. mysql 页分裂_InnoDB中的页合并与分裂

热门文章

  1. 建设规划合理、高效便捷的现代物流中心——浙江嘉兴市局(公司)卷烟物流配送中心建设纪实...
  2. 海岛奇兵服务器维护中怎么办,海岛奇兵无法更新解决方法介绍
  3. 西安硬科技创新大会前奏,一起玩转陕西首档广播双创节目乐创power
  4. 多线程面试题_线程魔术技巧:使用Java线程可以做的5件事
  5. C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言。
  6. 比大衣保暖,比羽绒服显瘦!这件高级反貂绒毛衣火了!不起球不掉毛,明明毛茸茸的却巨显瘦,舒适又保暖....YYDS!...
  7. 工程地质计算机应用百度云,工程地质计算机应用
  8. tensorflow使用GPU加速
  9. 如何搜集你想要的信息
  10. 关于意识形成过程的认识