当前位置:   article > 正文

[Matlab数学建模与工程优化:001]Matlab数据获取-matlab读取excel、txt、图片,视频_如何在matlab里实时获取数据

如何在matlab里实时获取数据

数据获取-matlab读取excel、txt、图片,视频

excel数据读取:
excel数据读取除了可以采用matlab自带的数据代入之外,可以使用xlsread和xlswrite,其具体用法如下:

a=xlsread('D:\XX.xlsx',3,'A2:B9')
  • 1

这表示读取D盘中xx.xlsx中sheet3的A2到B9单元格,输出是一个矩阵。
excel简单的写入操作可使用xlswrite函数

xlswrite('D:\XX.xlsx',a,'C2:D9'
  • 1

txt数据读取:

b=load('XXX.txt');%将XXX.txt的数据存储到b中
  • 1

一次完整的存储过程如下:

a=linspace(1,30,8);
save d:\expert.txt a -ascii;
b=load('d:\exper.txt');
  • 1
  • 2
  • 3

上文实现了创建了1:30等间距的8个数字,并使用ascii码将a存储到d:\expert.txt中
最后使用load加载txt文件。在matlab的command window中输入b然后回车可得b的结果如下:
b =

1.0000    5.1429    9.2857   13.4286   17.5714   21.7143   25.8571   30.0000
  • 1

若txt中存储了不同类别的数据和字符,读取txt数据需要使用textread()函数,该函数定义如下:

  [A,B,C, ...] = textread('FILENAME','FORMAT')
  [A,B,C, ...] = textread('FILENAME','FORMAT',N)
  [A,B,C, ...] = textread('FILENAME','FORMAT',param,value, ...)
  [A,B,C, ...] = textread('FILENAME','FORMAT',N,param,value, ...) 
  • 1
  • 2
  • 3
  • 4

例如:

[name,type,x,y,answer]=textread('D:\t.txt','%s %d %f %n %s',2,'headerlines',1)
  • 1

其中Format代表数据格式,N表示读取行数,M表示从哪一行开始读,如果有headerlines就表示,第一行是标题,需要从M+1行开始读取

在这里插入图片描述
对于这个表格,上述代码的输出如下:

在这里插入图片描述

figure数据读取:
可使用imread函数

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

video数据读取
可使用vision.VideoFileReader(‘XX.mp4’)进行读取

videoFReader = vision.VideoFileReader('vippedtracking.mp4');

% 播放视频文件
videoPlayer = vision.VideoPlayer;
while ~isDone(videoFReader)
  videoFrame = step(videoFReader);
  step(videoPlayer, videoFrame);
end
release(videoPlayer);

%% 设置播放方式
% 重置播放器
reset(videoFReader)
% 增加播放器的尺寸
r = groot;
scrPos = r.ScreenSize;
%  Size/position is always a 4-element vector: [x0 y0 dx dy]
dx = scrPos(3); dy = scrPos(4);
videoPlayer = vision.VideoPlayer('Position',[dx/8, dy/8, dx*(3/4), dy*(3/4)]);
while ~isDone(videoFReader)
  videoFrame = step(videoFReader);
  step(videoPlayer, videoFrame);
end
release(videoPlayer);
reset(videoFReader)

%% 获取视频中的图像
videoFrame = step(videoFReader);
n = 0;
while n~=15
  videoFrame = step(videoFReader);
  n = n+1;
end
figure, imshow(videoFrame)
release(videoPlayer);
release(videoFReader)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

读取视频和图片的源文件课添加博主V免费获取,luingtinf1998

发送001即可免费获取。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/648708
推荐阅读
相关标签
  

闽ICP备14008679号