*.bmp序列保存为*.raw文件[matlb实现]
生活随笔
收集整理的這篇文章主要介紹了
*.bmp序列保存为*.raw文件[matlb实现]
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.利用matlab將斷層切片圖像序列保存為Raw文件
%save *.bmps to *.raw clear all; rawName='Contours'; dirName='Contours'; files=dir(dirName); N = length(files); %文件夾中 圖片的張數(shù) '.' + '..' + 真實張數(shù) width=0; height=0; for i=1:1:NfileName=files(i).name;if ( strfind(fileName,'.bmp') ) % .dcmbmpFile = imread(['Contours\' fileName]); % 文件目錄[width,height] = size(bmpFile);break;end endpageSize=0; for i=1:1:NfileName = files(i).name;if ( strfind(fileName,'.bmp') )pageSize = pageSize + 1;end enddepth = pageSize; rawFile = int16(ones(width,height,depth)); page=1; for i=1:1:NfileName = files(i).name;if ( strfind(fileName,'.bmp') )rawFile(:,:,page)=imread(['Contours\' num2str(i-1) '.bmp']);page = page + 1;end endfid=fopen([rawName,'.raw'],'w'); fwrite(fid,rawFile,'uint16'); fclose(fid); 注意事項: 1.對于*.bmp/*.png/*.tiff/*.jpg使用imread()函數(shù)即可,對于DICOM文件應(yīng)該使用dicomread()函數(shù)。 2.讀取文件路徑要完整,可以使用[]符號。 3.一些函數(shù):- dir(name) 該函數(shù)可以用來得到name文件夾下的文件信息,返回一個struct數(shù)組
- exist(filename,’file’) 該函數(shù)可以用來檢索文件是否存在,使用時可以查看幫助來確定返回值的意義
- strfind(fileName,’.dcm’) 該函數(shù)用來在某字符串中尋找子串
2.讀取*.raw文件,并測試數(shù)據(jù)是否正確
clc;clear; fid=fopen('Contours.raw', 'r'); img=fread(fid,'uint16'); fclose(fid); for i =1:256for j = 1:256data(i,j) = img((i-1)*256+j);end end顯示一張圖像:
總結(jié)
以上是生活随笔為你收集整理的*.bmp序列保存为*.raw文件[matlb实现]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面绘制经典算法:MarchingCube
- 下一篇: KNN(K-Nearest Neighb