原文:Win8 Metro(C#)数字图像处理--3.2图像方差计算
/// <summary>
///
/// </summary>Variance computing.
/// <param name="src">The source image.</param>
/// <returns></returns>
public static double GetVarianceProcess(WriteableBitmap src) ////33 图像方差计算
{
if (src != null)
{
double mean = GetMeanProcess(src);
double sum = 0;
double variance = 0;
int gray = 0, number = 0;
byte[] temp = src.PixelBuffer.ToArray();
for (int i = 0; i < temp.Length; i += 4)
{
gray = (int)(temp[i] * 0.114 + temp[i + 1] * 0.587 + temp[i + 2] * 0.299);
sum += (gray-mean)*(gray-mean);
number++;
}
variance = (double)(sum / number);
return variance;
}
else
{
return 0;
}
}
最后,分享一个专业的图像处理网站(微像素),里面有很多源代码下载: