7

MATLABでは、EPS形式の画像に行列をどのように記述しますか?

imwriteEPSをサポートしていないようです。

Convertは、使用しているLinuxサーバーで機能しません。

$ convert exploss_stumps.jpg exploss_stumps.eps
convert: missing an image filename `exploss_stumps.eps' @ convert.c/ConvertImageCommand/2838

なんで?


私はターミナルモードでgnoviceのアイデアを試しました:

    figH = figure('visible','off') ;
imshow(img,'border','tight',...      %# Display in a figure window without
        'InitialMagnification',100);  %#    a border at full magnification
print(strcat(filepath,'/', dataset,'_feature_',num2str(j), '.eps'),'-depsc2');
    close(figH) ;

しかし、私は得ました:

??? 191で==>imshowを使用すると、エラーが発生し
ます。IMSHOWではJavaを実行する必要があります。

==> study_weaker at 122
imshow(img、'border'、'tight'、...%#191エラーなしでFigureウィンドウに

表示(eid、'%sではJavaを実行する必要があります。'、upper(mfilename) );

どうすれば修正できますか?

4

3 に答える 3

7

考えられる解決策の1つは、 IMSHOWを使用して画像をプロットし、PRINTを使用して図全体を.epsとして印刷することです。

img = imread('peppers.png');         %# A sample image
imshow(img,'Border','tight',...      %# Display in a figure window without
       'InitialMagnification',100);  %#    a border at full magnification
print('new_image.eps','-deps');      %# Print the figure as a B&W eps

このソリューションの欠点の1つは、画像が大きすぎて画面に収まらない場合、IMSHOWが画像を縮小して収まるようにすることです。これにより、画像の画面上の解像度が低下します。-r<number>ただし、 PRINT機能のオプションを使用して、保存された画像の最終的な解像度を調整することができます。たとえば、次の手順を実行することで、300dpiの解像度でカプセル化されたレベル2カラーPostScriptとしてフィギュアを印刷できます。

print('new_image.eps','-depsc2','-r300');

編集:IMSHOWを使用できない場合(Image Processing Toolboxがないか、MATLABモードを使用しているため)、図を作成して印刷する別の方法を次に示します。

img = imread('peppers.png');      %# A sample image
imagesc(img);                     %# Plot the image
set(gca,'Units','normalized',...  %# Set some axes properties
        'Position',[0 0 1 1],...
        'Visible','off');
set(gcf,'Units','pixels',...      %# Set some figure properties
        'Position',[100 100 size(img,2) size(img,1)]);
print(gcf,'new_image.eps','-depsc2','-r300');  %# Print the figure

このドキュメントを参照して、ディスプレイなしで印刷がどのように機能するかを確認することもできます。

于 2010-03-19T16:04:30.410 に答える
0

imwriteを使用して動作するはずです。ただし、それを機能させるには、カラーマップを追加する必要があります。

ただし、ヘルプページを確認すると、imwriteを使用してEPSファイルを書き込むことはできません。

于 2010-03-19T16:11:24.400 に答える
0

次のコードは、pngファイルをepsに変換するのに役立つ場合があります。

fileName = 'FarmerStats'; % your FILE NAME as string

A = imread(fileName,'png');
set(gcf,'visible','off') %suppress figure
image(A);                
axis image               % resolution based on image
axis off                 % avoid printing axis 
set(gca,'LooseInset',get(gca,'TightInset')); % removing extra white space in figure
saveas(gcf,fileName,'epsc');   % save as COLOR eps file
于 2017-05-05T12:20:58.643 に答える