4 回答

TA貢獻2041條經驗 獲得超4個贊
您已成功更改圖像,但如果您想再次讀取它,則需要將其寫入文件:
要保存到相同的圖像文件,只需執行
im.save('./data/frame398.png', ‘PNG’)

TA貢獻1825條經驗 獲得超4個贊
當你做
r, g, b = pixx[200,200]
您正在從元組或數組中卸載像素值。所以你最好的選擇是
pixel[200,200] = (0, 0, 0)
#or
pixel[200,200] = [0, 0, 0]

TA貢獻1862條經驗 獲得超7個贊
正如@chthonicdaemon在回答中提到的,您實際上需要使用 Image.save() 保存法師。
其次,如果您想使用像素值,最好將加載的圖像轉換為 numpy 數組,例如,
import numpy as np
im = Image.open('./data/frame398.png')
im = np.array(im)
這使得像素操作更簡單,只需注意創建原始圖像的副本,例如,
im = np.array(im)
im = im.copy()
如果有時未制作副本,python 不允許分配直接值。
之后,您可以輕松更改單個值,例如,
im[0, 0, 0] = 255 # Complete RED
im[0, 0, 1] = 0 # No green
im[0, 0, 2] = 0 # No blue
至于保存圖像,它也非常簡單,例如,
Image.fromarray(im).save('name_of_file.png', 'PNG')
我們也獲得了類似的隱寫術任務,如果你有興趣可以在這里查看完整的代碼。
添加回答
舉報