在研究医学图像处理时,经常要读取\写入数据,这里主要总结CT图像.dat\.bin\.raw文件的MATLAB读取与写入,方便之后查看与参考
- .dat文件的读取
NPX=512;
NPY=512;
NPZ=100; %% 这里是导入图像的大小,例子是100层厚的512X512的CT图像
filepath = './data/image.dat' %%% 数据路径
fp = fopen(filepath,'rb');
data = fread(fp,NPX*NPY*NPZ,'float32'); %%% 注意数据类型,一般为float32
data = reshape(data,[NPX,NPY,NPZ]);
fclose(fp);
如果出现以下错误:
“错误使用 fread
文件标识符无效。使用 fopen 生成有效的文件标识符。”
则说明你的路径没有写对,不要怀疑代码问题,仔细查看路径及命名是否写错(100亿%)。
读取正确之后即可imshow(data(:,:,1),[])查看图像。
2. .dat文件的写入
图像处理结束后,想要把matlab中的.mat数据保存为.dat文件,方便使用其他软件如amide图像查看器查看,此时,参考一下代码写入数据:
filename = './data/image.dat'; %%% 定义路径下的文件
fid = fopen(filename, 'wb');
fwrite(fid, data, 'float32'); %%% data为需要写入的对象
fclose(fid);
同理,当要读取与保存.bin\.raw的常用文件时,将代码中的'.dat'修改即可。