У меня есть это изображение глубины:
, которое я загружаю с помощью PIL:
depth_image = Image.open('stereo.png')
Если я печатаюрежим изображения показывает режим I
, то есть (32-bit signed integer pixels)
в соответствии с документацией.
Это правильно, поскольку значения изображения варьируются от 0 до 255. Я хотел бы раскрасить это изображение глубины дляулучшена визуализация, поэтому я попытался преобразовать его в режим P
с палитрой, например:
depth_image = depth_image.convert('P', palette=custom_palette)
depth_image.save("colorized.png")
Но в результате получается черно-белое изображение, подобное этому:
Я уверен, что палитра в порядке, поскольку в одном массиве 256 цветов в формате int
.
Я пытался преобразовать его в RGBперед сохранением, как:
depth_image = depth_image.convert('RGB')
Также я попытался добавить палитру потом как:
depth_image = depth_image.putpalette(custom_palette)
И если я пытаюсь сохранить его без преобразования в RGB, я получаю:
depth_image.save("here.png")
AttributeError: 'NoneType' object has no attribute 'save'
Пока что я попытаюсь преобразовать изображение в массив, а затем отобразить цвета оттуда, но мне было интересно, что я упускал из виду. нг PIL. Я просматривал документацию, но не нашел ничего относительно преобразования I
в P
.