在matlab中用dicomread读取dicom文件后,生成一个MxN矩阵(对应图像像素个数),每个像素灰度数据是int16格式
但是bmp图像灰度是int8格式的(灰度范围0~255),所以若想把dicom图像存储为bmp图像做后续处理,需要将16位的dicom灰度数据映射为8位的灰度数据。
采用的方法即医学图像处理中常见的加窗处理。
实例代码如下:
1 img=imadjust(img_raw,[0.5;0.55],[0;1]); %调整灰度范围 2 img=double(img); %将灰度级映射到0~255 3 low=min(min(img)); 4 high=max(max(img)); 5 maxgray=high-low; %计算窗宽 6 rate=256/maxgray; 7 img=dcm(i).img*rate; 8 img=img+abs(min(min(img))); %加窗 9 img=uint8(img); %转化为8位的位图数据格式
参考文献:
请发表评论