教程:https://www.w3cschool.cn/matlab/
MATLAB Api:https://www.mathworks.com/help/
基本知识
双百分号%%在matlab代码中的作用是将代码分块,上下两个%%之间的部分作为一块,在运行代码的时候可以分块运行,查看每一块代码的运行情况。常用于调试程序。
单百分号%是注释 多行注释是%{ }% 注释快捷键CTRL+R 取消CTRL+T
matlab数组下标从1开始
clear%清空变量
clc%清空命令行窗口
class()%显示数据类型
size()%查看各矩阵维度
length()%返回最大数组维度的长度
X = zeros(3,7,9);
L = length(X)%输出9
%异常检测
try
[C,scores] = semanticseg(I,net);
catch
continue;
end
%循环
for k = 1:length(imagepath)
imagepath{k}=[imagepath{k},'.jpg'];
end
single 单精度数值数据 double 双精度数值数据
Cell Array 元胞数组
C = {'one', 'two', 'three';%创建元胞数组
1, 2, 3};
emptyCell=cell(3,4,2) %cell函数创建元胞数组
upperLeft=C(1:2,1:2)%圆括号索引
imagepath{1}='45'%这个只能大括号,圆括号就是类型赋值有问题
categorical 字符数组
从字符矢量创建分类数组
A = {'r' 'b' 'g'; 'g' 'r' 'b'; 'b' 'r' 'g'}
B = categorical(A)%创建分类数组
categories(B)%显示B的类别
class(B)%显示B的数据类型 就是‘categorical’
文件和文件夹
fullfile(filepart1,...,filepartN)#从各个部分构建完整文件名 有点类似os.path.join
#还会根据平台改变文件分隔符,创建多个文件路径的话会返回元胞数组
f = fullfile('c:\','myfiles','matlab',{'myfile1.m';'myfile2.m'})
f =
2×1 cell array
'c:\myfiles\matlab\myfile1.m'
'c:\myfiles\matlab\myfile2.m'
textread
dir()#获得指定文件夹下的所有子文件夹和文件,并存放在一个文件结构的数组,各结构体如下
#name:文件名 date:修改日期 bytes:文件大小 isdir:目录是1,不是为0 datenum:matlab中特定的修改日期 eg:
imgpath = dir(fullfile(imgdir,'*.png')); % 遍历所有png格式文件
I=imread(fullfile(imgdir,imgpath(k).name));%读取第k个
图像处理
imread()
读取图像
figure创建一个画板 imshow()
展示图像
imageDatastore
如果一个图像文件集合中的每个图像可以单独放入内存,但整个集合不一定能放入内存,则可以使用 ImageDatastore
对象来管理。您可以使用 imageDatastore
函数创建 ImageDatastore
对象,指定其属性,然后使用对象函数导入和处理数据。
imds = imageDatastore(location)
根据 location
指定的图像数据集合创建一个数据存储
深度学习入门之旅
https://www.pianshen.com/article/71481644395/
SeriesNetwork
串联网络是一种用于深度学习的神经网络,层次化排列。它有一个单一的输入层和一个单一的输出层
DAGNetwork
DAG网络是用于深度学习的神经网络,其中的层为有向无环图。各层有来自多个层的输入和到多个层的输出。DAGNetwork对象具有单个输入层和单个输出层。
lgraph.Connections 展示层的连接
lgraph.Layers 展示层
figure plot(lgraph)把网络图形画出来