CSDN博客

img stdotleo

如何将一个彩色图像转换成黑白图像

发表于2004/10/27 23:49:00  931人阅读

分类: H.网络文章[转载] C.应用小伎俩

彩色图像转换为黑白图像时需要计算图像中每像素有效的亮度值,通过匹配像素

亮度值可以轻松转换为黑白图像。

计算像素有效的亮度值可以使用下面的公式:

Y=0.3RED+0.59GREEN+0.11Blue

然后使用 Color.FromArgb(Y,Y,Y) 来把计算后的值转换

转换代码可以使用下面的方法来实现:

[C#]

public Bitmap ConvertToGrayscale(Bitmap source)

{

  Bitmap bm 
= new Bitmap(source.Width,source.Height);

  
for(int y=0;y<bm.Height;y++)

  
{

    
for(int x=0;x<bm.Width;x++)

    
{

      Color c
=source.GetPixel(x,y);

      
int luma = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);

      bm.SetPixel(x,y,Color.FromArgb(luma,luma,luma));

    }


  }


  
return bm;

}
阅读全文
0 0

相关文章推荐

img
取 消
img