Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.51 KB | None | 0 0
  1. import json
  2.  
  3. import shutil
  4. import os
  5. from time import time
  6. import pandas as pd
  7. import numpy as np
  8.  
  9. from multiprocessing.dummy import Pool as ThreadPool
  10.  
  11. json_data = 'new_dataset.json'
  12.  
  13. with open(json_data, 'r') as f:
  14.     car_dict = json.load(f)
  15.    
  16. car_dict['automobile_type1'] = car_dict.pop('Автомобильные (тип 1)')  
  17. car_type_keys = list(car_dict.keys())
  18.  
  19. def download_image(url, car_type, num_plate):
  20.     # r = get(url, stream=True, headers={'User-agent': 'Mozilla/5.0'})
  21.     # if r.status_code == 200:
  22.     path = 'images/{}'.format(car_type)
  23.     name = '{}.jpg'.format(str(int(time()*1000000)))
  24.     command = 'wget ' + url + ' -O' + f'{path}/{name}'
  25.     os.system(command)
  26.     return (f'{path}/{name}', car_type, num_plate)
  27.  
  28. pool = ThreadPool(300)
  29. results = []
  30. for car_type in car_type_keys:
  31.     links = pd.DataFrame(car_dict[car_type])['car_photos'].apply(lambda x: x[0]).values
  32.     num_plates = pd.DataFrame(car_dict[car_type])['number'].values
  33.     car_type = car_type if len(car_type.split()) == 0 else '_'.join(car_type.split())
  34.     if car_type not in os.listdir('images'):
  35.         os.mkdir('images/{}'.format(car_type))
  36.     else:
  37.         shutil.rmtree('images/{}'.format(car_type))
  38.         os.mkdir('images/{}'.format(car_type))
  39.    
  40.     results.append(pool.starmap(download_image, zip(links, [car_type for i in range(len(links))], num_plates)))
  41.  
  42. pd.DataFrame(np.vstack(results), columns=['path', 'class_name', 'num_plate']).to_csv('number_plate_images.csv', index=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement