【问题标题】:TypeError: an integer is required (creating a Bitmap from a text data) [duplicate]TypeError:需要一个整数(从文本数据创建位图)[重复]
【发布时间】:2014-09-23 18:30:53
【问题描述】:

我是 Python 新手,我想从一个文本文件创建一个图像(它包含 RGB 值的元组) 这就是我想出的代码:

from PIL import Image

img = Image.new( 'RGB', (100,150), "black")
pixels = img.load()

def data():

    plik=open("rgb.txt", 'r')

for i in range(img.size[0]):   
    for j in range(img.size[1]):
        pixels[i,j] = (i, j, data)

img.show()

我在pixels[i,j] = (i, j, data) 行中遇到错误。为什么?

【问题讨论】:

  • 在您的情况下,pixels 不是数组,而是图像。你不能把它当作一个数组来对待。

标签: python python-imaging-library


【解决方案1】:

如果您的文本文件是这种格式:

num11 num12 num13 ....
num21 num22 num23
.
.
.

此代码可能对您有所帮助:

from PIL import Image
import csv

img = Image.new( 'RGB', (100,150), "black")
pixels = img.load()
reader = csv.reader(open('rgb.txt', 'r'), delimiter=' ')
data = []
for row in reader:
    data.append(tuple([ int(x) for x in row ]))
img.putdata(data)
img.show()

【讨论】:

    猜你喜欢
    • 2015-07-14
    • 2019-03-22
    • 2018-05-04
    • 1970-01-01
    • 2015-08-10
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    相关资源
    最近更新 更多