我有一个由C ++代码段创建的.dat文件。 dat文件的格式符合以下准则:http://users.iit.demokritos.gr/~nstam/ICDAR2013HandSegmCont/Protocol.html
这是图像文件:
以下是上图中的dat文件:https://www.dropbox.com/s/q8h3psin2k67vew/color_test.dat
我可以看出,dat文件中的分段单词的存储格式与bwlabel
命令的格式相同。
但是如何将数据文件中的数据转换为Matlab中的数据以进行进一步处理?假设第一个单词标有1
,第二个单词标有2
。如何将1
转换为其他数组,将2
转换为单独的数组,依此类推。这样我可以进一步处理该数组,例如imshow
或im2bw
甚至regionprops
?
我尝试了fopen
和fread
。他们确实设法打开文件,但创建了一个包含8000多个元素的列向量。
谢谢
答案 0 :(得分:1)
我能管理的最好的是
fid = fopen('color_test.dat');
im = fread(fid);
fclose(fid);
figure, imshow (reshape (im, 935, 888 ));
figure, imshow (reshape (im, 748, 1110 ));
产生这些数字
但显然有些不对劲,你必须查看地面实况数据文件格式。
编辑:这些看起来远远不如重新接触那么痛苦。