如何从txt文件中读取特定的单词和数字并将其保存在矩阵中

gladys0313

我正在执行对象检测,并想从7481个文本文件中生成地面真相.mat文件。这些文件的内容均采用以下格式:

car 0.00 0 -1.82 804.97 167.34 995.43 327.94 1.63 1.48 2.37 3.23 1.59 8.55 -1.47   
misc 0.00 5 2.35 254.24 -2 305.25 7.6 4.58 5.35 2.35 1.35 2.35 3.36 1.56  
bicycle 0.00 1 2 3 1 2.3 4.25 3.1 2 1 2.4 1.25 46.5 1.54  
don't know 0.00 2.21 5.32 1.23 5.25 9.46 4.35 1.25 5 1 3 2 4 1.54

也就是说,在每个文本文件中,都有几行(不同文件中的行数是不同的),并且在每一行中,第一个术语是类型(car / misc / people / van / no ...)。 ),紧随其后的是由空格分隔符分隔的14个双精度数字。我想做以下事情:

  1. 检查类型是否为car / van / misc / tram
  2. 如果类型是其中之一,则在以下14个数字中,分别选择第4、5、6、7和14个数字,然后将它们保存在矩阵中
  3. 对文件夹中的所有文本文件重复1和2,然后生成一个包含地面真实信息的mat文件

现在我的代码就像:

clc;
clear all;
DetDir = '/scratch/yangj/project/car_dataset/training/label/';
F = dir([DetDir,'/*.txt']);
for frameNum = 1:7481

detFile = [DetDir,F(frameNum).name]; 

fid = fopen(detFile);

while 1
tline = fgetl(fid);
if ~ischar(tline), break, end
str = tline;

end
fclose (fid);

end

我认为我应该在while循环中进行类型检查和数字提取,但是我不知道如何编写代码来实现我的目标。

你能帮我吗?

我自己和我

如果您的定界符是一个空格,那么该don't know语句就很烦人了。.我建议首先使用此好函数(Perl)来解决此问题,该函数replaceinfile可以将更don't know改为example don't_know

如果这是固定的,则应该可以进行以下操作:

N = numel(F);
C = cell(N,1);
for idx = 1:N

    % get the data
    fid = fopen([DetDir F(idx).name]);
    data = textscan(fid,'%s %f %f %f %f %f %f %f %f %f %f %f %f %f %f');
    fclose(fid);

    % combine all numeric data 
    M = horzcat(data{2:end});

    % check for a string match
    b = cellfun(@(type) strcmp(data{1}, type), {'car','van','misc','tram'}, 'uni', 0);

    % keep only the interesting part of the numeric data
    C{idx} = M(any(horzcat(b{:}),2),[4 5 6 7 14]);
end

% combine and save
gt = vertcat(C{:});
save('gt.mat', 'gt');

如果您不更改don't know文件中语句,则该代码实际上仍将运行,但是(通常)不会生成所需的gt矩阵。


要回答有关添加其他内容的问题:

构建完成后M,只需添加:

M(:,end+1) = M(:,6)-M(:,4); % this becomes the 15-th value

包括文件号是通过更改C{idx} = M(any(horzcat(b{:}),2),[4 5 6 7 14]);

fnr = (idx-1) * ones(sum(sum(horzcat(b{:}),2)),1);
C{idx} = [fnr M(any(horzcat(b{:}),2),[4 5 7 14 15])];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从txt文件中读取特定的单词和数字并将其保存在矩阵中

来自分类Dev

如何读取保存在.json文件中的矩阵并将其转换为Java中的数组

来自分类Dev

如何读取txt文件并将其保存在HTML中的javascript中的数组中

来自分类Dev

读取文本文件并将其保存在基于Matlab Matlab的多个矩阵中

来自分类Dev

从txt文件中读取数字矩阵

来自分类Dev

从txt文件中查找相似的数字,并将匹配的编号行保存在不同的txt中

来自分类Dev

如何删除txt文件(Java)中的单词/行并将其替换为新单词/行?

来自分类Dev

读取.txt文件中的特定单词

来自分类Dev

如何从txt文件中读取数字并确保它们存在

来自分类Dev

如何从文件中读取数据并将其存储到矩阵中

来自分类Dev

如何读取文件并将其内容存储在 C 中的矩阵中?

来自分类Dev

从txt文件读取变量并将其保存为数组C ++到类对象中

来自分类Dev

从文件中读取矩阵,并将其提供给main

来自分类Dev

从文件中读取单词,并将其作为char指针返回

来自分类Dev

如何将数组中的数字“加倍”并将其保存在新数组中

来自分类Dev

在文件中查找特定单词,获取行的内容,然后将其保存在数组中

来自分类Dev

如何从Rust中的txt文件读取矩阵?

来自分类Dev

如何从Rust中的txt文件读取矩阵?

来自分类Dev

如何依次读取两个txt文件并将其写入python中的新文件?

来自分类Dev

从txt文件读取整数并将其存储到数组中

来自分类Dev

打印时间并将其保存在C中的文件中

来自分类Dev

如何使用 Java 从 XML 读取值并将其保存在 Hashmap 中

来自分类Dev

使用 php 读取多个 .txt 文件并将主题保存在一个简单的数组中

来自分类Dev

如何读取文件中的特定行并将其插入python中的字典中?

来自分类Dev

如何编写一种将数字加起来并将其保存在C ++中的方法

来自分类Dev

如何从输出中获取特定行并将其保存在一个变量中?

来自分类Dev

扫描图像并将其保存在特定的文件夹中

来自分类Dev

读取文件夹中的所有xml文件并将其保存在数据表中

来自分类Dev

如何从带有分隔符的txt文件中读取文件,并将其写回新的txt文件

Related 相关文章

  1. 1

    如何从txt文件中读取特定的单词和数字并将其保存在矩阵中

  2. 2

    如何读取保存在.json文件中的矩阵并将其转换为Java中的数组

  3. 3

    如何读取txt文件并将其保存在HTML中的javascript中的数组中

  4. 4

    读取文本文件并将其保存在基于Matlab Matlab的多个矩阵中

  5. 5

    从txt文件中读取数字矩阵

  6. 6

    从txt文件中查找相似的数字,并将匹配的编号行保存在不同的txt中

  7. 7

    如何删除txt文件(Java)中的单词/行并将其替换为新单词/行?

  8. 8

    读取.txt文件中的特定单词

  9. 9

    如何从txt文件中读取数字并确保它们存在

  10. 10

    如何从文件中读取数据并将其存储到矩阵中

  11. 11

    如何读取文件并将其内容存储在 C 中的矩阵中?

  12. 12

    从txt文件读取变量并将其保存为数组C ++到类对象中

  13. 13

    从文件中读取矩阵,并将其提供给main

  14. 14

    从文件中读取单词,并将其作为char指针返回

  15. 15

    如何将数组中的数字“加倍”并将其保存在新数组中

  16. 16

    在文件中查找特定单词,获取行的内容,然后将其保存在数组中

  17. 17

    如何从Rust中的txt文件读取矩阵?

  18. 18

    如何从Rust中的txt文件读取矩阵?

  19. 19

    如何依次读取两个txt文件并将其写入python中的新文件?

  20. 20

    从txt文件读取整数并将其存储到数组中

  21. 21

    打印时间并将其保存在C中的文件中

  22. 22

    如何使用 Java 从 XML 读取值并将其保存在 Hashmap 中

  23. 23

    使用 php 读取多个 .txt 文件并将主题保存在一个简单的数组中

  24. 24

    如何读取文件中的特定行并将其插入python中的字典中?

  25. 25

    如何编写一种将数字加起来并将其保存在C ++中的方法

  26. 26

    如何从输出中获取特定行并将其保存在一个变量中?

  27. 27

    扫描图像并将其保存在特定的文件夹中

  28. 28

    读取文件夹中的所有xml文件并将其保存在数据表中

  29. 29

    如何从带有分隔符的txt文件中读取文件,并将其写回新的txt文件

热门标签

归档