/// <summary> /// Вычисление функции плотности в окрестности данной точки /// </summary> /// <param name="point">Координаты точки</param> /// <returns>Значение функции плотности в окрестности данной точки</returns> private double CalculateDensityInPoint(Point point) { int[] windows = { 2, 3, 4, 5, 7 }; var points = windows .Select(windowSize => { double intens = CalculateIntensivity(point, windowSize); double x = Math.Log(2 * windowSize + 1); double y = Math.Log(intens + 1); return(x, y); }) .ToList(); return(LeastSquares.ApplyMethod(points)); }
/// <summary> /// Вычисление фрактальной размерности изображения /// </summary> /// <param name="image">Анализируемое изображение</param> /// <returns>Фрактальная размерность изображения</returns> private double CalculateMeasure(DirectBitmap image) { int[] windows = { 3, 4, 5, 6, 7, 8 }; var points = windows .Select(windowSize => { double intens = CalculateBlackWindows(image, windowSize); double x = Math.Log(windowSize); double y = Math.Log(intens + 1); return(x, y); }) .ToList(); return(-LeastSquares.ApplyMethod(points)); }