MATLAB中去除figure的边框


前阵子想输出一张图片,没有边框的,无奈不知道如何搞,费了半天劲。今天发现原来可以通过设置figure的position属性搞定。
在matlab的help中,搜索"Automatic Axes Resize",就可以看到调节坐标的几个属性。假设随机生成一张图片100*100,然后保存为png格式,且DPI=300。

   imagesc(rand(100,100));           % generate a random image
   axis off                          % set off the axis
   set(gca, 'position', [0 0 1 1 ]); % the axis must be normalized
   print('-f1', '-r300', '-dpng','xxx.png'); % set the DPI


   这样就得到一张没有边框的图片。

 

这是网上提供的一种解决方案,但是最终并没有解决我的问题,因为保存图片时总是大小有所改变,又经过半天的琢磨和墨迹,最终突发灵感,我保存图像时,为什么一定要经过imagesc()显示后保存,因为我有源图像的矩阵信息,所有最后我通过先把矩阵转化为图像对应的灰度信息图然后保存。

I_new=mat2gray(Img);
figure, imshow(I_new);
imwrite(I_new,'123.tif');

这样保存后大小灰度均无变化


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM