*.bmp序列保存为*.raw文件[matlb实现]
2017-05-12 13:44
525 查看
1.利用matlab将断层切片图像序列保存为Raw文件
%save *.bmps to *.raw clear all; rawName='Contours'; dirName='Contours'; files=dir(dirName); N = length(files); %文件夹中 图片的张数 '.' + '..' + 真实张数 width=0; height=0; for i=1:1:N fileName=files(i).name; if ( strfind(fileName,'.bmp') ) % .dcm bmpFile = imread(['Contours\' fileName]); % 文件目录 [width,height] = size(bmpFile); break; end end pageSize=0; for i=1:1:N fileName = files(i).name; if ( strfind(fileName,'.bmp') ) pageSize = pageSize + 1; end end depth = pageSize; rawFile = int16(ones(width,height,depth)); page=1; for i=1:1:N fileName = files(i).name; if ( strfind(fileName,'.bmp') ) rawFile(:,:,page)=imread(['Contours\' num2str(i-1) '.bmp']); page = page + 1; end end fid=fopen([rawName,'.raw'],'w'); fwrite(fid,rawFile,'uint16'); fclose(fid);注意事项:
1.对于*.bmp/*.png/*.tiff/*.jpg使用imread()函数即可,对于DICOM文件应该使用dicomread()函数。
2.读取文件路径要完整,可以使用[]符号。
3.一些函数:
dir(name) 该函数可以用来得到name文件夹下的文件信息,返回一个struct数组
exist(filename,’file’) 该函数可以用来检索文件是否存在,使用时可以查看帮助来确定返回值的意义
strfind(fileName,’.dcm’)
该函数用来在某字符串中寻找子串
2.读取*.raw文件,并测试数据是否正确
clc;clear;
fid=fopen('Contours.raw', 'r');
img=fread(fid,'uint16');
fclose(fid);
for i =1:256
for j = 1:256
data(i,j) = img((i-1)*256+j);
end
end显示一张图像:
相关文章推荐
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现
- C++读取与保存bmp图片文件编程实现
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现
- CBitmap保存为Bmp文件 VC++ MFC实现
- WinCE实现屏幕截图并保存为BMP文件
- C++读取、旋转和保存bmp图像文件编程实现
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现
- C++读取、旋转和保存bmp图像文件编程实现
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现(转载)
- C++读取、旋转和保存bmp图像文件编程实现
- 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现
- C++读取、旋转和保存bmp图像文件编程实现
- 如何实现WinCE截屏并保存为BMP文件
- Java实现任意文件在bmp中的隐藏与导出
- java实现从RUI获取文件并保存本地(实用方法)
- ReSaveRemoteFile函数之asp实现查找文件保存替换的代码
- Java实现任意文件在bmp中的隐藏与导出
- ASP实现网页打开任何类型文件都提示保存的方法附代码
- 如何将位图对象保存为BMP文件
- bmp文件MFC中翻转、保存和解析代码