|
| 1 | + |
| 2 | +import time |
| 3 | +import concurrent.futures |
| 4 | +from PIL import Image, ImageFilter |
| 5 | + |
| 6 | +img_names = [ |
| 7 | + 'photo-1516117172878-fd2c41f4a759.jpg', |
| 8 | + 'photo-1532009324734-20a7a5813719.jpg', |
| 9 | + 'photo-1524429656589-6633a470097c.jpg', |
| 10 | + 'photo-1530224264768-7ff8c1789d79.jpg', |
| 11 | + 'photo-1564135624576-c5c88640f235.jpg', |
| 12 | + 'photo-1541698444083-023c97d3f4b6.jpg', |
| 13 | + 'photo-1522364723953-452d3431c267.jpg', |
| 14 | + 'photo-1513938709626-033611b8cc03.jpg', |
| 15 | + 'photo-1507143550189-fed454f93097.jpg', |
| 16 | + 'photo-1493976040374-85c8e12f0c0e.jpg', |
| 17 | + 'photo-1504198453319-5ce911bafcde.jpg', |
| 18 | + 'photo-1530122037265-a5f1f91d3b99.jpg', |
| 19 | + 'photo-1516972810927-80185027ca84.jpg', |
| 20 | + 'photo-1550439062-609e1531270e.jpg', |
| 21 | + 'photo-1549692520-acc6669e2f0c.jpg' |
| 22 | +] |
| 23 | + |
| 24 | +t1 = time.perf_counter() |
| 25 | + |
| 26 | +size = (1200, 1200) |
| 27 | + |
| 28 | + |
| 29 | +def process_image(img_name): |
| 30 | + img = Image.open(img_name) |
| 31 | + |
| 32 | + img = img.filter(ImageFilter.GaussianBlur(15)) |
| 33 | + |
| 34 | + img.thumbnail(size) |
| 35 | + img.save(f'processed/{img_name}') |
| 36 | + print(f'{img_name} was processed...') |
| 37 | + |
| 38 | + |
| 39 | +with concurrent.futures.ProcessPoolExecutor() as executor: |
| 40 | + executor.map(process_image, img_names) |
| 41 | + |
| 42 | + |
| 43 | +t2 = time.perf_counter() |
| 44 | + |
| 45 | +print(f'Finished in {t2-t1} seconds') |
0 commit comments