日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab图片白边_matlab 图像保存时去除白边

發布時間:2024/3/13 循环神经网络 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab图片白边_matlab 图像保存时去除白边 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很是討厭MATLAB輸出圖像時自帶的白邊,尤其是當導出.eps格式時,很難通過編輯圖片來去掉白邊。網上有很多代碼但是沒有注釋,有很多坑要填。這里提供一個去除白邊的代碼,自己在別人的基礎上修改了而且加了注釋。

MATLAB 坐標圖

XLabel -- 標簽

Title -- 標題

XTick -- 刻度線

XTickLable -- 刻度標簽

下圖顯示了一個二維視圖,其中 OuterPosition 值定義紅色區域、Position 值定義藍色區域,TightInset 值定義的品紅色區域到藍色之間的陰影區域。

OuterPosition和Position是一個四元素的向量:[left bottom width height],均為0-1的小數,且均相對于整個繪圖區域來說的,即figure的大小。

這四個值的作用:left和bottom確定左下角的坐標,即[0.25 0.25]表示左下角在1/4處,width和height確定區域所占的高度和寬度,[0.5 0.5]表示區域的高度和寬度為整個繪圖區域的一半。[0.25 0.25 0.5 0.5]表示將區域的長和寬設為整個繪圖區域的一半并放在正中間(自己計算一下位置就知道)。

TightInset是也是一個四元素的向量,但是有些區別:[left bottom right top],其代表的是左下右上四個方向上的Position的margin,也就是Lable和Title所在區域(即陰影區域),其值也是0-1的小數,且均相對于整個繪圖區域來說的。TightInest是只讀屬性,故只能通過設置Position來改變圖像區域大小。

去白邊代碼

%%%%%%%%%%%%%%%%%%%%%%

% fn -- 圖像,可通過“f=figure;”獲得

% fan -- 圖像坐標,可通過“fa=gca”獲得

%%%%%%%%%%%%%%%%%%%%%%

f=[f1 f2 f3 f4]; % 四個不同圖像

axs = [fa1,fa2,fa3,fa4]; % 四個不同圖像的坐標對象

for i=1:4

% 圖像保存去掉白邊代碼

ax = axs(i); % 獲取一個坐標對象

set(ax,'LineWidth',1.5); % 設置坐標線寬

% set(ax, 'FontWeight','bold');

figure_FontSize=12; % 設置一個字號變量,方便統一更改

set(get(ax,'XLabel'),'FontSize',figure_FontSize); % 設置標簽字號

set(get(ax,'YLabel'),'FontSize',figure_FontSize);

% 通過findobj更改對象的屬性

set(findobj(get(ax,'Children'),'LineWidth',0.5),'LineWidth',1.5);

set(findobj('FontSize',10),'FontSize',figure_FontSize);

grid(ax,'on'); % 網格開

set(ax,'GridLineStyle',':','GridColor','k','GridAlpha',0.3); % 網格樣式

% 刪除白邊的主體代碼

% 注意在刪除白邊之后不可以再調整字號等屬性,否則會將圖像上的邊緣上的內容剪裁掉

outerpos = ax.OuterPosition; % 獲取外部框位置

ti = ax.TightInset; % 獲取內容框位置

left = outerpos(1) + ti(1); % 把Position的left值設為左邊margin的值

bottom = outerpos(2) + ti(2); % 把Position的bottom值設為右邊margin的值

ax_width = outerpos(3) - ti(1) - ti(3); % 設置對應的寬度

ax_height = outerpos(4) - ti(2) - ti(4); % 設置對應的高度

ax.Position = [left bottom ax_width-0.01 ax_height-0.01]; % 可以微調一下,以保證邊緣沒有被剪裁掉。

fig = f(i);

fig.PaperPositionMode = 'auto';

fig_pos = fig.PaperPosition;

fig.PaperSize = [fig_pos(3)+1 fig_pos(4)+1];

end

% 保存圖像為eps格式,psc2表示支持彩色

saveas(f1,'plot_img/example1.eps','psc2');

saveas(f2,'plot_img/example2.eps','psc2');

saveas(f3,'plot_img/example3.eps','psc2');

saveas(f4,'plot_img/example4.eps','psc2');

另外,如果保存的eps文件出現放大后模糊的問題,原因可能有兩個:

圖像中存在透明性質的點:取消透明即可

渲染方式為opengl:set(gcf, 'Renderer', 'Painters');更改渲染方式。

總結

以上是生活随笔為你收集整理的matlab图片白边_matlab 图像保存时去除白边的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。