Win8Metro(C#)数字图像处理--2.26图像减法
原文:Win8Metro(C#)数字图像处理--2.26图像减法
[函数名称]
图像减法函数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图像减法的更多相关文章
- Win8Metro(C#)数字图像处理--2.3图像反色
原文:Win8Metro(C#)数字图像处理--2.3图像反色 [函数名称] 图像反色函数ContraryProcess(WriteableBitmap src) [算法说明] 反色公式如下: ...
- Win8Metro(C#)数字图像处理--2.33图像非线性变换
原文:Win8Metro(C#)数字图像处理--2.33图像非线性变换 [函数名称] 图像非线性变换函数NonlinearTransformProcess(WriteableBitmap src ...
- Win8Metro(C#)数字图像处理--2.32图像曝光算法
原文:Win8Metro(C#)数字图像处理--2.32图像曝光算法 [函数名称] 图像曝光函数ExposureProcess(WriteableBitmap src,int exposureV ...
- Win8Metro(C#)数字图像处理--2.27图像加法运算
原文:Win8Metro(C#)数字图像处理--2.27图像加法运算 [函数名称] 图像加法函数AddProcess(WriteableBitmap src, WriteableBitmap a ...
- Win8Metro(C#)数字图像处理--2.28图像乘法运算
原文:Win8Metro(C#)数字图像处理--2.28图像乘法运算 [函数名称] 图像乘法函数MultiplicationProcess(WriteableBitmap src, Writea ...
- Win8Metro(C#)数字图像处理--2.29图像除法运算
原文:Win8Metro(C#)数字图像处理--2.29图像除法运算 [函数名称] 图像除法函数DivisionProcess(WriteableBitmap src, WriteableBit ...
- Win8Metro(C#)数字图像处理--2.19图像水平镜像
原文:Win8Metro(C#)数字图像处理--2.19图像水平镜像 [函数名称] 图像水平镜像函数MirrorXProcess(WriteableBitmap src) [函数代码] ...
- Win8Metro(C#)数字图像处理--2.20图像垂直镜像
原文:Win8Metro(C#)数字图像处理--2.20图像垂直镜像 [函数名称] 图像垂直镜像函数MirrorYProcess(WriteableBitmap src) [函数代码] ...
- Win8Metro(C#)数字图像处理--2.18图像平移变换
原文:Win8Metro(C#)数字图像处理--2.18图像平移变换 [函数名称] 图像平移变换函数TranslationProcess(WriteableBitmap src,int x,in ...
随机推荐
- 海思hi3716c机顶盒接usb摄像头和usb无线耳机时,无线耳机有时没有声音
两个USB设备各自是: A:USB摄像头带录音功能,但不带放音功能. B:USB无线耳机是使用USB转2.4G的无线耳机. 详细现象: 1, A,B两者同一时候插上机顶盒,并开机进入android,此 ...
- Android XMPP服务器, BOSH(Http-Binding)和WEB客户端搭建
目标: 搭建一个XMPP服务器, 实现在web page上用javascript与自己XMPP服务器通信, 匿名登录并与任何一个XMPP(Jabber)帐户通信. (Gtalk目前尚有问题) XMPP ...
- web开发-MVC IoC 框架(转)
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算.决策支持等,使客户机越 来越不堪重负,因此将系统的商业分离出来.单独形成一部分,这样三层结构产生了. 其中‘层’是逻辑上的划分. 三层体系结构是将整 ...
- NSstring封装
来自http://devtang.com/blog/2012/02/14/nsstring-java-like-wrapper/ NSStringWrapper.h #import <Found ...
- Linux下用GCC
Linux下用GCC 前言 离职前对做过的支付系统进行了一番#总结,继续完善我的C服务器. 本想着接下来大概实现一下 CGI 协议,但是实现过程中被一个问题卡住了: C进程与php进程的交互数据类型问 ...
- 【心情】CF
感觉CF上最后做出来的人数1500左右的题就是我的智商极限了. 去找那样的题练练吧.
- Arcgis api for javascript学习笔记(4.5版本)-三维地图实现弹窗功能
1. 对于Graphic对象,在初始化Graphic对象时设置popupTemplate属性,即可实现点击Graphic时显示弹窗. <!DOCTYPE html> <html> ...
- VC命令行编译中出现Invalid switch错误的解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用makefile编译gdal库出现一个错误: cd .. if exist./gdal19_i_D.lib del ...
- HTML5 的成长之路
html5历史 w3c从2008年提出html5的概念,目前html5的版本已经趋于稳定,也逐步得到了业界的认可和接受. 以前我们有一个疑问,HTML5与Flash究竟谁将在移动互联网时代称霸市场?这 ...
- C++机器学习古典材料
Caffe :高速神经网络架构 住址:https://github.com/BVLC/caffe CCV :以C语言为核心的现代计算机视觉库 地址:https://github.com/liuliu/ ...