当前位置: 首页 > 知识库问答 >
问题:

使用numpy在python上创建图像

柯乐童
2023-03-14

我试图在Python3.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或tuple”。

谢谢你的帮助,祝你有愉快的一天!

我试着用图像。来自Marray:

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像素,只有白色像素,但我得到了白色和黑色像素(看下面的图片),我知道我们没有看到太多对不起:)也非常感谢您的回答:

共有1个答案

潘驰
2023-03-14

您可以尝试使用image.fromarray:

Image.fromarray(matrice, mode=couleur)
 类似资料:
  • 本文向大家介绍借助NumPy和Python-OpenCV(CV2)创建图像拼贴,包括了借助NumPy和Python-OpenCV(CV2)创建图像拼贴的使用技巧和注意事项,需要的朋友参考一下 使用的模块:在本文中,我们将使用NumPy和python-opencv(cv2)库。 NumPy: Numpy是一个python库,它将帮助我们基于科学计算来解决问题并存储相同数据类型的数据。  下载NumP

  • 我有两个容器“web”和“db”。我有一个csv格式的现有数据文件。 问题是,我可以使用docker compose使用模式初始化MySQL数据库,或者只使用参数运行,但如何导入现有数据?我有Python脚本来解析和过滤数据,然后将其插入数据库,但我无法在“db”容器中运行它,因为单个图像是MySQL。 更新1 有一个Python脚本,用于从csv文件读取数据并将其插入数据库,效果很好。现在我想在

  • 问题内容: matplotlib如何用该数据绘制图形。问题在于可视化从第2列到第3列的距离。最后,它看起来应该像甘特图。 我需要为列1提供2种颜色。对于y轴,选择列0,对于x轴,请选择列2和3。对于每一行,应绘制一条线。第2列是开始时间,第3列是停止时间。 问题答案: 如果我对您的理解正确,则希望在第3列和第4列的x值之间绘制一条水平线,而y值等于在第0列中的水平线。要在给定的y值上绘制一条水平线

  • 我想创建一个建筑地图,每个房间都有字典,包含从列表中随机选择的房间(想想旧的学校文本冒险)。 例如: 但是,我想填充它,以便它与建筑匹配。因此,如果先设置房间A,并将房间B设置为北面,则房间B将房间A设置为南面。 所以: 我不知道最好的方法是什么。我不担心事情的顺序,只要一个房间不会同时在另一个房间的南北两边。

  • 主要内容:numpy.empty(),numpy.zeros(),numpy.ones(),numpy.asarray(),numpy.frombuffer(),numpy.fromiter()在《 NumPy Ndarray对象》一节,介绍了创建 ndarray 数组的基本方法,除了使用 array() 方法外,NumPy 还提供了其他创建 ndarray 数组的方法。本节对这些常用方法做简单介绍。 numpy.empty() numpy.empty() 创建未初始化的数组,可以指定创建数组的

  • 译者:cangyunye 作者: Adam Paszke 修订者: Adam Dziedzic 在这个教程里,我们要完成两个任务: 创建一个无参神经网络层。 这里需要调用numpy作为实现的一部分。 创建一个权重自主优化的伸进网络层。 这里需要调用Scipy作为实现的一部分。 import torch from torch.autograd import Function 无参数示例 这一层并