我正在使用 arrayfire crate 以使用 af::load_image
打开图像。这为我提供了一个 f32
数组,我可以对其进行一些处理。完成后,我想使用 af::save_image
将其保存为 u8
图像:
extern crate arrayfire as af;
fn main() {
let im = af::load_image("image".into(), false);
//let im2: af::Array = im.cast(); // Error: cannot infer type for T
//let im2: af::Array<DType::U8> = im.cast(); // Error: expected no type arguments
}
我不知道如何将数组转换为 u8
类型。我查看了 from
方法,但不知道如何使用它。
最佳答案
cast
的签名是cast<T: HasAfEnum>(&self) -> Array
Array
类型没有类型参数。这是 cast
有一个方法。您需要为 cast
提供类型参数使用 turbofish 语法的方法 ::<_>
let im2 = im.cast::<u8>();
关于类型转换 `arrayfire::Array`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47267613/