方法來源
https://github.com/imageio/imageio/issues/146#issuecomment-281509008
imageio 後端默認使用 PIL 庫讀寫文件,這個PIL庫不支持 多通道 16bit PNG格式,需要更改後端爲 FreeImage 才能支持
另外 FreeImage 後端不支持路徑有中文。讀取文件時要注意
首次使用需要用以下命令安裝FreeImage後端
import imageio
imageio.plugins.freeimage.download()
測試例子
import imageio
a = np.full([200, 200, 3], 65535, np.uint16)
imageio.imwrite('1.png', a, 'PNG-FI')
b=imageio.imread('1.png', 'PNG-FI')
print(np.all(a==b))