def show(img): return cvt2Image(cvt2raw(img))
# wm_img = Image.fromarray(wm_img) wm0_img_list = [] wm_mask_list = [] text_mask_list = [] for i in range(len(input_img)): text_img = show(input_img[i]) text_mask = get_text_mask(np.array(text_img)) # 得到 text 的 mask (bool) rgb_img = Image.new(mode="RGB", size=text_img.size, color=(255, 255, 255)) p = -int(wm_img.size[0] * np.tan(10 * np.pi / 180)) right_shift = 10 xp = pos[i][0][0] + right_shift if len(pos[i]) != 0 else right_shift # xp = 0 rgb_img.paste(wm_img, box=(xp, p)) # 先贴 wm wm_mask = (np.array(rgb_img.convert('L')) != 255) # 得到 wm 的 mask(bool) rgb_img.paste(text_img, mask=cvt2Image(text_mask)) # 再贴 text wm0_img_list.append(rgb_img) wm_mask_list.append(transpose(wm_mask)) text_mask_list.append(transpose(text_mask)) wm_mask = np.asarray(wm_mask_list) text_mask = np.asarray(text_mask_list) batch_size = 100 clip_min, clip_max = 0.0, 1.0 # 大数据集查看 record_text = [] wm0_img = pred_img = np.asarray( [cvt2raw(np.array(img.convert('L'))) / 255 for img in wm0_img_list]) batch_iter = len(input_img) // batch_size