gpt4 book ai didi

python - Putpixel 函数未生成所有像素

转载 作者:行者123 更新时间:2023-12-04 09:23:22 25 4
gpt4 key购买 nike

我的目标是为每个像素生成一种颜色以填充整个 Canvas ,但是生成的图像总是变成黑色,只有一个像素改变了颜色,我似乎无法弄清楚我做错了什么。

import random
from PIL import Image

canvas = Image.new("RGB", (300,300))

y = random.randint(1, canvas.width)
x = random.randint(1, canvas.width)

r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)

rgb = (r,g,b)

for i in range(canvas.width):
canvas.putpixel((x,y), (rgb))

canvas.save("test.png", "PNG")

print("Image saved successfully.")

最佳答案

你真的应该尽量避免使用 for任何 Python 图像处理中的循环 - 它们很慢且容易出错。
制作随机图像的最简单和最快的方法是使用矢量化的 Numpy 函数,如下所示:

import numpy as np
from PIL import Image

# Create Numpy array 300x300x3 of random uint8
data = np.random.randint(0, 256, (300,300,3), dtype=np.uint8)

# Make into PIL Image
im = Image.fromarray(data)
enter image description here

关于python - Putpixel 函数未生成所有像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63064535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com