MATLAB 学习小节

MATLAB的功能全面且复杂,总有一些经常能用到的固定功能代码,记在这里,方便查询! 

MATLAB 判断不存在文件夹 则创建文件夹

savepath = uigetdir;

if(~exist([savepath,'\ISAR_RayTraceResult'], 'file'))
    mkdir([savepath,'\ISAR_RayTraceResult']); 
end

if(~exist([savepath,'\ISAR_ImagingResult'], 'file'))
    mkdir([savepath,'\ISAR_ImagingResult']); 
end

(2019.09.25更新)

读取文件夹内所有图像,并批量处理!

pathname = 'C:\Users\本地用户\Desktop\图像';

classfileName = strcat(pathname,'\', '*.jpg');
sonfiles = dir(fullfile(classfileName));
size1 = size(sonfiles);
imgNames = sonfiles(3 : size1(1));
imgNum = size(imgNames, 1);

for ii = 1:imgNum
    imgName = [pathname, '\', imgNames(ii, 1).name];
    img = imread(imgName);

    % 处理程序
    % 处理程序

end

(2019.09.26更新)

无边框保存当前显示图片

我们经常用matlab的 imwrite 语句保存图像,这样保存的图像尺寸大小与数据尺寸一致,没有白色边框。但是 imwrite 往往不能满足我们的要求,比如显示了一个三维图,需要保存成二维效果图,再比如用 imagese 语句将灰度图显示成了彩图。如果在fig图上直接另存为 bmp 等格式图像,保存的图像会有很宽的白边。虽然也能用画图等工具去除白边,但是如果要批量保存,工作量可想而知!这里提供一个无边框保存当前显示图片的方法,可以解决这些问题!

f1 = figure(1);                             % 获取句柄
clf(f1)                                     % 清除当前显示内容
imshow(img);                                % 显示图片 % imagesc(img)
set(0,'CurrentFigure',f1);                  
set(gcf,'PaperPositionMode','auto');
set(gca,'position',[0,0,1,1]);
set(gcf,'position',[1, 1, width, Heigth]);  % width:图片列数 Heigth:图片行数
     
ImgCCD = getframe(f1);                      % 获取当前显示内容
ImgCCD = ImgCCD.cdata;
imwrite(ImgCCD, saveFile);                  % 保存

(2019.10.10更新)

坐标轴标签旋转

[X,Y] = meshgrid(-5:0.4:5,-5:0.4:5);
Z = tanh(X);

figure;
surface(X,Y,Z);
view(3);
grid on
grid minor

xl = xlabel('Re(z)');
yl = ylabel('Im(z)');
zlabel('Re(tanh(z))');

set(xl, 'Rotation', 30)   % 旋转
set(yl, 'Rotation', -30)  % 旋转

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值