Matlab读取与写入医学图像(.dat\.bin\.raw)

在研究医学图像处理时,经常要读取\写入数据,这里主要总结CT图像.dat\.bin\.raw文件的MATLAB读取与写入,方便之后查看与参考

  1. .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'修改即可。

你可能感兴趣的:(Matlab读取与写入医学图像(.dat\.bin\.raw))