当前位置: 首页 > 编程笔记 >

C#数字图像处理之图像二值化(彩色变黑白)的方法

孔棋
2023-03-14
本文向大家介绍C#数字图像处理之图像二值化(彩色变黑白)的方法,包括了C#数字图像处理之图像二值化(彩色变黑白)的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#数字图像处理之图像二值化(彩色变黑白)的方法。分享给大家供大家参考。具体如下:

//定义图像二值化函数
private static Bitmap PBinary(Bitmap src,int v)
{
 int w = src.Width;
 int h = src.Height;
 Bitmap dstBitmap = new Bitmap(src.Width ,src.Height ,System .Drawing .Imaging .PixelFormat .Format24bppRgb );
 System.Drawing.Imaging.BitmapData srcData = src.LockBits(new Rectangle(0, 0, w, h), System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
 System.Drawing.Imaging.BitmapData dstData = dstBitmap.LockBits(new Rectangle(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;
  int stride = srcData.Stride;
  int r, g, b;
  for (int y = 0; y < h; y++)
  {
  for (int x = 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 );
  return dstBitmap;
 }
}

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍C#图像伪彩色处理方法,包括了C#图像伪彩色处理方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#图像伪彩色处理方法。分享给大家供大家参考。具体如下: 原图: 效果图: 反色图: 希望本文所述对大家的C#程序设计有所帮助。

  • “黑白”调整可让您将彩色图像转换为灰度图像,同时保持对各颜色的转换方式的完全控制。也可以通过对图像应用色调来为灰度着色,例如创建棕褐色效果。 执行下列操作之一: 单击“调整”面板中的“黑白”图标 。 选取“图层”>“新建调整图层”>“黑白”。在“新建图层”对话框中,键入调整图层的名称,然后单击“确定”。 Photoshop 会应用默认的灰度转换。 注意:也可以选择“图像”>“调整”>“黑白”。但是

  • 本文向大家介绍C#数字图像处理之图像缩放的方法,包括了C#数字图像处理之图像缩放的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#数字图像处理之图像缩放的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍C#数字图象处理之图像灰度化方法,包括了C#数字图象处理之图像灰度化方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#数字图象处理之图像灰度化方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍C#图像处理之图像平移的方法,包括了C#图像处理之图像平移的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#图像处理之图像平移的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍彩色图像、灰度图像、二值图像和索引图像区别?相关面试题,主要包含被问及彩色图像、灰度图像、二值图像和索引图像区别?时的应答技巧和注意事项,需要的朋友参考一下 彩色图像:RGB图像。灰度图像:0-255像素值。二值图像:0和1,用于掩膜图像。 索引图像:在灰度图像中,自定义调色板,自定义输出256种颜色值。