雖然我知道一些其他編程語言,但我對Matlab很陌生,所以請原諒我,如果這很簡單。我無法在StackOverflow或其他地方找到任何答案。Matlab imwrite()質量
figure(6),imageplot(P); drawnow;
,看起來像這樣:
我用下面的代碼生成一個數字
然後我用下面的命令此圖像保存到我的電腦:
imwrite(P, 'images/plot.png');
由此產生的圖像很小,並且缺少一些顏色信息:
但是,如果我在打開的圖形(圖像#1)中使用了保存功能並手動保存,我就得到了我想要的,這就是存儲在我的計算機上的確切圖像。
我將如何編程呢?我認爲imwrite()會直接寫圖像,但顯然我做錯了什麼。有什麼建議?也許它與imageplot命令有關?我似乎無法讓它在imwrite中工作。
更新:基於以下評論,我已開始使用「imresize」與「最近」選項。這樣可以正確縮放圖像,但是由此產生的圖像仍然奇怪地較暗(因此信息較少),比按下圖中的「保存」按鈕時更加奇怪。
圖像從圖中保存的:使用
圖像 「imresize」 與 「最近」 選項:
你會如何將我的代碼和print()函數結合起來?正如我的問題所述,我能夠使用imageplot(P)查看我想要的圖像。使用print(P,'-dpng','filename.png')會產生一個錯誤:「句柄輸入必須是向量的標量,向量或單元陣列。」 我也嘗試使用print(imageplot(P),' - dpng','filename.png')試圖正確打印我顯示的內容,但這會產生錯誤「輸出參數太多」。 – Jake
您需要在圖形手柄上使用打印 - 在繪製了矩陣P之後,'gcf'返回當前的圖形句柄,如Martin J.H.使用。你也可以使用'f = figure; imageplot(P);打印(F ...);'。 –
我們走了。完美。非常感謝! – Jake