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#程序设计有所帮助。
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短