Exemplo n.º 1
0
                    sc    = bbox[4]
                    ex    = bbox[5:13].astype(np.int32).reshape(4, 2)
                    bbox  = bbox[0:4].astype(np.int32)
                    txt   = '{}{:.2f}'.format(cat_name, sc)
                    color_mask = color_list[mask_color_id % len(color_list), :3]
                    mask_color_id += 1
                    # image = vis_bbox(image, 
                    #                  (bbox[0], bbox[1], 
                    #                   bbox[2] - bbox[0], bbox[3] - bbox[1]))
                    image = vis_class(image, 
                                      (bbox[0], bbox[1] - 2), txt)
                    # image = vis_octagon( image, ex, color_mask)
                    image = vis_ex(image, ex, color_mask)

                    # if args.show_mask:
                    mask = dextr.segment(input_image[:, :, ::-1], ex) # BGR to RGB
                    mask = np.asfortranarray(mask.astype(np.uint8))
                    mask_image = vis_bbox(mask_image, 
                                         (bbox[0], bbox[1], 
                                          bbox[2] - bbox[0], 
                                          bbox[3] - bbox[1]))
                    mask_image = vis_class(mask_image, 
                                           (bbox[0], bbox[1] - 2), txt)
                    mask_image = vis_mask(mask_image, mask, color_mask)
            #yezheng: comment out
            if args.show_mask:
                cv2.imshow('mask', mask_image)
            # cv2.imshow('out', image)
            # cv2.waitKey()
            # cv2.imwrite("out_images/"+ image_name.split('/')[-1].split('.')[0]+"_out.png", image)
            cv2.imwrite("out_images/"+ image_name.split('/')[-1].split('.')[0]+"_out.png", mask_image)
Exemplo n.º 2
0
    score_thresh = 0.2
    num_boxes = 0
    for i, ann in enumerate(anns):
        if ann['score'] >= score_thresh:
            num_boxes += 1

    bar = Bar('Pred + Dextr', max=num_boxes)
    for i, ann in enumerate(anns):
        if ann['score'] < score_thresh:
            continue
        ex = np.array(ann['extreme_points'], dtype=np.int32).reshape(4, 2)
        img_id = ann['image_id']
        img_info = coco.loadImgs(ids=[img_id])[0]
        img_path = IMG_DIR + img_info['file_name']
        img = cv2.imread(img_path)
        mask = dextr.segment(img[:, :, ::-1], ex)
        mask = np.asfortranarray(mask.astype(np.uint8))
        if DEBUG:
            if ann['score'] < 0.1:
                continue
            print(ann['score'])
            img = (0.4 * img + 0.6 *
                   mask.reshape(mask.shape[0], mask.shape[1], 1) * 255).astype(
                       np.uint8)
            cv2.imshow('img', img)
            cv2.waitKey()
        encode = COCOmask.encode(mask)
        if 'counts' in encode:
            encode['counts'] = encode['counts'].decode("utf8")
        pred = {
            'image_id': ann['image_id'],