WPF:图像处理(二)灰度化(5)
来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:33 点击:次
Int32 Index = i * Stride + (j << 2);
GrayPixels[i * GrayStride + j] = Convert.ToByte((Pixels[Index + 2] * 19595 + Pixels[Index + 1] * 38469 + Pixels[Index] * 7471 + 32768) >> 16);
}
}
// 从灰度数据中创建灰度图像
return BitmapSource.Create(PixelWidth, PixelHeight, 96, 96, PixelFormats.Indexed8, BitmapPalettes.Gray256, GrayPixels, GrayStride);
}
/// <summary>
/// 将灰度数组转换为灰度图像(256级灰度)
/// </summary>
/// <param name="grayArray">灰度数组</param>
/// <returns>灰度图像</returns>
public static BitmapSource GrayArrayToGrayBitmap(Byte[,] grayArray)
{ // 将灰度数组转换为灰度数据
Int32 PixelHeight = grayArray.GetLength(0); // 图像高度
Int32 PixelWidth = grayArray.GetLength(1); // 图像宽度
Int32 Stride = ((PixelWidth + 3) >> 2) << 2; // 扫描行跨距
Byte[] Pixels = new Byte[PixelHeight * Stride];
for (Int32 i = 0; i < PixelHeight; i++)
{
for (Int32 j = 0; j < PixelWidth; j++)
{
Pixels[i * Stride + j] = grayArray[i, j];
}
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>