WPF:图像处理(三)二值化(3)
来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:33 点击:次
else
threshold = IterativeThreshold(GrayArray);
// 将灰度数组转换为二值数据
Int32 PixelHeight = bitmap.PixelHeight;
Int32 PixelWidth = bitmap.PixelWidth;
Int32 Stride = ((PixelWidth + 31) >> 5) << 2;
Byte[] Pixels = new Byte[PixelHeight * Stride];
for (Int32 i = 0; i < PixelHeight; i++)
{
Int32 Base = i * Stride;
for (Int32 j = 0; j < PixelWidth; j++)
{
if (GrayArray[i, j] > threshold)
{
Pixels[Base + (j >> 3)] |= Convert.ToByte(0x80 >> (j & 0x7));
}
}
}
// 从灰度数据中创建灰度图像
return BitmapSource.Create(PixelWidth, PixelHeight, 96, 96, PixelFormats.Indexed1, BitmapPalettes.BlackAndWhite, Pixels, Stride);
}
}
}
作者:秦建辉
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>