| import os |
|
|
| import cv2 |
| import numpy as np |
| from tqdm.auto import tqdm |
|
|
| clothes_dir = 'dataset/test_clothes' |
| clothes_edges_dir = 'dataset/test_edge' |
|
|
|
|
| for img_fn in tqdm(os.listdir(clothes_dir)): |
| cloth_img_fp = os.path.join(clothes_dir, img_fn) |
| img = cv2.imread(cloth_img_fp) |
| OLD_IMG = img.copy() |
| mask = np.zeros(img.shape[:2], np.uint8) |
| SIZE = (1, 65) |
| bgdModle = np.zeros(SIZE, np.float64) |
|
|
| fgdModle = np.zeros(SIZE, np.float64) |
| rect = (1, 1, img.shape[1], img.shape[0]) |
| cv2.grabCut(img, mask, rect, bgdModle, fgdModle, 10, cv2.GC_INIT_WITH_RECT) |
|
|
| mask2 = np.where((mask == 2) | (mask == 0), 0, 1).astype('uint8') |
| img *= mask2[:, :, np.newaxis] |
|
|
| mask2 *= 255 |
|
|
| cloth_edges_img_fp = os.path.join(clothes_edges_dir, img_fn) |
| cv2.imwrite(cloth_edges_img_fp, mask2) |