stereoid's picture
Add files using upload-large-folder tool
1da285f verified
Raw
History Blame Contribute Delete
1.72 kB
import os
import cv2
import json
import argparse
from tqdm import tqdm
ANNOTATION_FILE = '../../dataset/data/coco_merged/annotations/interactable.json'
# IMAGE_DIR = '../../dataset/data/coco_merged/images/interactable'
IMAGE_DIR = '../../dataset/data/visualize/result_ours_i'
INTERACT_FILE = './guided_interact.json'
OUTPUT_DIR = './output'
parser = argparse.ArgumentParser(description='Visualize interact points')
parser.add_argument('-a', '--annotation', type=str, default=ANNOTATION_FILE, help='Annotation file')
parser.add_argument('-i', '--image', type=str, default=IMAGE_DIR, help='Original image directory')
parser.add_argument('-int', '--interact', type=str, default=INTERACT_FILE, help='Interact points to visualize')
parser.add_argument('-o', '--output', type=str, default=OUTPUT_DIR, help='Output directory')
def main(args):
os.makedirs(args.output, exist_ok=True)
with open(args.annotation, 'r') as f:
anno_data = json.load(f)
with open(args.interact, 'r') as f:
interact_data = json.load(f)
for img in tqdm(anno_data['images'], desc='Visualizing interact points', total=len(anno_data['images'])):
img_id = img['id']
img_path = os.path.join('./result_ours_i', img['file_name'])
if not os.path.exists(img_path):
continue
cimg = cv2.imread(img_path)
for k in interact_data:
for interact in interact_data[k]:
if interact['img_id'] == img_id:
cv2.circle(cimg, (interact['X'], interact['Y']), 5, (0, 0, 100 + 125 // int(k)), -1)
cv2.imwrite(os.path.join(args.output, img['file_name']), cimg)
if __name__ == '__main__':
args = parser.parse_args()
main(args)