data_to_h5py.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import cv2
  2. import h5py
  3. import os
  4. import argparse
  5. import numpy as np
  6. import sys
  7. sys.path.append('..')
  8. from voc import VOCDetection
  9. from coco import COCODataset
  10. # ---------------------- Opt ----------------------
  11. parser = argparse.ArgumentParser(description='Cache-Dataset')
  12. parser.add_argument('-d', '--dataset', default='voc',
  13. help='coco, voc, widerface, crowdhuman')
  14. parser.add_argument('--root', default='/Users/liuhaoran/Desktop/python_work/object-detection/dataset/',
  15. help='data root')
  16. parser.add_argument('-size', '--img_size', default=640, type=int,
  17. help='input image size.')
  18. parser.add_argument('--mosaic', default=None, type=float,
  19. help='mosaic augmentation.')
  20. parser.add_argument('--mixup', default=None, type=float,
  21. help='mixup augmentation.')
  22. parser.add_argument('--keep_ratio', action="store_true", default=False,
  23. help='keep aspect ratio.')
  24. args = parser.parse_args()
  25. # ---------------------- Build Dataset ----------------------
  26. if args.dataset == 'voc':
  27. root = os.path.join(args.root, 'VOCdevkit')
  28. dataset = VOCDetection(args.img_size, root)
  29. elif args.dataset == 'coco':
  30. root = os.path.join(args.root, 'COCO')
  31. dataset = COCODataset(args.img_size, args.root)
  32. print('Data length: ', len(dataset))
  33. # ---------------------- Main Process ----------------------
  34. image_dict = dict()
  35. for i in range(len(dataset)):
  36. # load an image
  37. image, image_id = dataset.pull_image(i)
  38. orig_h, orig_w, _ = image.shape
  39. # resize image
  40. if args.keep_ratio:
  41. r = args.img_size / max(orig_h, orig_w)
  42. if r != 1:
  43. interp = cv2.INTER_LINEAR
  44. new_size = (int(orig_w * r), int(orig_h * r))
  45. image = cv2.resize(image, new_size, interpolation=interp)
  46. else:
  47. image = cv2.resize(image, (int(args.img_size), int(args.img_size)))
  48. image_dict[image_id] = image
  49. cv2.imshow('image', image)
  50. # cv2.imwrite(str(i)+'.jpg', img)
  51. cv2.waitKey(0)