以下示例代码执行以下步骤:
- 打开文件
- 确定矩阵的列数
- 读取所有二进制数为文本字符串
- 紧密的单元阵列文件
- 确定矩阵的行数
- 将二进制字符串转换为十进制并标准化
- 重塑基质所需的列和行数
function [im, width, height] = load_image(filename)
fid = fopen(filename,'r');
first_line = fgetl(fid);
width = (length(first_line)+1)/33;
frewind(fid);
data = textscan(fid, '%s');
fclose(fid);
height = size(data{1},1)/width;
im = bin2dec(data{:})/2^32;
im = reshape(im, width, height)';
例如使用:
data.dat文件
00000000000000000000000000000000 00000000000000000000000000000000 10000000000000000000000000000000
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
10000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
im = load_image('data.dat');
imshow(im);
你试过....阅读.... ....该文件? –
尝试使用'load'? – rayryeng
我不认为有一个特定的命令来做到这一点,你可能需要通过'fopen'打开文件,通过'fscanf'或'fgetl'或类似的东西读取它,然后通过'fclose'关闭它。我建议阅读一些关于我提到的功能的文档。 – Wauzl