Annotation uploaded not showing up on Custom Vision
Hi im using the below python code to upload my images and annotation to azure custom vision studio
from azure.cognitiveservices.vision.customvision.training.models import Region, ImageFileCreateEntry, ImageFileCreateBatch
def upload_images_and_annotations(trainer, project_id, images, annotations, tags):
successfully_uploaded = 0
for (filename, image), (ann_filename, annotation) in zip(images, annotations):
if filename != ann_filename:
if successfully_uploaded == 76:
print(image)
print(f"Skipping {filename} as it does not match annotation filename {ann_filename}")
continue
_, img_encoded = cv2.imencode('.jpg', (image * 255).astype('uint8')) # Convert back to original scale for encoding
img_bytes = img_encoded.tobytes()
regions = []
for obj in annotation.findall('object'):
label = obj.find('name').text
if label in tags: # Ensure the annotation matches one of the tags
bndbox = obj.find('bndbox')
xmin = int(bndbox.find('xmin').text)
ymin = int(bndbox.find('ymin').text)
xmax = int(bndbox.find('xmax').text)
ymax = int(bndbox.find('ymax').text)
width = (xmax - xmin) / image.shape[1]
height = (ymax - ymin) / image.shape[0]
left = xmin / image.shape[1]
top = ymin / image.shape[0]
regions.append(Region(
tag_id=tags[label].id,
left=left,
top=top,
width=width,
height=height
))
if regions:
try:
image_entry = ImageFileCreateEntry(name=filename, contents=img_bytes, regions=regions)
upload_result = trainer.create_images_from_files(project_id, ImageFileCreateBatch(images=[image_entry]))
if upload_result.is_batch_successful:
print(f"Successfully uploaded {filename}")
successfully_uploaded += 1
else:
print(f"Failed to upload {filename}: {upload_result}")
except Exception as e:
print(f"Error uploading {filename}: {e}")
print(f"Successfully uploaded {successfully_uploaded} images out of {len(images)}")
Now im able to see the uploaded images on the vision portal with tags in each but im not able to hover over the tag and see the exact bounding box of my object
but if i manually upload to the studio and draw bounding box around the object of my need, then after i save & close - when i review the image the hovering on tag shows the exact bounding box of the object, why this discrepancy?