Segmentación de imágenes de resonancia magnética en MATLAB

En el dominio del procesamiento de imágenes digitales, a veces necesitamos separar el objeto principal de la imagen para una observación clara. La segmentación de imágenes es el proceso que permite esta partición. En este método, a cada píxel se le asigna una etiqueta y a los píxeles que comparten algunas características se les asigna el mismo número de etiqueta. Esta técnica es muy utilizada en el ámbito médico para localizar el objeto de interés.

Es una técnica para dividir una imagen digital en múltiples segmentos. Este proceso es ampliamente utilizado en el diagnóstico médico. Aquí, en este artículo, hemos utilizado operaciones morfológicas para segmentar la parte del cerebro de la imagen de resonancia magnética. La segmentación se realiza con el fin de facilitar el análisis de las imágenes segmentadas. 

¿Qué es la imagenología médica?

Este término se refiere a la técnica que utilizan los profesionales médicos para observar el interior del cuerpo humano con el fin de diagnosticar, controlar y tratar. Hay varias técnicas disponibles en la era científica moderna.

  • MRI: Imágenes por resonancia magnética
  • Tomografía computarizada : tomografía computarizada
  • Rayos X: Uso de ondas electromagnéticas llamadas rayos X.
  • Ultrasonido: usa ondas de sonido para crear imágenes de los tejidos internos del cuerpo. No utiliza ninguna radiación.

Tipos de segmentaciones de imágenes:

Existen muchos tipos de segmentación de imágenes. 

  • Segmentación de umbral
  • Segmentación basada en bordes
  • Segmentación basada en regiones
  • Segmentación de cuencas hidrográficas

En este artículo, estamos trabajando en separar la parte del cerebro de la imagen de resonancia magnética. 

Operaciones morfológicas utilizadas: 

  • Abierto: convierte pequeñas porciones blancas o un montón de píxeles brillantes en porciones oscuras sin cambiar el tamaño de una porción oscura más grande.
  • Cerrar: convierte pequeñas porciones negras o un montón de píxeles oscuros en porciones brillantes sin cambiar el tamaño de la porción blanca más grande.
     

Función utilizada:

  • La función incorporada imread() se usa para leer la imagen.
  • La función incorporada imtool() se usa para mostrar la imagen.
  • La función incorporada graythresh( ) se utiliza para calcular el umbral de Ostu para convertir imágenes en escala de grises en binarias.
  • La función incorporada im2bw() se utiliza para convertir imágenes en escala de grises en binarias.
  • La función incorporada strel() se usa para definir el elemento de estructuración.
  • La función incorporada imopen() se usa para aplicar la operación morfológica de apertura.
  • La función incorporada bwlabel( ) se usa para asignar la etiqueta a cada píxel de la imagen.
  • La función incorporada imclose() se usa para aplicar la operación morfológica de cierre.
  • La función incorporada double() se usa para convertir el objeto unit8 en formato doble.

Pasos:

  • Lea la imagen de resonancia magnética.
  • Conviértelo en binario.
  • Aplicar operación de apertura.
  • Aplicar el análisis de componentes conectados.
  • Identifique la parte del cerebro y sepárela.
  • Muestra diferentes imágenes en pasos intermedios.

Ejemplo:

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,[]);

Producción:

Figura 1: Imagen original

Figura 2: imagen binaria

Figura 3:Después de aplicar para abrir

Figura 4:Imagen del mapa de colores

Figura 5: componente conectado más grande

Figura 6: Después de aplicar para cerrar en la parte del cerebro

Figura 7: Cerebro extraído de la imagen original

Explicación del código:

  • k=imread(“mrii.jpg”); esta línea lee la imagen de resonancia magnética
  • k1=im2bw(k,umbral gris(k)); esta línea convierte la imagen en imagen binaria
  • SE=strel(‘disco’,7,4); esta línea define el elemento estructurante.
  • k2=imopen(k1,SE); esta línea aplica la operación de apertura
  • b=bwetiqueta(k2); esta línea aplica el análisis de componentes conectados
  • b(b~=9)=0; esta línea establece todos los demás componentes como 0 excepto el cerebro, ya que el cerebro está etiquetado como 9.
  • k3=imclose(b,strel(‘disco’,18)); esta línea cierra los píxeles negros dentro de la parte del cerebro para Dentro de la parte del cerebro, la parte negra está ahí.
  • k4=k3.*doble(k); esta línea extrae el cerebro de la imagen original

 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *