2

他のいくつかのプログラミング言語は知っていますが、Matlab は初めてなので、これが単純なものである場合はご容赦ください。StackOverflowでも他の場所でも、これに対する答えを見つけることができませんでした。

次のコードを使用して図を作成します。

 figure(6),imageplot(P); drawnow;

次のようになります。ここに画像の説明を入力

次に、次のコマンドを使用して、この画像をコンピューターに保存します。

imwrite(P, 'images/plot.png');

結果の画像は小さく、色情報の一部が欠けています。

ここに画像の説明を入力

ただし、開いている図 (画像 #1) で保存機能を使用して手動で保存すると、コンピューターに保存されている正確な画像が得られます。

ここに画像の説明を入力

それをどのようにプログラムしますか?imwrite() は画像を直接書き込むだけだと思っていましたが、どうやら何か間違っているようです。何かアドバイス?imageplot コマンドと何か関係があるのでしょうか?私はそれをimwriteで動作させることができないようです。

更新: 以下のコメントに基づいて、「imresize」と「nearest」オプションの使用を開始しました。これにより、画像は適切にスケーリングされますが、結果の画像は、図の「保存」ボタンを押した場合よりも奇妙に暗いままです (したがって、情報が少なくなります)。

図から保存された画像:

ここに画像の説明を入力

「最も近い」オプションで「imresize」を使用した画像:

ここに画像の説明を入力

4

2 に答える 2

2

Figure の "Save As..." 機能に必要なコマンドは "print" と呼ばれます。よく使う

print(gcf, '-dpng', 'some_filename.png')

また

print(gcf, '-depsc', 'some_filename.eps','-r0')

画面に表示されているとおりに Figure を保存します。png 形式はファイルサイズが小さく、優れた品質を提供し、ほとんどの画像ビューアとブラウザで認識されます。eps 形式は、printig に使用するベクター形式です。「-r0」オプションは、ベクター形式のプロパティに「画面解像度で指定されたものと同じサイズを使用する」ことを指定します。

于 2013-06-20T11:09:34.167 に答える