matlab常用函数记录

1.文件操作类

1.1 利用对话框选择文件

[f,p] = uigetfile({ '*.bmp'}, 'Select an bmp file');  % 读取bmp文件
                                                      %f为文件名称,p文件路径
file_path = [p,f];  %合成目标文件路径

1.2 目录操作

path = 'path'; % 定义路径
if ~exist(path, 'dir')           % 判断文件夹是否存在
   mkdir(path);                  % 不存在则创建文件夹
end

1.3 写日志

path_name = 'log.txt';
log_id=fopen(path_name , 'a'); % 'a' 为追加写文件,如果不存在的创建文件
fprintf(log_id,,''); %使用fprintf向log_id文件写入数据

1.4 保存figure图片

% 首先使用figure产生一个图片对话框,然后进行保存操作
figure, plot(); %imshow,mesh,...
file_name = 'save.jpg';
saveas(gcf,file_name); %保存最近一次显示的图片

2. figure图像操作类函数

2.1 画图

plot()

xlim([x1 x2]); % 限定x轴范围
ylim([y1 y2]); % 限定y轴范围

% 颜色设置
% r               红
% g               绿
% b               蓝
% c               蓝绿
% m               紫红
% y               黄
% k               黑
% w               白
figure,mesh(data); % 三维图

2.2 图中取点

figure,imshow(picture); %显示图像
num = 1;                %需要取点的数量
[x,y] = ginput(num);    %返回点的坐标

2.3 获取图像序列

%定义一个数组来存储图像序列

plot();% imshow,mesh,...
m(i)=getframe;  % 每显示一次就存储一次


%存储完成后播放设置
movie(m,1,2);      % 每秒2帧,播放一次

%保存为视频文件
v = VideoWriter('newfile2.avi');  % 创建视频文件
open(v);                          % 打开视频文件
writeVideo(v,m);                  % 写入文件

3. 图像操作类函数imxxx

3.1 读取图片

path_name = '1.bmp';
Uo = imread(path_name);

3.2 显示图片

%假设待显示的图片为 picture
figure,imshow(picture,[]);    %自动归一化调整
figure,imshow(picture,[a,b]); %手动调整

3.3 灰度转换

picture = mat2gray(Image,[a,b]); % 数组转灰度

3.4 保存图像

picture = mat2gray(Image,[a,b]); % 数组转灰度
imwrite(picture ,'1.bmp')        %保存图像

4. 频域变换

res = fft(signal);  % 一维傅里叶变换
res = ifft(signal); % 一维傅里叶逆变换

res = fft2(signal); % 二维傅里叶变换
res = ifft2(signal);% 二维傅里叶逆变换
res = fft2(signal); 
res1 = fftshft(res); % 将零频移到中心

%可对频谱res1进行处理

res2 = ifftshift(res1);% 将将频谱还原,fftshft的逆操作
sig = fft2(res2); 

5.数据操作

5.1 数据转换

str_num = num2str(num); % 数字转字符串
num = num2str('123');   % 字符串转数字

5.2 数据取整

round(1.1); % 四舍五入取整
floor(1.1); % 只取整数部分

5.3 保存工作区数据

file_name = 'data.mat';
save(filename,v1,v2,v3); % 后面根任意数量变量
save(filename);          % 保存整个工作区变量

load(file_name);         %加载变量到工作区

6.矩阵操作

6.1 赋值

A = randn(n,n);
B = 1;
A(find(A>B)) = B;  %条件赋值

7.工作区变量

7.1变量的保存与加载

save('filename.mat','var1','var2',...);
load('filename.mat');

8.常用自定义代码块

8.1画圆代码

c = zeros(100,100);

x0 = 50;
y0 = 50;
r = 30;


%计算y值
for x = x0 - r:1:x0 + r
    y1 = sqrt(r*r-(x-x0)^2)+y0;
    y2 = -sqrt(r*r-(x-x0)^2)+y0;
    c(x,round(y1)) = 1;
    c(x,round(y2)) = 1;
end

%计算x值
for y = y0 - r:1:y0 + r
    x1 = sqrt(r*r-(y-y0)^2)+x0;
    x2 = -sqrt(r*r-(y-y0)^2)+x0;
    c(round(x1),y) = 1;
    c(round(x2),y) = 1;
end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值