| | |
| | |
| |
|
| | import os |
| | import struct |
| | from PIL import Image |
| |
|
| | IMG_EXTENSIONS = [ |
| | '.jpg', '.JPG', '.jpeg', '.JPEG', |
| | '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP', |
| | ] |
| |
|
| |
|
| | def is_image_file(filename): |
| | return any(filename.endswith(extension) for extension in IMG_EXTENSIONS) |
| |
|
| |
|
| | def make_dataset(dir): |
| | images = [] |
| | assert os.path.isdir(dir), '%s is not a valid directory' % dir |
| |
|
| | for root, _, fnames in sorted(os.walk(dir)): |
| | for fname in fnames: |
| | if is_image_file(fname): |
| | |
| | path = os.path.join(root, fname) |
| | images.append(path) |
| |
|
| | return images |
| |
|
| | |
| | indir="/home/ziyuwan/workspace/data/temp_old" |
| | target_folders=['VOC','Real_L_old','Real_RGB_old'] |
| | out_dir ="/home/ziyuwan/workspace/data/temp_old" |
| | |
| |
|
| | if os.path.exists(out_dir) is False: |
| | os.makedirs(out_dir) |
| |
|
| | |
| | for target_folder in target_folders: |
| | curr_indir = os.path.join(indir, target_folder) |
| | curr_out_file = os.path.join(os.path.join(out_dir, '%s.bigfile'%(target_folder))) |
| | image_lists = make_dataset(curr_indir) |
| | image_lists.sort() |
| | with open(curr_out_file, 'wb') as wfid: |
| | |
| | wfid.write(struct.pack('i', len(image_lists))) |
| | for i, img_path in enumerate(image_lists): |
| | |
| | img_name = os.path.basename(img_path) |
| | img_name_bytes = img_name.encode('utf-8') |
| | wfid.write(struct.pack('i', len(img_name_bytes))) |
| | wfid.write(img_name_bytes) |
| | |
| | |
| | with open(img_path, 'rb') as img_fid: |
| | img_bytes = img_fid.read() |
| | wfid.write(struct.pack('i', len(img_bytes))) |
| | wfid.write(img_bytes) |
| |
|
| | if i % 1000 == 0: |
| | print('write %d images done' % i) |