original_dir ="src/images/original"path = os.path.join(original_dir, "lemons.jpg")meta ={"my-field-1":"my-value-1","my-field-2":"my-value-2"}image = api.image.upload_path( dataset.id, name="Lemons", path=path, meta=meta # optional)print(f'Image "{image.name}" uploaded to Supervisely with ID:{image.id}')
Output:
# Image "Lemons.jpeg" uploaded to Supervisely platform with ID:17539453
Upload list of images.
✅ Supervisely API allows uploading multiple images in a single request. The code sample below sends fewer requests and it leads to a significant speed-up of our original code.
Source code:
names = ["grapes-1.jpg","grapes-2.jpg","oranges-2.jpg","oranges-1.jpg",]paths = [os.path.join(original_dir, name)for name in names]upload_info = api.image.upload_paths(dataset.id, names, paths)print(f"{len(upload_info)} images successfully uploaded to Supervisely platform")
Output:
# 4 images successfully uploaded to Supervisely platform
Upload images as NumPy matrix
Single image
Source code:
img_np = sly.image.read(path)np_image_info = api.image.upload_np(dataset.id, name="Lemons-np.jpeg", img=img_np)print(f"Image successfully uploaded as NumPy matrix to Supervisely (ID: {np_image_info.id})")
Output:
# Image successfully uploaded as NumPy matrix to Supervisely (ID: 17539458)
Upload list of images
Source code:
names_np = [f"np-{name}"for name in names]images_np = [sly.image.read(img_path)for img_path in paths]np_images_info = api.image.upload_nps(dataset.id, names_np, images_np)print(f"{len(images_np)} images successfully uploaded to platform as NumPy matrix")
Output:
# 4 images successfully uploaded to platform as NumPy matrix
Get information about images
Single image
Get information about image from Supervisely by id.
You can also get information about image from Supervisely by name.
Source code:
image_name =get_file_name(image.name)image_info_by_name = api.image.get_info_by_name(dataset.id, image_name)print(f"image name - {image_info_by_name.name}")
Output:
# image name - Lemons.jpeg
Get all images from dataset.
Get information about image from Supervisely by id.
Source code:
image_info_list = api.image.get_list(dataset.id)print(f"{len(image_info_list)} images information received.")
Output:
# 10 images information received.
Download images to local directory
Single image
Download image from Supervisely to local directory by id.
Source code:
save_path = os.path.join(result_dir, image_info.name)api.image.download_path(image_info.id, save_path)print(f"Image has been successfully downloaded to '{save_path}'")
Output:
# Image has been successfully downloaded to 'src/images/result/Lemons.jpeg'
Download list of images to local directory
Download list of images from Supervisely to local directory by ids.
Source code:
image_ids = [img.id for img in image_info_list]image_names = [img.name for img in image_info_list]save_paths = [os.path.join(result_dir, img_name)for img_name in image_names]api.image.download_paths(dataset.id, image_ids, save_paths)print(f"{len(image_info_list)} images has been successfully downloaded.")
Output:
# 10 images has been successfully downloaded.
Download images as RGB NumPy matrix
Single image
Download image from Supervisely to local directory by id.