summaryrefslogtreecommitdiff
path: root/dataset_utils.py
blob: 927a78ae1a82a7259c714949dd6a64da42ad8090 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import numpy as np
from PIL import Image
from pathlib import Path

"""Class to interface the training and testing data."""
class DatasetUtils:
    def __init__(self) -> None:
        self.data_path = Path('./data')

    """Convert the dataset to a 2 dimension array."""
    def data_to_arrays(self):
        for dir in self.data_path.iterdir():
            if not dir.is_dir(): continue

            for file in dir.glob('*.png'):
                image = Image.open(str(file)).convert(mode='L')
                # Return the image's pixel values as an array alongside
                # the character that it represents.
                yield (dir.name, np.asarray(image))

    """
    Get an image from the dataset.
    """
    def get_image(self, path: str):
        return np.asarray(Image.open(f"{self.data_path}/{path}").convert('1'))
                
    """Search for a file in the dataset."""
    def search(self, filename: str):
        pass

    def get_random_sample(self):
        pass