MATLAB影像数据处理(二)

进阶基本命令

image-20250224190005358

clc,clear

%doc fullfile

f1 = '111\222\333.m';
f2 = fullfile('111','222','333.m');
f3 = strcat('111\','222\','333.m');
f4 = ['111\','222\','333.m'];
%filesep可以代替\
f5 = ['111',filesep,'222',filesep,'333.m'];

%fileparts用来分割文件路径,文件名,和后缀
[filepath,name,ext] = fileparts(f1);
%只想返回文件名
[~,name1] = fileparts(f1);
%只想返回后缀
[~,~,ext1] = fileparts(f1);

%find 查找某值位于的位置
a = 1:2:10;
%等于为==,大于>,小于
b = find(a==5);

%genpath 某文件夹下的所有文件夹,包括子文件夹
p = genpath("D:\MATLAB\work2");

%addpath 添加环境变量

%zip 压缩文件
%zip(zipfilename,filenames)

%gunzip 解压文件

%strsplit 分割字符串
straa1 = "my name is matlab";
a = strsplit(straa1);

%打开文件夹选择对话框
path1 = uigetdir('C:\');

%打开文件选择对话框
filename1 = uigetfile();

矩阵操作

%矩阵运算
a = rand(1000,1);
hist(a);

%randn的随机数有正有负
a = randn(1000,1);
hist(a);

%std 方差
std(a)

%mean 均值
mean(a)

%sum 相加,矩阵的话,按列相加
sum(a)
a = rand(1000,2);
sum(a)

%zeros 生成全是0的矩阵
zeros(5,2)

%ones 生成全是1的矩阵
ones(5,2)

% 生成全是6的矩阵
X = 6*ones(5,2)

%eye 单位矩阵,对角阵
eye(5)


a = rand(4,2);
sum(a)
% a' 转置,行变列,;列变行
a=a'

%length,返回长度,优先返回列
length(a)

%size 矩阵的长宽
a
size(a)
%返回长
size(a,1)
%返回宽
size(a,2)

%矩阵相乘

b1 =[1 2
3 4]
b2 =[5 6
7 8]

b1*b2

矩阵相乘参考:https://www.bilibili.com/video/BV1Nq421w7vH/?spm_id_from=333.1007.top_right_bar_window_history.content.click

作业二

image-20250225170334446

% 选择文件夹
selectedFolder = uigetdir('请选择包含PDF文件的文件夹');
if selectedFolder == 0
error('未选择文件夹,操作取消。');
end

% 获取文件夹中的所有PDF文件
pdfFiles = dir(fullfile(selectedFolder, '*.pdf'));

% 检查是否有PDF文件
if isempty(pdfFiles)
error('所选文件夹中没有PDF文件。');
end

% 在所选文件夹的同级目录下创建pdf文件夹
pdfFolder = fullfile(fileparts(selectedFolder), 'pdf');
if ~exist(pdfFolder, 'dir')
mkdir(pdfFolder);
end

% 遍历每个PDF文件
for i = 1:length(pdfFiles)
% 获取当前PDF文件的完整路径
currentPdfPath = fullfile(pdfFiles(i).folder, pdfFiles(i).name);

% 创建以PDF文件名命名的文件夹
[~, pdfName, ~] = fileparts(pdfFiles(i).name);
newFolder = fullfile(pdfFolder, pdfName);
if ~exist(newFolder, 'dir')
mkdir(newFolder);
end

% 复制并重命名PDF文件
newPdfPath = fullfile(newFolder, 'report.pdf');
copyfile(currentPdfPath, newPdfPath);
end

% 压缩pdf文件夹
zipFileName = fullfile(fileparts(selectedFolder), 'pdf.zip');
zip(zipFileName, pdfFolder);

% 提示操作完成
disp('PDF文件已提取并压缩完成。');

可以完成!