[英]Python Imaging Library makes an image reddish
我已經使用Python Imaging Library打開了一個灰度圖像,將每個像素值復制到另一個相同大小的圖像變量中並保存了。 現在,當我使用圖像查看器打開新圖像時,它看起來偏紅。 我在使用Image.new()方法時,無論是否帶有“ 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圖像。 因此,一個像素值包含三個值,而不僅僅是三個值(在您的情況下,請為每個通道使用原始圖像的灰度值)。
我已經相應地修改了代碼。
附帶說明:我幾乎可以肯定,有一種更好的方法可以完成您想要實現的目標,通常不需要遍歷單個像素,但是我不確定您要做什么。
from PIL import Image
import math
def run():
im = Image.open("ZHiG0.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],pix[i, j],pix[i, j]))
im2.save("ZHiG0-2400-2400.jpg")
run()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.