2017-11-13 2 views
-1

Ich verwende die arrayfire Kiste, um ein Bild mit af::load_image zu öffnen. Dies gibt mir ein f32 Array, das ich etwas bearbeiten kann. Nachdem ich fertig bin, würde Ich mag es als u8 Bild speichern af::save_image mit:Casting von `arrayfire :: Array`

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 
} 

Ich kann nicht herausfinden, wie das Array in einen u8 Typen zu konvertieren. Ich habe in die from Methode geschaut, aber ich habe keine Ahnung, wie man es benutzt.

+3

Bitte geben Sie mit einem [MCVE], sonst werden wir blind über erraten, was die konkrete Problem sein könnte. –

Antwort

1

Die Signatur für cast ist cast<T: HasAfEnum>(&self) -> Array

Array Typ ist keine Typparameter haben. Es ist die cast Methode, die eins hat. Sie müssen Typ-Parameter auf die cast Verfahren bereitzustellen turbofish Syntax ::<_>

let im2 = im.cast::<u8>();

+0

Vielen Dank! wusste nicht über die Turbofish-Syntax. – Ronny

Verwandte Themen