如何将 numpy 数组转换为 wand.image.Image 对象?

how to convert a numpy array into a wand.image.Image object?

我想将一个 numpy 数组保存为一个 .dds 文件,这是我获取数组的方式:

import numpy as np
from wand import image

with image.Image(filename='test.dds') as dds:
    arr = np.array(dds)

获得数组后,我需要使用以下代码将其保存为另一个 .dds 文件:

dds.compression = 'dxt5'
dds.save(filename='test2.dds')

但 dds 似乎必须是一个 wand.image.Image 对象,所以我的问题是,如何将 numpy 数组转换为 wand.image.Image 对象?

我想你想要 class 方法 Image.from_array:

from wand.image import Image

# Make wand Image from Numpy array
wi = Image.from_array(numpyArray)

您正在寻找wand.image.Image.from_array

ndds = dds.from_array(arr)
ndds.compression = 'dxt5'
ndds.save('test2.dds')