Win8 Metro(C#)数字图像处理--2.62图像对数增强
原文:Win8 Metro(C#)数字图像处理--2.62图像对数增强
[函数名称]
对数增强 WriteableBitmap LogenhanceProcess(WriteableBitmap src)
/// <summary>
/// Logarithm enhancement process.
/// </summary>
/// <param name="src">The source image.</param>
/// <returns></returns>
public static WriteableBitmap LogenhanceProcess(WriteableBitmap src)////对数增强
{
if (src != null)
{
int w = src.PixelWidth;
int h = src.PixelHeight;
WriteableBitmap srcImage = new WriteableBitmap(w, h);
byte[] temp = src.PixelBuffer.ToArray();
byte[] tempMask = (byte[])temp.Clone();
for (int i = 0; i < tempMask.Length; i++)
{
temp[i] = (byte)(255.0 / Math.Log(256) * Math.Log(tempMask[i] + 1));
}
Stream sTemp = srcImage.PixelBuffer.AsStream();
sTemp.Seek(0, SeekOrigin.Begin);
sTemp.Write(temp, 0, w * 4 * h);
return srcImage;
}
else
{
return null;
}
}
最后,分享一个专业的图像处理网站(微像素),里面有很多源代码下载:
[函数名称]
对数增强 WriteableBitmap LogenhanceProcess(WriteableBitmap src)
/// <summary>
/// Logarithm enhancement process.
/// </summary>
/// <param name="src">The source image.</param>
/// <returns></returns>
public static WriteableBitmap LogenhanceProcess(WriteableBitmap src)////对数增强
{
if (src != null)
{
int w = src.PixelWidth;
int h = src.PixelHeight;
WriteableBitmap srcImage = new WriteableBitmap(w, h);
byte[] temp = src.PixelBuffer.ToArray();
byte[] tempMask = (byte[])temp.Clone();
for (int i = 0; i < tempMask.Length; i++)
{
temp[i] = (byte)(255.0 / Math.Log(256) * Math.Log(tempMask[i] + 1));
}
Stream sTemp = srcImage.PixelBuffer.AsStream();
sTemp.Seek(0, SeekOrigin.Begin);
sTemp.Write(temp, 0, w * 4 * h);
return srcImage;
}
else
{
return null;
}
}
最后,分享一个专业的图像处理网站(微像素),里面有很多源代码下载: