8

imread を使用して 8 ビットのグレースケール イメージをオクターブにロードし、それを ascii 形式で保存して、すべての値の巨大なリストを取得しました。次に、Java で 2x2 マトリックスを使用してディザリングし、ディザリングされた各マトリックスのリストをすべて 1 行に出力しました。

私のプログラムのピクセルのマトリックスが次のようになった場合:

0 2
3 1

次に、私のプログラムが生成する出力は次のようになります。

0 2 3 1

次に、その形式の各ピクセルのすべての行列を 1 行にまとめます。これをオクターブにロードして、最終的なディザリングされた画像を表示するにはどうすればよいですか?

私はオクターブをいじっていて、最初に示したような単純なマトリックスを作成し、それをファイルに保存しました。それから、すべてを 1 行にまとめて、問題なく再度ロードすることができました。次に、そのファイルのマトリックスをプログラムが生成したマトリックスに置き換えようとしましたが、オクターブはそれをロードしていないようです。ロードしようとしたマトリックスはまったく変更されません。

4

1 に答える 1

8

あなたの質問を完全に理解できたとは思いませんが、ファイル システムとのやり取りに問題がある場合は、関数 dlmread と dlmwrite を使用することをお勧めします。

次のコードは、開始するための例を提供する必要があります。

%Random 4 by 4 matrix
M = rand(4,4) 

%Write matrix to file system
dlmwrite("filename.txt",M);

%Read it back and store in an other variable
M2 = dlmread("filename.txt")
于 2011-08-13T10:18:16.070 に答える