public void Load(string pathToDecompressedImageFile, string pathToDecompressedLabelFile) { var fsLabels = new FileStream(PathToDecompressedLabelFile = pathToDecompressedLabelFile, FileMode.Open); var fsImages = new FileStream(PathToDecompressedImageFile = pathToDecompressedImageFile, FileMode.Open); var binLabels = new BinaryReader(fsLabels); var binImages = new BinaryReader(fsImages); binImages.ReadInt32(); var numImages = binImages.ReadBigInt32(); var numRows = ImageDimensions.Rows = binImages.ReadBigInt32(); var numCols = ImageDimensions.Cols = binImages.ReadBigInt32(); binLabels.ReadInt32(); binLabels.ReadInt32(); for (var imageIndex = 0; imageIndex < numImages; imageIndex++) { var pixelArray = Utils.EmptyByteArray(numRows, numCols); for (var rowIndex = 0; rowIndex < numRows; rowIndex++) { pixelArray[rowIndex] = binImages.ReadBytes(numCols); } Add(new CharacterMap(pixelArray, binLabels.ReadByte())); } fsImages.Close(); fsLabels.Close(); binImages.Close(); binLabels.Close(); ImageDimensions = new CharacterMapDimensions(numRows, numCols); }
public CharacterMap(byte[][] pixels) { _pixels = pixels; Dimensions = new CharacterMapDimensions(pixels.Length, pixels[0].Length); }