如何读取kinect生成的图像序列

本文档详细介绍了如何在MATLAB中从rgb.txt文件读取并处理由Kinect生成的图像序列。首先通过textread函数读取txt文件内容,然后提取图像存储路径,接着连接路径和文件名,并将单元格转换为字符串,最后使用imread函数读取图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


kinect图像序列名存储在文件 rgb.txt中,格式为

1305031102.175304 rgb/1305031102.175304.png
1305031102.211214 rgb/1305031102.211214.png
1305031102.243211 rgb/1305031102.243211.png
1305031102.275326 rgb/1305031102.275326.png
1305031102.311267 rgb/1305031102.311267.png
1305031102.343233 rgb/1305031102.343233.png
1305031102.375329 rgb/1305031102.375329.png
1305031102.411258 rgb/1305031102.411258.png
1305031102.443271 rgb/1305031102.443271.png
1305031102.475318 rgb/1305031102.475318.png
1305031102.511219 rgb/1305031102.511219.png
1305031102.543220 rgb/1305031102.543220.png
1305031102.575286 rgb/1305031102.575286.png
1305031102.611233 rgb/1305031102.611233.png
1305031102.643265 rgb/1305031102.643265.png

对应的图像存储路径为:D:\Matlab练习\rgbd_dataset_freiburg1_xyz\rgb
图像对应文件名为(以第一张图像为例):1305031102.175304.png

目的:从rgb.txt中提取出rgb/1305031102.175304.png  ,使用imread()读取对应图像

步骤:
1、使用textread('rgb.txt',%s)读取文件内容

注:若不加 %s 则会出现如下错误
>> textread('rgb.txt')
??? Error using ==> dataread
Trouble reading number from file (row 1, field 2) ==> rgb/1305031102.175304.png\n

Error in ==> textread at 177
[varargout{1:nlhs}]=dataread('file',varargin{:});


读取:

      ss=textread('rgb.txt','%s');
      ss1=ss(2:2:200,1);
      s=ss1(k); %k:表示第k张图像

2、提取图像存储路径:
sequencePath = 'D:\Matlab练习\rgbd_dataset_freiburg1_xyz\';

3、连接存储路径和文件名
s1=strcat(sequencePath,s);

注:这里连接后的s1不能直接用于imread的输入,因为此时s1属于单元格形式,需要转换为字符串

直接用出现的错误
>> s1=strcat(sequencePath,s)

s1 =

    'D:\Matlab练习\rgbd_dataset_freiburg1_xyz\rgb/1305031102.175304.png'

>> imread(s1)
??? Conversion to logical from cell is not possible.

Error in ==> imread at 282
if (strfind(filename, '://'))

4、转换为字符串

im=char(s1);

5、读取序列图像

imread(im);

 

大功告成!

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值