matlab textscan读结构化.txt文件

这篇博客介绍了如何在MATLAB中使用textscan函数读取COCO数据集的ID映射文件,将sampleID映射到对应的imagename,以便进行图像读取操作。代码示例展示了如何解析文件并提取所需信息,最终得到sampleID、imageID和imagename的大小,并展示了一个具体的例子。

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

要用 matlab 读之前处理的 COCO 的 ID map[1],将 sample ID 映射去 image name,用来读图片。ID map 文件每一行的形如:

0 9 000000000009.jpg

空格间开,第一列是 sample ID,第二列是原本的 image ID,即第三列 image name 中的 ID。

textscan[2] 函数,其中格式控制符见 [3]。

Code

id_map_file = fullfile("data/COCO", "id-map.COCO.txt");

f = fopen(id_map_file, "r");
% <sample ID> <image ID> <image name>
id_map = textscan(f, "%d %d %s");
fclose(f);

% 读出的 cell 中对应三列
fprintf("cell shape:"), disp(size(id_map));  % (1, 3)
sid = id_map{1};
image_id = id_map{2};
image_name = id_map{3};

fprintf("id:"), disp(size(sid));  % (123287, 1)
fprintf("image id:"), disp(size(image_id));  % (123287, 1)
fprintf("image name:"), disp(size(image_name));  % (123287, 1)

% sid、image_id 是 int,用 `(i)` 索引
% image_name 是 str,用 `{i}` 索引
fprintf("id: %d, image id: %d, image name: %s\n", sid(1), image_id(1), image_name{1});
% 输出:id: 0, image id: 9, image name: 000000000009.jpg

References

  1. MS COCO 2017数据集预处理
  2. textscan
  3. formatSpec — Format of the data fields
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值