Usage

Installation

To use svhnL, first install it using pip:

(.venv) $ pip install svhnl

Functionalities

Dataset Download & extract

To download the original SVHN dataset [train, test or extra] from their website and extract the downloaded .tar.gz file, use:

Code Example:

>>>> import svhnl
>>>> train_dt_filename = svhnl.download(extract=False)
'./data/train.tar.gz'
>>>> test_dt_folder_path = svhnl.download(dataset_type='test', save_path='../dataset/svhn', extract=True, force=False, del_zip=False)
'../dataset/svhn/test'

For further instruction visit the API page; download

Convert Annotation file into JSON

To read the .mat annotation file provided with the original svhn dataset and generate more flexible and light-weight .json annotation file, use:

Code Example:

import svhnl
svhnl.ann_to_json(file_path='./train/digitStruct.mat', save_path='./svhn_ann.json', bbox_type='normalize')

The function supports both Normalized {top, left, width, height} format and KITTI {xmin, ymin, xmax, ymax} format. For further instruction visit the API page; ann_to_json

Convert Annotation file into csv

To read the .mat annotation file provided with the original svhn dataset and generate more operatable and light-weight .csv annotation file, use:

Code Example:

import svhnl
svhnl.ann_to_csv(file_path='./train/digitStruct.mat', save_path='./svhn_ann.csv', bbox_type='normalize')

The function supports both Normalilzed {top, left, width, height} format and KITTI {xmin, ymin, xmax, ymax} format. For further instruction visit the API page; ann_to_csv

Generate MDR dataset

To easily use the SVHN dataset in any MDR task [defined number of digit recognition or without restrictions on object detection] with digit cropping, RGB to Gray-scale conversion, digit count limiting, etc.

Code Example:

import svhnl
image_np, ann_dict = svhnl.gen_dataset(image_path='../data/svhn/train', mat_path='../data/svhn/train/digitStruct.mat')

For further instruction visit the API page; gen_dataset