我有一个由布尔值组成的二维数组。对于fromarray模式,模式='1'和模式='L'都不能正常工作。它们都返回一个黑色图像,而索引指向True的位置也应该有白色值。我怎样才能得到正确的图像
import numpy as np
from PIL import Image
maskArr = np.array(arr) * 255
print(maskArr.shape) # Returns (600, 800)
print(np.where(maskArr == True)) # Returns a tuple of index of True values.
maskImg1 = Image.fromarray(maskArr, mode='1')
maskImg2 = Image.fromarray(maskArr, mode='L')
maskImg1.save("./maskImg.jpg")
maskImg2.save("./maskImg2.jpg")
您希望确保maskArr具有数据类型
uint8
,并将mode='L'
传递给PIL:目前,您的
maskArr
具有数据类型int64
,因此PIL不知道将255视为白色,将0视为黑色当我使用
arr = [[True, False]*100,[False, True]*100]*100
运行此代码时,我得到以下输出:相关问题 更多 >
编程相关推荐