📜  MATLAB 中的 MRI 图像分割

📅  最后修改于: 2022-05-13 01:55:29.572000             🧑  作者: Mango

MATLAB 中的 MRI 图像分割

在数字图像处理领域,有时我们需要将主要物体从图像中分离出来以便清晰观察。图像分割是启用此分区的过程。在这种方法中,每个像素都被分配了一个标签,并且共享某些特征的像素被分配了相同的标签编号。该技术广泛用于医学领域以定位感兴趣的对象。

它是一种将数字图像分割成多个片段的技术。该过程广泛用于医学诊断。在本文中,我们使用形态学操作从 MRI 图像中分割出大脑部分。进行分割是为了便于对分割后的图像进行分析。

什么是医学影像?

该术语是指医疗专业人员用来观察人体内部以进行诊断、监测和治疗的技术。现代科学时代有各种可用的技术。

  • MRI:磁共振成像
  • CT扫描:计算机断层扫描
  • X 射线:使用称为 X 射线的电磁波。
  • 超声波:使用声波创建身体内部组织的图像。它不使用任何辐射。

图像分割的类型:

存在多种类型的图像分割。

  • 阈值分割
  • 基于边缘的分割
  • 基于区域的分割
  • 流域分割

在本文中,我们致力于分离 MRI 图像的大脑部分。

使用的形态学操作:

  • 开放:它将小的白色部分或一堆明亮的像素转换为黑暗的部分,而不改变较大的黑暗部分的大小。
  • 关闭:它将小的黑色部分或一堆暗像素转换为明亮的部分,而不改变较大的白色部分的大小。

使用的函数:

  • imread( ) 内置函数用于读取图像。
  • imtool( ) 内置函数用于显示图像。
  • graythresh( ) 内置函数用于计算将灰度图像转换为二进制的 Ostu 阈值。
  • im2bw( ) 内置函数用于将灰度图像转换为二进制。
  • strel( ) 内置函数用于定义结构元素。
  • imopen( ) 内置函数用于应用开放形态学运算。
  • bwlabel( ) 内置函数用于将标签分配给图像的每个像素。
  • imclose( ) 内置函数用于应用闭合形态操作。
  • double( ) 内置函数用于将 unit8 对象转换为双精度格式。

脚步:

  • 阅读 MRI 图像。
  • 将其转换为二进制。
  • 应用打开操作。
  • 应用连通分量分析。
  • 识别大脑部分并将其分离出来。
  • 在中间步骤中显示不同的图像。

例子:

Matlab
% MATLAB code for 
% Separate the brain part from MRI image.
  
% read the mri image.
k=imread("mrii.jpg");
  
% display the image.
imtool(k,[]);
  
% convert it into binary image.
k1=im2bw(k,graythresh(k));
  
% display the binary image.
imtool(k1);
  
% Make the brain largest connected component.
% We need to apply opening operation.
% define the structuring element.
SE=strel('disk',7,4);
  
% apply the opening operation.
k2=imopen(k1,SE); 
  
% display the image now.
imtool(k2);
  
% apply connected component analysis.
b=bwlabel(k2);
  
% display the colored map image.
imtool(b,[]);
  
% brain is component labeled as 9.
% set all other component as 0 except brain.
b(b~=9)=0;
  
% display the brain part.
imtool(b); 
  
% inside the brain part, black portion is there.
% close the black pixels inside brain part.
k3=imclose(b,strel('disk',18)); 
  
% display the brain part.
imtool(k3);
  
% extract the brain from original image.
k4=k3.*double(k);
  
% display the real brain from original image.
imtool(k4,[]);


输出:

图 1:原始图像

图 2:二值图像

图3:申请后打开

图 4:ColorMap 图像

图 5:最大连接组件

图 6: 应用后关闭大脑部分

图 7:从原始图像中提取的大脑

代码说明:

  • k=imread(“mrii.jpg”);此行读取 mri 图像
  • k1=im2bw(k,graythresh(k));此行将图像转换为二进制图像
  • SE=strel('磁盘',7,4);这一行定义了结构元素。
  • k2=imopen(k1,SE);这条线应用了打开操作
  • b=bwlabel(k2);此行应用连通分量分析
  • b(b~=9)=0;此行将所有其他组件设置为 0,除了大脑,因为大脑被标记为 9。
  • k3=imclose(b,strel('磁盘',18));这条线关闭了大脑部分内部的黑色像素,因为在大脑部分内部,黑色部分就在那里。
  • k4=k3.*双(k);这条线从原始图像中提取大脑