[英]Image deduction with Pillow and Numpy
和
我想導出一個只有紅色“Hello”的圖像:
所以我正在運行一個簡單的演繹python腳本:
from PIL import Image
import numpy as np
root = '/root/'
im1 = np.asarray(Image.open(root+'1.jpg'))
im2 = np.asarray(Image.open(root+'2.jpg'))
deducted_image = np.subtract(im1, im2)
im = Image.fromarray(np.uint8(deducted_image))
im.save(root+"deduction.jpg")
但這回歸:
而不是上述。 我究竟做錯了什么? 我還需要numpy還是只使用Pillow
Library?
它也適用於這樣的圖像:
我的代碼返回:
很困惑為什么它在邊緣像素化!
將第二張圖像中不需要的像素設置為0可能更容易?
im = im2.copy()
im[im1 == im2] = 0
im = Image.fromarray(im)
似乎對我有用(顯然只是使用更大的工件,因為我使用了你上傳的JPG)
也可以在沒有numpy的情況下執行此操作:
from PIL import ImageChops
from PIL import Image
root = '/root/'
im1 = Image.open(root + '1.jpg')
im2 = Image.open(root + '2.jpg')
def nonzero(a):
return 0 if a < 10 else 255
mask = Image.eval(ImageChops.difference(im1, im2), nonzero).convert('1')
im = Image.composite(im2, Image.eval(im2, lambda x: 0), mask)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.