using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.IO;
namespace Core
{
[Serializable]
//Provides useful tools
public class Utility
{
//Reads an image from memory and converts it to grayscale values
public static float[,] ReadImageGrayScale(string imageAddress, float scale)
{
Bitmap image = new Bitmap(imageAddress);
int scaledWidth = (int)(image.Width * scale);
int scaledHeight = (int)(image.Height * scale);
if (scale != 1)
{
image = new Bitmap(image, new Size(scaledWidth, scaledHeight));
}
float[,] gray = new float[image.Height, image.Width];
for (int i = 0; i < image.Height; i++)
{
for (int j = 0; j < image.Width; j++)
{
Color c = image.GetPixel(j, i);
gray[i, j] = ((c.R + c.B + c.G) / 3f) / 255f;
}
}
return gray;
}
}
}