原文:
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; } }
最后,分享一个专业的图像处理网站(微像素),里面有很多源代码下载: