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

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

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

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

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

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

txt数据读取:

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

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

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

上文实现了创建了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

若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, ...) 

例如:

[name,type,x,y,answer]=textread('D:\t.txt','%s %d %f %n %s',2,'headerlines',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,[])

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)

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

发送001即可免费获取。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看那片云

嘿嘿嘿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值