Как создать изображение с высотой в качестве значений пикселей

#python #matlab #matrix

Вопрос:

Я хочу создать изображение в формате jpg размером 343 на 389 (высота по ширине) со значениями высоты в пикселях. Например, для всех самых верхних пикселей мне нужно указать значение 1, следующая строка пикселей должна иметь значение 2. и, наконец, последний пиксель со значением 343. затем экспортируйте это изображение в формате jpg. Как это сделать? либо в python, либо в Matlab?

Ответ №1:

В MATLAB

Решение в MATLAB с использованием этой meshgrid() функции может сработать. Важная часть состоит в том, чтобы преобразовать массив Image типа double в 8-разрядный целочисленный массив без знака, uint8 прежде чем экспортировать его как с .jpg помощью imwrite() функции.



 [~,Image] = meshgrid((1:389),(1:343));
imwrite(uint8(Image),"Depth.jpg");
 

Ответ №2:

Сделал это

 from PIL import Image
import numpy as np
a = np.empty(shape=(343, 389), dtype=int)

for i in range(343):
    for j in range(389):
        a[i,j]=i
im = Image.fromarray(a,'L')

im.save('depth.jpg')