C#图像线性变换的方法
本文实例讲述了C#图像线性变换的方法。分享给大家供大家参考。具体如下:
//定义图像线性运算函数(y=kx+v)
privatestaticBitmapLinearOP(Bitmapa,doublek,doublev)
{
Rectanglerect=newRectangle(0,0,a.Width,a.Height);
System.Drawing.Imaging.BitmapDatasrcData=a.LockBits(rect,System.Drawing.Imaging.ImageLockMode.ReadWrite,a.PixelFormat);
IntPtrptr=srcData.Scan0;
intbytes=0;
bytes=srcData.Stride*a.Height;
byte[]grayValues=newbyte[bytes];
System.Runtime.InteropServices.Marshal.Copy(ptr,grayValues,0,bytes);
inttemp=0;
for(inti=0;i<bytes;i++)
{
temp=(int)(k*grayValues[i]+v+0.5);
temp=(temp>255)?255:temp<0?0:temp;
grayValues[i]=(byte)temp;
}
System.Runtime.InteropServices.Marshal.Copy(grayValues,0,ptr,bytes);
a.UnlockBits(srcData);
returna;
}
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短