我已經使用這個代碼來改變圖像的像素值,Python的 - 改變像素值
im=Image.open("image.jpg")
pix=im.load()
pix[50,50]=(70,70,70)
這是我的工作很好,但是當我用一個PNG圖像一切正常,並保存更改到圖像,但是當我使用JPG圖像時,更改不會保存到圖像。 代碼中是否缺少某些東西,我是否需要保存更改,以及如何操作?
我已經使用這個代碼來改變圖像的像素值,Python的 - 改變像素值
im=Image.open("image.jpg")
pix=im.load()
pix[50,50]=(70,70,70)
這是我的工作很好,但是當我用一個PNG圖像一切正常,並保存更改到圖像,但是當我使用JPG圖像時,更改不會保存到圖像。 代碼中是否缺少某些東西,我是否需要保存更改,以及如何操作?
與嘗試:
im.putpixel((50,50), (70, 70, 70))
,或者你也可以這樣做:
import numpy as np
from PIL import Image
# pix has 4 channels for png and 3 for jpg
pix = np.array(im)
pix[50, 50, 0] = 70 # 0 accesses the first channel
pix[50, 50, 1] = 70 # 1 accesses the second channel
pix[50, 50, 2] = 70 # 2 accesses the third channel
Image.fromarray(pix).save('new_img.jpg')
在我看來,在兩種情況下的像素得到保存,除非你也叫一些'save'方法..你可以更新片段? –
下次在粘貼的代碼上使用按鈕「{}」。 – furas
你在使用PIL嗎?枕頭? (您的代碼段會產生大量猜測。) – DrV