我正在尝试使用MATLAB(R2011b)打开图像文件。存储bin文件(Xeneth)的程序表示它具有数据类型“Images(16位右对齐)( .png; .csv; * .bin)”。
在MATLAB中,我正在尝试使用以下命令打开文件:
fid=fopen('pathAndFile','r');
A=fread(fid,'inf','uint16');
不幸的是,它一直说“使用fread无效精度错误”。 可以在此处找到示例文件:https://www.dropbox.com/s/d8pj1lrhjsnbmvx/mHSdark_20ms_00014.bin
有人知道可能导致问题的原因吗?
答案 0 :(得分:1)
我在Octave中有相同的错误消息,删除'inf'
解决了问题
close all; clear all;
fid = fopen('mHSdark_20ms_00014.bin');
A = fread(fid, 'uint16');
fclose(fid);
size(A)
这是执行结果
octave:5> test
ans =
20480 1
答案 1 :(得分:1)
这是因为fread
的可选大小参数是数字,而不是字符串。也就是说,代替'inf'
,适当的输入只是inf
,一个数字,而不是一个字符串。当您将字符串输入fread
时,它会认为您指定的是精度而不是大小。
但是,默认大小为inf
,这就是可以省略参数的原因。