see-through-demo / inference /scripts /vis_compare_partextr.py
24yearsold's picture
update: add ComfyUI Node Extension mention to description
b55a1fc verified
Raw
History Blame Contribute Delete
3.27 kB
import sys
import os.path as osp
sys.path.append(osp.dirname(osp.dirname(osp.abspath(__file__))))
from tqdm import tqdm
from utils.io_utils import *
from utils.cv import *
from utils.visualize import *
def deduplate_execlist(exec_list):
uniquedict = {}
for p in exec_list:
k = osp.basename(p).split('NONE')[0]
if k not in uniquedict:
uniquedict[k] = {'flist': [], 'ids': []}
uniquedict[k]['flist'].append(p)
uniquedict[k]['ids'].append(exec_list.index(p))
unique_list = []
for k, v in uniquedict.items():
flist = uniquedict[k]['flist']
unique_list.append(flist[len(flist) // 2])
return unique_list
def vis_parts(srcd: str, tag_list, nmax_samples=12, cols=4):
partsd = osp.join(srcd, 'parts')
rst_list = []
nparts = 0
for tag in tag_list:
p = osp.join(partsd, tag + '_vis.png')
if not osp.exists(p):
continue
img = Image.open(p)
pil_draw_text(img, tag, point=(0, 0), font_size=128, stroke_width=12)
rst_list.append(img)
if len(rst_list) >= nmax_samples:
vis = imglist2imgrid(rst_list, cols=cols)
Image.fromarray(vis).save(osp.join(srcd, f'part_vis{nparts}.jpg'), q=97)
rst_list = []
nparts += 1
if len(rst_list) > 0:
vis = imglist2imgrid(rst_list, cols=cols)
Image.fromarray(vis).save(osp.join(srcd, f'part_vis{nparts}.jpg'), q=97)
src_list = ['workspace/datasets/l2d_eval_oa/l2d_eval2_output0', 'workspace/datasets/l2d_eval2_output_woattn']
src_list = ['workspace/datasets/testcaseall_output', 'workspace/datasets/testcaseall_output_woattn']
src_list = ['workspace/datasets/l2d_eval_oa/l2d_eval2_output0', 'workspace/datasets/l2deval_sam3_ouput']
src_list = ['workspace/datasets/testcaseall_output', 'workspace/datasets/l2deval_sam3_ouput']
dedupliacte = False
save_dir = 'tmp/cmp_part_extr'
src = src_list[0]
exec_list = [osp.join(src, d) for d in os.listdir(src)]
# if osp.isfile(src):
# exec_list = load_exec_list('workspace/datasets/eval_chunk3.txt')
# else:
# exec_list = find_all_imgs_recursive(src)
if dedupliacte:
exec_list = deduplate_execlist(exec_list)
sz = (448, 448)
for srcp in tqdm(exec_list):
src_name = osp.basename(srcp)
flist = find_all_imgs(exec_list[0])
sd = osp.join(save_dir, src_name)
os.makedirs(sd, exist_ok=True)
for filename in flist:
if '_depth' in filename:
continue
row = []
# if 'reconstruction' in filename:
p = osp.join(src_list[0], src_name, 'src_img.png')
img = pil_ensure_rgb(p)
img = img.resize(sz, resample=Image.Resampling.LANCZOS)
img = np.array(img)
row.append(img)
for srcd in src_list:
p = osp.join(srcd, src_name, filename)
if osp.exists(p):
img = pil_ensure_rgb(p)
img = img.resize(sz, resample=Image.Resampling.LANCZOS)
img = np.array(img)
else:
img = np.full((sz[1], sz[0], 3), 255, np.uint8)
row.append(img)
row = np.concatenate(row, axis=1)
savep = osp.join(sd, filename)
save_tmp_img(row, savep)
pass