123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Created on Fri Sep 14 21:02:42 2018
- @author: jbuisine
- """
- from __future__ import print_function
- import glob, image_slicer
- import sys, os, getopt
- from PIL import Image
- import shutil
- # show to create own dataset https://gist.github.com/fchollet/0830affa1f7f19fd47b06d4cf89ed44d
- NUMBER_SUB_IMAGES = 100
- def init_directory():
- if os.path.exists('data'):
- print("Removing all previous data...")
- shutil.rmtree('data')
- if not os.path.exists('data'):
- print("Creating new data...")
- os.makedirs('data/train/final')
- os.makedirs('data/train/noisy')
- os.makedirs('data/validation/final')
- os.makedirs('data/validation/noisy')
- def create_images(folder, output_folder):
- images_path = glob.glob(folder + "/*.png")
- for img in images_path:
- image_name = img.replace(folder, '').replace('/', '')
- tiles = image_slicer.slice(img, NUMBER_SUB_IMAGES, save = False)
- image_slicer.save_tiles(tiles, directory=output_folder, prefix='part_'+image_name)
- def generate_dataset():
- create_images('img_train/final', 'data/train/final')
- create_images('img_train/noisy', 'data/train/noisy')
- create_images('img_validation/final', 'data/validation/final')
- create_images('img_validation/noisy', 'data/validation/noisy')
- def main():
- global NUMBER_SUB_IMAGES
- if len(sys.argv) <= 1:
- print('Please specify nb sub image per image parameter (use -h if you want to know values)...')
- print('generate_dataset.py --nb xxxx')
- sys.exit(2)
- try:
- opts, args = getopt.getopt(sys.argv[1:], "h:n", ["help", "nb="])
- except getopt.GetoptError:
- # print help information and exit:
- print('generate_dataset.py --nb xxxx')
- sys.exit(2)
- for o, a in opts:
- if o == "--help":
- print('generate_dataset.py --nb xxxx')
- print('20x20 : 1600')
- print('40x40 : 400')
- print('60x60 : 178 (approximately)')
- print('80x80 : 100')
- print('100x100 : 64')
- sys.exit()
- elif o == '--nb':
- NUMBER_SUB_IMAGES = int(a)
- init_directory()
- # create database using img folder (generate first time only)
- generate_dataset()
- if __name__== "__main__":
- main()
|