C#数字图像处理之图像二值化(彩色变黑白)的方法
本文实例讲述了C#数字图像处理之图像二值化(彩色变黑白)的方法。分享给大家供大家参考。具体如下:
//定义图像二值化函数
privatestaticBitmapPBinary(Bitmapsrc,intv)
{
intw=src.Width;
inth=src.Height;
BitmapdstBitmap=newBitmap(src.Width,src.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Imaging.BitmapDatasrcData=src.LockBits(newRectangle(0,0,w,h),System.Drawing.Imaging.ImageLockMode.ReadOnly,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Imaging.BitmapDatadstData=dstBitmap.LockBits(newRectangle(0,0,w,h),System.Drawing.Imaging.ImageLockMode.WriteOnly,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
unsafe
{
byte*pIn=(byte*)srcData.Scan0.ToPointer();
byte*pOut=(byte*)dstData.Scan0.ToPointer();
byte*p;
intstride=srcData.Stride;
intr,g,b;
for(inty=0;y<h;y++)
{
for(intx=0;x<w;x++)
{
p=pIn;
r=p[2];
g=p[1];
b=p[0];
pOut[0]=pOut[1]=pOut[2]=(byte)(((byte)(0.2125*r+0.7154*g+0.0721*b)>=v)
?255:0);
pIn+=3;
pOut+=3;
}
pIn+=srcData.Stride-w*3;
pOut+=srcData.Stride-w*3;
}
src.UnlockBits(srcData);
dstBitmap.UnlockBits(dstData);
returndstBitmap;
}
}
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西