matlab - 如何加载文本文件并存储到数据结构中

标签 matlab text text-parsing

我有一个“文本”文件,其内容如下:

012abc3cb7503bddef3ff59e0e52fd79.jpg 160.073318 18.588472 14.246923 8.054444 6.600504 6.261390 5.838249 4.447019 3.639888 3. 357715 2.996645 2.910991 2.574769 2.527163 2.343448 2.264113 2.176161 2.088773 1.915582 1.902159 1.836033 1.725432 1.667595 1 .633245 1.557424 1.542059 1.434280 1.430181 1.321047 1.302652 1.272890 1.261313 1.188892 1.138115 1.114376 1.070352 1.044311 1.025954 0.993622 0.988920 0.969866 0.933977 0.931669 0.913624 0.882856 0.876036 0.840088 0.822686 0.814072 0.787075 0.781157 0.778171 0.763771 0.748851 0.7409 75 0.708208 0.691589 0.688566 0.664124 0.659779 0.644820 0.623200 0.614799 0.607180 0.590615 0.578751 0.57........................

每一行代表一个图像(实例),第一列是图像名称,其余 240 列是图像的特征向量。

如何在 MATLAB 中加载此文件并将图像名称存储到“names”变量中,并将 240 个值存储到“histogram”变量中?

最佳答案

您也许可以使用 textscanrepmat 来完成此操作,这样就可以避免字符串转换:

Nfeatures = 240;
fid = fopen('text.txt');
format = ['%s ' repmat('%f', [1 Nfeatures])];
imageFeatureCell = textscan(fid, format, 'CollectOutput', true);
fclose(fid);

对 7 行文件进行测试:

>> fileData
fileData = 
    {7x1 cell}    [7x240 double]

进入您想要的变量:

names = fileData{1};      % names{1} contains first file name, etc.
histogram = fileData{2};  % histogram(1,:) contains first file's features

关于matlab - 如何加载文本文件并存储到数据结构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234568/

相关文章:

c# - 如何将具有十六进制代码序列的文本文件转换为字节数组?

Python 3 - 从文本文件中逐行读取并为每一行执行操作

matlab - 绘制大量数据时如何减小打印的 eps 的大小

python - 从 txt 文件中读取列表中的数字,但最多只能是逗号

Matlab神经网络错误: Input 1 size does not match net. inputs{1}.size

Python:在巨大的文本中替换单词

matlab - 将多边形的一组点压缩成一组较短的点

wpf - 如何在文本框中显示多个带颜色下划线的文本

c - 如何从 .t​​ext 文件中查找最小值和最大值

java - 使用正则表达式解析数组语法