Ich muss eine sehr große Matrix nehmen, die mit der Funktion imread()
erzeugt wird. Dies verwandelt ein Bild (meins ist eine JPG-Datei; 691x763) in eine Matrix.Warum gibt meine Matrix nicht die korrekte Genauigkeit aus?
Ich muss jedes Element in der Matrix durch 255 teilen und jedes Element mit mindestens 3 Dezimalstellen zeigen.
Was ich versucht habe:
output_precision(4)
aber es hat nicht für die Elemente in der Matrix zu arbeiten.
format long e
aber die Werte in der Matrix waren immer noch nicht betroffen.
Gibt es einen Unterschied zwischen der Verwendung von 'im2double' und der in der anderen Antwort gezeigten Methode? – whatwhatwhat
Wie ich bereits in meiner Antwort geschrieben habe, wird im2double unabhängig vom Eingabeformat arbeiten. Wenn das Eingabebild beispielsweise uint16 ist, wird es durch 65535 geteilt. UTSL! https://sourceforge.net/p/octave/image/ci/default/tree/inst/imcast.m https://sourceforge.net/p/octave/image/ci/default/tree/src/im2double.m .in – Andy
@whatwhatwhat und da die Funktion in den Oktavkern verschoben wurde, siehe [Quelle dort] (http://hg.savannah.gnu.org/hgweb/octave/file/9810e483b42f/scripts/image/im2double.m) stattdessen. – carandraug