0

次の行を使用して、いくつかの気象データを png 画像ファイルにプロットして保存しようとしています。

imag = data2image(flipud(vari'));
imag = gray2ind(imag);
imwrite(imag,colormap('jet'),'PSFC_RIO_im.png','png');

ここdata2imageで、画像関数で使用できるようにデータを再スケーリングするカスタム関数です。

function image = data2image(data)
    HIGH = max(data(:));
    LOW = min(data(:));
    image = (data - LOW)/(HIGH-LOW);
end

残念ながら、imwrite次のエラーが表示されます。

error: ind2rgb: X must be an indexed image
error: called from:
error:   /usr/local/share/octave/3.6.4/m/image/ind2rgb.m at line 44, column 5
error:   /usr/local/share/octave/3.6.4/m/image/imwrite.m at line 176, column 16
error:   /home/tufts/Documents/Octave/geomat.m at line 53, column 1

imwrite上記のコードの53 行目はです。imag は関数を使用してインデックス付きの画像に変換されたため、このエラーは私にはまったく意味がありませんgray2ind。また、 でプロットしてこれをテストしましたがimshow、これは機能します。

編集 - 画像のクラス:

octave:9> class(imag)
ans = double
4

1 に答える 1