Example #1
0
 def displaySpecificPredictData(self,
                                predictor,
                                path_to_page,
                                category=None):
     print(path_to_page)
     im = cv2.imread(path_to_page)
     outputs = predictor(im)
     v = CustomVisualizer(im[:, :, ::-1], scale=1)
     v = v.draw_instance_predictions(outputs["instances"].to("cpu"),
                                     category)
     self.cv2_imshow(v.get_image()[:, :, ::-1])
Example #2
0
 def displayRandomSampleData(self,
                             data,
                             meta_data,
                             page_count,
                             category=None):
     for d in random.sample(data, page_count):
         print(d["file_name"])
         img = cv2.imread(d["file_name"])
         visualizer = CustomVisualizer(img[:, :, ::-1],
                                       metadata=meta_data,
                                       scale=1)
         vis = visualizer.draw_dataset_dict(d, category)
         self.cv2_imshow(vis.get_image()[:, :, ::-1])
Example #3
0
 def displaySpecificSampleData(self,
                               data,
                               meta_data,
                               path_to_page,
                               category=None):
     d = [x for x in data if x["file_name"] == path_to_page][0]
     print(d["file_name"])
     img = cv2.imread(d["file_name"])
     visualizer = CustomVisualizer(img[:, :, ::-1],
                                   metadata=meta_data,
                                   scale=1)
     vis = visualizer.draw_dataset_dict(d, category)
     self.cv2_imshow(vis.get_image()[:, :, ::-1])
Example #4
0
 def displayRandomPredictData(self,
                              predictor,
                              data,
                              meta_data,
                              sample_ammount=3,
                              category=None):
     for d in random.sample(data, sample_ammount):
         print(d["file_name"])
         im = cv2.imread(d["file_name"])
         outputs = predictor(im)
         v = CustomVisualizer(im[:, :, ::-1], metadata=meta_data, scale=1)
         v = v.draw_instance_predictions(outputs["instances"].to("cpu"),
                                         category)
         self.cv2_imshow(v.get_image()[:, :, ::-1])
def predict_image(predictor, img_file, display_original_image, display_multiple_classes, which_classes):
    image = Image.open(img_file).convert("RGB")
    if display_original_image:
        st.image(image, "Your uploaded image", use_column_width=True)

    im = np.array(image)
    outputs = predictor(im)

    if display_multiple_classes:
        for c in which_classes:
            v = CustomVisualizer(im[:, :, ::-1], scale=1)
            v = v.draw_instance_predictions(outputs["instances"].to("cpu"), [c])
            st.image(v.get_image()[:, :, ::-1], use_column_width=True)

    v = CustomVisualizer(im[:, :, ::-1], scale=1)
    v = v.draw_instance_predictions(outputs["instances"].to("cpu"))
    st.image(v.get_image()[:, :, ::-1], use_column_width=True)
#%%
trainer = DefaultTrainer(cfg)
trainer.resume_or_load(resume=True)
predictor = DefaultPredictor(cfg)

# %%
# step by step process to calculate stave measures from the system measures and staves:
# fetch random raw prediction boxes:
for d in random.sample(muscima_data, 1):
    im = cv2.imread(d["file_name"])
    outputs = predictor(im)
    print(d["file_name"])
    print(outputs["instances"].pred_boxes)

    v = CustomVisualizer(im[:, :, ::-1], metadata=metadata, scale=1)
    v = v.draw_instance_predictions(outputs["instances"].to("cpu"))
    ImageDisplayer().cv2_imshow(v.get_image()[:, :, ::-1])

# %%
# get all boxes for one image:
path_to_img = "./../Data\CVC_Muscima_Augmented\CVCMUSCIMA_MultiConditionAligned\staffline-y-variation-v1\w-25\p012.png"

ImageDisplayer().displaySpecificPredictData(predictor, path_to_img, [0])
ImageDisplayer().displaySpecificPredictData(predictor, path_to_img, [1])

im = cv2.imread(path_to_img)
outputs = predictor(im)
all_boxes = outputs["instances"].pred_boxes.tensor.cpu().numpy()
all_classes = outputs["instances"].pred_classes.cpu().numpy()
print(all_boxes)