正如标题所述,我需要从给定浮点图像的最低值到最高值生成渐变。这将成为图像的传奇。
我的想法是创建一个图像,然后用极值范围内的值填充它的每个像素。 我仍然不是Python的专业版,所以任何帮助都会很好。 到目前为止我得到了什么:
im = Image.open('path_to.tiff')
extrw=im.getextrema()
grad = Image.new('F', (10, 100))
pix = grad.load()
for i in range(grad.size[0]): # for every pixel:
for j in range(grad.size[1]):
pixels[i,j] = (some_float)
正如你所看到的,我需要以某种方式使用extrema将浮点值相应地放入像素中以创建渐变。 如果我能留在PIL库中,那就太好了。
谢谢!
答案 0 :(得分:0)
在kollegue的帮助下,我们认为:y(像素值)=((minvalue-maxvalue)/ h(图像的高度))* index_of_pixel + maxvalue。代码形式:
extw=im.getextrema()
grad_b = 10
grad = Image.new('F', (grad_b, im_h))
pix = grad.load()
for i in range(grad.size[0]): # for every pixel:
for j in range(grad.size[1]):
pix[i,j] = (extw[0]-extw[1]/im_h)*j+extw[1]