利用PIL将numpy数组转换成二值图
思路,可以先把二维数组在通道方向进行扩展,然后转化成rgb图,再转化成二值图。
直接转化,我不知道为什么不行。这里也只是一个权宜之计,哪位高手有更好的方式可以探讨探讨!
from PIL import Image
import numpy as np
data = np.ones((16, 16), dtype=np.uint8) # 创建一个全1的数组
data = data * 255
#get Binary_map
Binary_map = np.expand_dims(np.asarray(data), 2)
temp_Binary_map = np.concatenate((Binary_map.copy(), Binary_map.copy()), axis=2)
Binary_map = np.concatenate((temp_Binary_map.copy(), Binary_map), axis=2)
Binary_map = Binary_map.astype(np.uint8)
img = Image.fromarray(Binary_map,mode='RGB')
# img.show()
img = img.convert('1')
# img.show()
img.save(name_path)