我使用Python图像库打开了一个灰度图像,将每个像素值复制到另一个大小相同的图像变量中并保存了它。现在,当我用图像查看器打开新图像时,它看起来是红色的。我用过图片。新建()带有和不带有“white”和“black”参数的方法得到相同的红色输出。你知道吗
我的代码:
from PIL import Image
import math
def run():
im = Image.open("hrabowski.jpg")
pix = im.load()
print im.size
# print pix[0, 1]
im2 = Image.new("RGB", (2400, 2400))
for i in range(im.size[0]):
for j in range(im.size[0]):
im2.putpixel((i, j), pix[i, j])
im2.save("hrabowski-2400-2400.jpg")
原始图像(缩小到500 x 500):
我的代码的Python输出(缩小到500 x 500):
有人能告诉我我做错了什么吗?
你的问题是,你想创建一个RGB图像有三个通道。因此,一个像素值由三个值组成,而不仅仅是一个值(在您的示例中,为每个通道使用原始图像的灰度值)。你知道吗
我已经相应地修改了代码。你知道吗
旁注:我几乎可以肯定,有一个更好的方法来实现你想要的,通常没有必要通过单像素循环,但我不知道你是在追求什么。你知道吗
相关问题 更多 >
编程相关推荐