【发布时间】:2021-07-24 14:22:51
【问题描述】:
我正在尝试在 python 3.7(在 Thonny)上创建图像。我想用灰度值设置一个矩阵,所以 0 是黑色,255 是白色。该矩阵将代表我要创建的图像的像素。基本上,我想基于矩阵创建黑白图像。 这是我的代码:
from PIL import Image
import numpy as np
largeur = 2
hauteur = 2
couleur = 'L'
im = Image.new(couleur, (largeur, hauteur))
matrice = np.array([[0,255],[255,0]])
for x in range(largeur):
for y in range(hauteur):
a = int()
a = matrice[x,y]
print(a)
im.putpixel((x, y), (a)) # Composante R en fonction de la hauteur
im.save('Degrade.jpg')
im.show()
当我运行程序时,它说 a 是问题:“颜色必须是 int 或元组”。
感谢您的帮助,祝您有愉快的一天!
我试过 Image.fromarray :
from PIL import Image
import numpy as np
largeur = 50
hauteur = 8
couleur = 'L'
#im = Image.new(couleur, (largeur, hauteur))
matrice = np.array([[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],
[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]])
#for x in range(largeur):
#for y in range(hauteur):
#a = int()
#a = matrice[x,y]
#print(a)
#im.putpixel((x, y), (255)) # Composante R en fonction de la hauteur
im = Image.fromarray(matrice, mode=couleur)
im.save('Degrade.jpg')
im.show()
有了这个,我应该有一个只有白色像素的 50 x 8 像素的图像,但我得到了白色和黑色像素(看下面的图片),我知道我们看不到太多抱歉 :) 也非常感谢为您解答:
【问题讨论】:
标签: python image numpy matrix python-imaging-library