2013-08-16 40 views
5

Rainbow在MATLAB來自於imagesc保存完整影像輸出

您好,我想保存此圖像從imagesc(magic(3))生產,確切虹表示,這可能嗎?

謝謝。

這個問題可能看起來像重複,但事實並非如此。我在這個網站上查看了類似問題的解決方案,但它並不滿足我。 我已經看了一下Matlab幫助中心和我得到的最接近的答案是這個,在http://goo.gl/p907wR的底部

+2

是'saveas(gcf,'filename','format')'你想要什麼?嘗試一個矢量化的格式.eps – Werner

+0

@Werner:謝謝你的回答,請你詳細說明一下。 – motiur

+0

@Werner:謝謝你,夥計們,*擁抱*。 – motiur

回答

11

爲了將圖保存爲文件(無論它是如何創建的),應該做的:

saveas(figureHandle,'filename','format') 

其中figureHandle可能是gcf手柄,這意味着:獲取當前數字

正如在討論中指出,如果有人不希望被顯示的刻度,人可以添加:

set(gca,'XTick',[]) 
set(gca,'YTick',[]) 

其中GCA是句柄當前軸,就像gcf。如果您有多個軸,請不要忘記「處理手柄」。當您創建的話,他們返回時,即:

hFig = figure(pairValuedProperties); % Create and get the figure handle 
hAxes1 = suplot(2,1,1,pairValuedProperties); % Create and get the upper axes handle 
hAxes2 = suplot(2,1,2,pairValuedProperties); % Create and get the bottom axes handle 

在該對值是數字或軸以下語法聲明的屬性:

'PropertyName1',PropertyValue1,'PropertyName2',PropertyValue2,…

以下是有關MATLAB文檔FigureAxes Properties,以及關於saveas method


例子:

保存用下面的代碼的圖像:

figure 
imagesc(magic(3)) 
set(gca,'XTick',[]) % Remove the ticks in the x axis! 
set(gca,'YTick',[]) % Remove the ticks in the y axis 
set(gca,'Position',[0 0 1 1]) % Make the axes occupy the hole figure 
saveas(gcf,'Figure','png') 

Figure without the white border

+0

嗯,我無法避免從我的形象被顯示的蜱,並有圖像的幀,這也是周圍有白色邊框我不想要。但我很滿意,我對我的學校任務有一個合理的答案。再次感謝。 – motiur

+0

@MotiurRahman新增了一個例子。注意,如果您繪製另一個圖形或座標軸,則gca會發生變化。 – Werner

+0

擁抱你的努力,你的榜樣工作,但我在Archlinux和鸚鵡螺構成圖像周圍的白色邊框,即使我沒有得到正確的軸。事情是我必須做這個圖像的平均過濾和白色邊框(不能被識別,因爲網頁是白色的)真的搞亂了我的形象(這實際上是一個顆粒狀圖像,而不是上面這張3x3圖像)所以我不得不求助於中值濾波,這很好,但平均濾波效果會更好。 – motiur

3

您可以使用:

print -djpeg99 'foo.jpg' 

這將其保存爲「 FOO .jpg「,如你所需。

1

您可以使用下面的代碼

imagesc(A); 
%%saving the image 
hgexport(gcf, 'figure1.jpg', hgexport('factorystyle'), 'Format', 'jpeg'); 
set(gcf,'PaperUnits','inches','PaperPosition',[0 0 4 4]); 
print -djpeg filename.jpg -r10 

這裏將是你將有一個形象的矩陣。圖像將被保存爲目錄中的filename.jpg。