Существует следующая функция для чтения изображения, я добавляю несколько строк для повторного вывода изображения и для вывода различных значений пикселей массива изображений. Изображение выглядит так. Тем не менее
a, индексы = np.unique (img, return_index = True)
дает
a [0 1]
индексы [0 879385]
Кажется, что массив изображений имеет два уникальных значения, [0 1], что имеет смысл, но что указывают индексы?
def _get_image_data_pil(image_id, image_type, return_exif_md=False, return_shape_only=False):
fname = get_filename(image_id, image_type)
try:
img_pil = Image.open(fname)
except Exception as e:
assert False, "Failed to read image : %s, %s. Error message: %s" % (image_id, image_type, e)
if return_shape_only:
return img_pil.size[::-1] + (len(img_pil.getbands()),)
# -----
# this is what I adde
# -----
img = np.asarray(img_pil)
plt.imshow(img)
plt.show()
a,indices =np.unique(img,return_index=True)
print('a ',a)
print('indices ',indices)
assert isinstance(img, np.ndarray), "Open image is not an ndarray. Image id/type : %s, %s" % (image_id, image_type)
if not return_exif_md:
return img
else:
return img, img_pil._getexif()