{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"target_size = 256\n\n# clean up\n!rm -rf test train","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import os, cv2, random\nfrom glob import glob\nimport matplotlib.pyplot as plt\nimport matplotlib.image as mpimg\nfrom joblib import Parallel, delayed\nfrom tqdm.notebook import tqdm\n\nfiles = glob('../input/*/jpeg/*/*.jpg')\nrandom.shuffle(files)\n\ndef crop(f, debug=False):\n#     filename = os.path.basename(f)\n    filename = f.split('/')[-2:]\n    os.makedirs(filename[0], exist_ok=True)\n    filename = '/'.join(f.split('/')[-2:])\n\n    img = cv2.imread(f, cv2.IMREAD_UNCHANGED)\n    size = min(img.shape[:2])\n    offset0 = (img.shape[0] - size) // 2\n    offset1 = (img.shape[1] - size) // 2\n    if debug:\n        print(filename, img.shape, size, offset0, offset1)\n        plt.imshow(img) # in cv2 BGR\n        plt.show()\n    # center crop\n    img = img[offset0:offset0+size, offset1:offset1+size, :]\n    img = cv2.resize(img, (target_size, target_size))\n    cv2.imwrite(filename, img, [cv2.IMWRITE_JPEG_QUALITY, 99])\n    if debug:\n        plt.imshow(mpimg.imread(filename))\n\ncrop(files[0], debug=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"collapsed":true},"cell_type":"code","source":"with Parallel(n_jobs=os.cpu_count()) as parallel:\n    parallel(delayed(crop)(i) for i in tqdm(files))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!du -sh *","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!zip -rmq images{target_size}px.zip test train\n!ls -sh *.zip","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}