许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB基本操作详解

MATLAB基本操作详解

阅读数 3
点赞 0
article_banner

官方文档 :https://ww2.mathworks.cn/help/index.html

doc + 指令 可以直接跳转到相应 函数 的文档资料中

   打印函数:fprintf(‘% s \n’, imageFiles{i});

1. 变量操作

  • 数据类型 uint无符号整数:无符号8位整数、无符号16位整数、无符号32位整数、无符号64位整数 int有符号整数:有符号8位整数、有符号16位整数、有符号32位整数、有符号64位整数 single函数:将其他类型的数据转化位单精度型 double函数:将其他类型的数据转化位双精度型 复数:复型数据包括实部和虚部两个部分,实部和虚部默认为双精度型,序数单位用i或者j来表示; (real函数:求复数的实部;imag函数:求复数的虚部) format命令的格式:format+格式符(不加格式符,默认为short),format只影响数据输出格式,而不影响数据的计算和存储
  • 常用函数 三角函数:有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”以示区别(sin和sind) abs函数:可以求实数的绝对值、复数的模、字符串的ASCII码值 round函数:按照四舍五入的规则 ceil函数:向上取整,去大于等于这个数的第一个整数 floor函数:向下取整,取小于等于这个数的第一个整数 fix函数:固定取靠近0的那个整数,即舍去小数取整
  • 变量保存 用于保存MATLAB工作区变量的文件叫做内存变量文件,其拓展名为.mat,也叫MAT文件 save命令:创建内存变量文件(save data.mat var) load命令:装入内存变量文件(load data.mat) who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单
  • 算术操作 +(加)、-(减)、(乘)、/(右除)、\(左除)、^(乘方)、&(与)、|(或)、~(非) 矩阵对应元素进行相关运算点运算符:. 、./ 、.\ 、.^

2. 矩阵操作

  • 矩阵创建操作 直接输入法:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或者空格分隔,不同行的元素用分号分隔;一个大矩阵可以由已经建立好的小矩阵拼接而成([A, B; C, D]:就表示AB矩阵一行,CD矩阵一行) 格式输入:y = e1:e2:e3。e1为初始值,e2为步长,e3为终止值(e2可省略,若省略则默认步长为1) linspace函数:linspace(a,b,n)a是第一个元素,b是最后一个元素,n是元素总数。当n省略时,自动产生100个元素。 结构矩阵创建格式:结构矩阵元素.成员名=表达式
  • 矩阵索引 matlab的索引是从1开始的,而不是python的索引从0开始 A(2,3)表示A矩阵第2行第3列的元素 A(i,:) 表示第i行的全部元素 A(:,j) 表示第j列的全部元素 A(i:i+m,k:k+m) 表示第i ~ i+m行,且在第k ~ k+m列中的所有元素 A(i:i+m,:) 表示第i ~ i+m行的全部元素 空矩阵是指没有任何元素的矩阵,如果要删除元素,只需 将这些元素置为空矩阵 sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。调用格式为:D=sub2ind(S,I,J),S表示要转换矩阵的行数和列数组成的向量,可用size(A)获得;I 是要转换矩阵元素的行下标,J 是要转换矩阵元素的列下标。如果I和J是矩阵,表示要将矩阵中的多个元素的行列下标转换成存储的序号。 ind2sub函数:把矩阵元素的序号转化成对应的下标,其调用格式为:[I,J]=ind2sub(S,D),S表示要转换矩阵的行数和列数组成的向量,D表示序号,I 是要转换矩阵元素的行下标,J 是要转换矩阵元素的列下标。
  • 矩阵变换 A(:) :将矩阵A的每一列元素堆叠起来,成为一个列向量。 reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成m * n的二维矩阵。reshape函数只是改变原矩阵的行数和列数,但并不改变原矩阵元素的个数及其存储顺序。
  • 信息获取 size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数


3. 字符串操作

  • 例子1:对目录下所有图像进行处理,保存原图和处理后的图像,用后缀_aug来进行区别
clc;
clear;

% 处理一个文件夹中的图像
image_dir = 'E:\matlab\ImageProcess\Images';
output_dir = 'E:\matlab\ImageProcess\ImagesOut';

% 获取路径下所有图像
image_files = dir(fullfile(image_dir, '*.jpeg'));

for i = 1:numel(image_files)
    image_file = image_files(i);
    image_path = fullfile(image_dir, image_file.name);   % 路径拼接
    
    % 保存处理前的原图
    ori = imread(image_path);
    ori_savepath = fullfile(output_dir, image_file.name);
    imwrite(ori, ori_savepath);
    
    % 构造保存文件名
    [~, fileName, fileExt] = fileparts(image_file.name);
    aug_savename = [fileName, '_aug', fileExt];
    aug_outpath = fullfile(output_dir, aug_savename);
    fprintf('start prcess : %s\n', aug_outpath);

    % 保存处理后的图像
    aug = local_highlight_restrain_rectangle(image_path);     % 进行矩形gamma处理   
    % img_aug = local_highlight_restrain_hierarchy(image_path);   % 进行层级范围gamma处理
    imwrite(aug, aug_outpath);

    fprintf('prcess finsih: %s\n', image_path);
end

参考资料:

https://www.zhihu.com/column/c_1189849302766473216


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空