手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#灰度化图像的实例代码
C#灰度化图像的实例代码
摘要:用伪语句可以表示如下publicbitmapGrayScal(bitmaporgbmp){建立一个与原图片等大的8位的图片取出原图像中的每一...

用伪语句可以表示如下

public bitmap GrayScal(bitmap orgbmp)

{

建立一个与原图片等大的8位的图片

取出原图像中的每一个点

新图像的点=原图像点的红色量*系数1+绿色量*系数2+黄色量*系统3

返回新图像

}

复制代码 代码如下:

/// <summary>

/// 对图像进行点运算,

/// </summary>

public class PointTrans

{

private readonly double cb;

private readonly double cg;

private readonly double cr;

/// <summary>

/// 做点运算,要给每一个偏量,做一下设置,比如做图像的灰度图就需要现设置

/// </summary>

/// <param name="cr"></param>

/// <param name="cg"></param>

/// <param name="cb"></param>

public PointTrans(double cr, double cg, double cb)

{

this.cr = cr;

this.cg = cg;

this.cb = cb;

}

public Bitmap GrayScaleBmp(Bitmap orgData)

{

int bmpWidth = orgData.Width, bmpHeight = orgData.Height;

Bitmap destData = ImageTools.CreateGrayscaleImage(bmpWidth, bmpHeight);

Rectangle bmpRect=new Rectangle(0,0,bmpWidth,bmpHeight);

BitmapData orgBmpData = orgData.LockBits(bmpRect, ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);

BitmapData destBmpData = destData.LockBits(bmpRect, ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed);

ProcessFilter(orgBmpData,destBmpData);

orgData.UnlockBits(orgBmpData);

destData.UnlockBits(destBmpData);

return destData;

}

protected unsafe void ProcessFilter(BitmapData sourceData, BitmapData destinationData)

{

// get width and height

int width = sourceData.Width;

int height = sourceData.Height;

int srcOffset = sourceData.Stride - width*3;

int dstOffset = destinationData.Stride - width;

// do the job

byte* src = (byte*) sourceData.Scan0.ToPointer();

byte* dst = (byte*) destinationData.Scan0.ToPointer();

// for each line

for (int y = 0; y < height; y++)

{

// for each pixel

for (int x = 0; x < width; x++, src += 3, dst++)

{

*dst = (byte) (cr*src[RGB.R] + cg*src[RGB.G] + cb*src[RGB.B]);

}

src += srcOffset;

dst += dstOffset;

}

}

}

【C#灰度化图像的实例代码】相关文章:

C#仿密保卡功能的简单实现代码

C# 拓展方法的简单实例

C#生成影像金字塔的原理实例

c# 调用.bat文件的实现代码

C#求解哈夫曼树,实例代码

C#版ftp方法实现类的代码

C#截图程序类似腾讯QQ截图实现代码

C# jpg缩略图函数代码

C#自动创建数据库实现代码

C# IFF图形结构解析代码

精品推荐
分类导航