MATLAB技术篇—数据的准备

作者终于要开始技术篇啦~MATLAB之旅又往前一步,冲冲冲!

数据的获取

从excel中读取数据

  • 从EXCEL读出数据到MATLAB中

    a = xlsread('D:\co2.xlsx',2,'A1:B5')
    
    • xlsread函数:读入数据功能
    • D:\co2.xlsx:读入的EXCEL数据所在的路径以及EXCEL的文件名称
    • 2:表示位于sheet2
    • A1:B5表示需要读入的数据范围
  • 从MATLAB中读出数据到EXCEL

    xlswrite('D:\co2.xlsx',a,3,'B1:C5')
    
    • xlswrite函数:读出数据功能
    • D:\co2.xlsx:写入EXCEL工作簿所在的位置,若不存在,自动创建
    • a:待写入的数据
    • 3:sheet3
    • B1:C5表示写入EXCEL中的具体位置

:不要在MATLAB读写操作的时候打开EXCEL,,否则将使程序终止运行

从TXT中读取数据

从TXT中读取数据可以使用load函数

load('* * *.txt')

此处,举一个小例子

a = linspace(1,30,8);
save d:\exper.txt a -ascii; %将变量a以ascii码的形式存储在d:\exper.txt文件
b = load('d:\exper.txt')
  • linspace函数:用法linspace(x1,x2,N),用于产生x1,x2之间的N点行矢量。若缺省N,则默认100.

若TXT文件中存储了不同类型的字符或者数据,分类读取时,就要使用textread函数

[A,B,C,...] = textread('filename','format',N,'headerlines',M)
%filename:表示读取的文件的名称
%format:所读取变量的字段格式
%N表示读取的次数,每次读一行
%headerlines表示从第M+1行开始读取
%A,B,C表示表格的眉头
  • textread函数:读取信息,精准,且不需要fopen就可直接读取TXT的内容

将MATLAB里的信息写入到TXT中:使用fprintf函数

file = fopen('路径','w');
fprintf(file,'数据类型',数据);
fclose(file);

读取图片

读取图片常用函数为imread

A = imread(filename) %A是返回数组,用于存放图像中的像素矩阵
A = imread(filename,fmt) %fmt列表创建组合格式文件
A = imread(___,idx) %idx索引文件
A = imread(___.Name,Value)
[A,map] = imread(___)
[A,map,transparency] = imread(___)

eg:2013年,碎纸机切割问题

%%读取图片
clc, clear, close all;
a1 = imread('000.bmp')
[m,n] = size(a1);
%%批量读取图片
dirname = 'ImageChips';
files = dir(fullfile(dirname,'*.bmp'));
a = zeros(m,n,9);
pic = [];
for ii =1;length(files)
  filename = fullfile(dirname,file(ii).name);
  a(:,:,ii) = imread(filename);
  pic = [pic,a(:,:,ii)];
end
double(pic);
figure
imshow(pic,[])

读取视频

在MATLAB中,使用计算机视觉工具箱中的 VideoFileReader 来读取视频数据

%%读取视频数据
videoFileReader = vision.VideoFileReader('vippedtracking.mp4');
%播放视频文件
videoPlayer = vision.VideoPlayer;

未完待续


本文章使用limfx的vscode插件快速发布