from PIL import Image | |
import cv2 | |
import os | |
import numpy as np | |
i = 0 | |
threshold = 240 | |
m = 0 | |
for img in os.listdir("orig_masks"): | |
mask = cv2.imread("orig_masks/" + img) | |
for d in range(3): | |
mask[:, :, d][mask[:, :, d] < threshold] = 0 | |
mask[:, :, d][mask[:, :, d] > 0] = 1 | |
mask = mask[:, :, 0] | mask[:, :, 1] | mask[:, :, 2] | |
mask = (mask * 255).astype(np.uint8) | |
#nonzero = [] | |
#for i in mask[np.nonzero(mask)]: | |
# nonzero.append(i) | |
if np.all(mask == 0): | |
print("The mask contains all zeros.") | |
continue | |
cv2.imwrite("masks/" + img, mask) | |
img_split = img.split("_") | |
os.system("cp orig_imgs/" + img_split[0] + "_" + img_split[2] + " imgs/") | |
i += 1 | |
print("Done ", str(i), str(m)) | |