visrecall/WebInterface/Front-end/generate-experiment-files/check_bad_img.py

41 lines
1.1 KiB
Python

from PIL import Image
import os
import sys
BASE = "../assets/task_data/"
dirs = ["all_images", "sentinel_CC", "natural", "tutorial_CC", "real_CC", "sentinel_images", "tutorial_sentinels", "real_images", "tutorial_images"]
def get_bad_ims(base, dirs):
n = 0
bad = []
dirs_to_check = [os.path.join(base, d) for d in dirs]
for d in dirs_to_check:
for path, subdirs, files in os.walk(d):
for name in files:
im_path = os.path.join(path, name)
n += 1
if not _is_valid_img(im_path):
bad.append(name)
print("Checked %d imgs" % n)
return bad
def _is_valid_img(im_path):
try:
Image.open(im_path)
return True
except:
return False
if __name__ == "__main__":
#print(_is_valid_img("valid.jpg"))
base = None
if len(sys.argv) == 1:
print("Using % as base path" % BASE)
base = BASE
else:
base = sys.argv[1]
print(base)
print(get_bad_ims(base, dirs))