Пример #1
0
        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);
        }
Пример #2
0
        public CharacterMap(byte[][] pixels)
        {
            _pixels = pixels;

            Dimensions = new CharacterMapDimensions(pixels.Length, pixels[0].Length);
        }