[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~=15videoFrame = step(videoFReader);n = n+1;
end
figure, imshow(videoFrame)
release(videoPlayer);
release(videoFReader)

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

发送001即可免费获取。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部