基于matlab的医学图像处理
图像读取(1)
1).一般图像读取
- imread指令 ——读取图像文件(BMP,GIF,PNG,JPEG,and TIFF)
- imshow指令 ——显示图像
- imwrite指令——保存图像
例:读取一张肾穿病理镜下图片,并显示图像和进行简单的图像处理。
%读取图像文件
img=imread('肾穿病理镜下图片.png');
whos img;
%显示图像和简单图像处理
I=2*img;%提高对比度
subplot(1,2,1);imshow(img);title('原始图像');
subplot(1,2,2);imshow(I);title('简单处理后的图像');
imwrite(I,'肾穿病理镜下图片1.png'); %保存图像
dir 肾穿病理镜下图片1.*;%查看保存结果
在工作空间下能看到新保存的图像,并且双击打开能显示图像。
例:彩色图像转换成灰度图像
img=imread('肾穿病理镜下图片.png');
black = rgb2gray(img);
subplot(1,2,1);imshow(img);title('原始图像');
subplot(1,2,2);imshow(black);title('灰度图像');
例:读取图像“肾穿病理镜下图片.png”,并采用subplot命令分别显示原始图像、红色分量图像、绿色分量图像、蓝色分量图像。将该图像从彩色图像转换成灰度图像,并利用subplot命令对比显示原始图像与灰度图像。
方式一:
img=imread('肾穿病理镜下图片.png');
img_r=img(:,:,1);
img_g=img(:,:,2);
img_b=img(:,:,3);
img_x=rgb2gray(img);
subplot(3,2,1);imshow(img);title('原始图像');
subplot(3,2,2);imshow(img_r);title('红色分量图像');
subplot(3,2,3);imshow(img_g);title('绿色分量图像');
subplot(3,2,4);imshow(img_b);title('蓝色分量图像');
subplot(3,2,5);imshow(img);title('原始图像');
subplot(3,2,6);imshow(img_x);title('灰度图像');
2)医学图像读取操作
图像读取-nii图像
- load_nii(‘图像的路径’)——读取nii图像的信息
- make_nii(数据变量)——创建nii数据
- save_nii(数据变量,‘存储的路径’)——保存nii数据
使用load_nii函数读取nii文件 ,结果显示错误信息。
原因:需要先下载Nifti软件包至MATLABtoobox文件夹下,这里分享下老师给的软件包。
链接: https://pan.baidu.com/s/1kAn_mlUeVIgHm-A4d1iDPg 提取码: m43t 复制这段内容后打开百度网盘手机App,操作更方便哦
具体操作步骤:主页——设置路径——添加文件夹
添加下载好的插件文件(code-for-nii),保存后退出
这时候就可以看到nii图像的数据了
例:读取nii数据,分别显示横轴位、冠状位、和矢状位的第90页(层)图像
方法一:
ni=load_nii('KKI2009-01-MPRAGE.nii');
i=ni.img; %读取文件
a=i(:,:,90);
c=i(90,:,:);
s=i(:,90,:);
sagittal=reshape(s,170,256);
coronal=reshape(c,256,256);
subplot(131),imshow(sagittal,[]);title('冠状面');
subplot(132),imshow(coronal,[]);title('失状面');
subplot(133),imshow(a,[]);title('横牰面');
方法二:
ni=load_nii('KKI2009-01-MPRAGE.nii');
view_nii(ni);
第二种方法的好处是可以随时调整想要观看的页数,更加灵活。