1.MATLAB最好保存为eps格式,虽然IEEE也支持png等其他格式,但是MATLAB在保存为png格式时,很容易在后期插图时,出现分辨率不足等问题。
2. MATLAB在save as图片的时候,会将图片的留白也保存下来,当把这张图片在latex中插入时,会占据很大的空白,导致主图显的很小。可以通过下述方式来去除留白:
首先 imshow(uint8(data),'border','tight','initialmagnification','fit');
这是显示图片图片的意思,uint8(data)是图片data以无符号八位数格式显示,这里的data是matlab工作区保存图片像素值的矩阵,后面的参数是去除留白,不用修改,照抄就好。
然后set (gcf,'Position',[0,0,图片的宽度,图片的高度]); 就可以save as为eps格式进行插入了。
因为IEEE彩图是很昂贵的, 如果想把彩图保存成灰度图格式,只要导入到photoshop中,选择mode(模式)-灰度,就好。
3. Latex插入时,
如果想并排插入两张图片,可以参考下述插入方式(这里需要用到\usepackage{subfigure}这个包):
\begin{figure}
\subfigure[fuck]{
\label{a}
\includegraphics[width=1.5in]{untitled.eps}}
\subfigure[shit]{
\label{b}
\includegraphics[width=1.5in]{untitled.eps}}
\caption{***********}
\label{fig}
\end{figure}
如果想给图片加个框,可以参考下述插入方式:
\begin{figure}
\centering
\setlength{\fboxrule}{1pt}
\setlength{\fboxsep}{0cm}
\fbox{\includegraphics[totalheight=2in]{untitled.eps}}
\caption{}
\label{c}
\end{figure}
1pt是框的粗细,0cm是框与图片之间的距离。
输出图片成可直接调入的灰度图,设置输出图片空白边距,以及调整图片大小,纵横比。
一、先显示图片,imshow。如果是plot,或者newplot,直接看“三”。
imshow(strain_image,'border','tight','initialmagnification','fit');
%'border','tight'的组合功能意思是去掉图像周边空白
%'InitialMagnification','fit'组合的意思是图像填充整个figure窗口
二、设置窗口大小。只设置窗口大小就行,数组含义:[left bottom width height]。我是设成正方形。
set (gcf,'Position',[0,0,512,512])
顺便提一下,默认plot的position是 [232 246 560 420]
三、使图片填充整个figure,也就是成规定的形状。
axis normal;
一般的用plot函数画的图像只需要set(gca,'position',[0 0 1 1])就可以达到目的,但是imshow的函数里使用了axis image,保持了图像的比例,所以必须用axis normal改回来.才会伸缩图像填充这个figure区域.否则只能手动调整图像的大小,比例合适时空白也会消失。
如果要控制插值方式,就要用imresize命令。
四、保存,只能用菜单里的“save as...”或者saveas命令
saveas(gca,'meanshape.bmp','bmp');
总结,就是下面四条命令:
imshow(strain_image,'border','tight','initialmagnification','fit');
set (gcf,'Position',[0,0,500,500]);
axis normal;
saveas(gca,'meanshape.bmp','bmp');