如何从.dat文件中读取分段数据?

时间:2014-03-07 12:35:44

标签: arrays matlab image-processing image-segmentation

我有一个由C ++代码段创建的.dat文件。 dat文件的格式符合以下准则:http://users.iit.demokritos.gr/~nstam/ICDAR2013HandSegmCont/Protocol.html

这是图像文件:

enter image description here

以下是上图中的dat文件:https://www.dropbox.com/s/q8h3psin2k67vew/color_test.dat

我可以看出,dat文件中的分段单词的存储格式与bwlabel命令的格式相同。

但是如何将数据文件中的数据转换为Matlab中的数据以进行进一步处理?假设第一个单词标有1,第二个单词标有2。如何将1转换为其他数组,将2转换为单独的数组,依此类推。这样我可以进一步处理该数组,例如imshowim2bw甚至regionprops

我尝试了fopenfread。他们确实设法打开文件,但创建了一个包含8000多个元素的列向量。

谢谢

1 个答案:

答案 0 :(得分:1)

我能管理的最好的是

fid = fopen('color_test.dat');
im = fread(fid);
fclose(fid);

figure, imshow (reshape (im, 935, 888 ));
figure, imshow (reshape (im, 748, 1110 ));

产生这些数字

enter image description here enter image description here

但显然有些不对劲,你必须查看地面实况数据文件格式。

编辑:这些看起来远远不如重新接触那么痛苦。