Practica Imagenes Biomedicas-MATLAB
Enviado por daorre1202 • 1 de Mayo de 2021 • Práctica o problema • 389 Palabras (2 Páginas) • 87 Visitas
1. Implementar un algoritmo de umbralización para obtener la estructura anatómica de interés. Para ello, se propone la realización de las siguientes tareas:
A. Realizar una umbralización manual con los umbrales de visualización utilizados en la práctica 1 para la visualización óptima de la región de interés.
De la misma manera que en la práctica anterior, usaremos estas dos líneas de código para trabajar con la imagen base que necesitemos, a la que hemos llamado en primera instancia I, y tras aplicarle una mejora, I1. Para que MATLAB las muestre, simplemente habrá que llamarlas con la función imshow(…).
I = dicomread('im1.dcm');
I1 = I*(65535/3467);
Para realizar una umbralización manual, tenemos que servirnos de una función previamente creada en MATLAB, a la que llamaremos manual, e iniciaremos con los límites inferior y superior de la imagen I.
int = manual(I, 1290, 1890);
imshow(int)
Como podemos ver, la umbralización manual no ha sido muy efectiva, ya que hay buena parte de los píxeles más claros que no capta de nuestra imagen inicial, esto se debe a que los valores del umbral seleccionado son aproximados.
B. Realizar una umbralización automática, utilizando algún método que permita el cálculo automático de umbrales a partir de la información obtenida con el histograma.
En este apartado, además de la función umbral ya usada en el anterior, tendremos que utilizar la función imagenUmbral, las cuales usaremos para hallar el umbral final para nuestra imagen. La primera imagen corresponderá a los píxeles más oscuros, como no podemos distinguir aún todos los elementos de interés, realizamos una segunda prueba cambiando el umbral, que da como resultado la segunda imagen.
vU1 = umbral(I1, min(I1(:)), max(I1(:)));
iU1 = imagenUmbral(I1, vU1, max(I1(:)));
imshow(iU1)
vU2 = umbral(I1, vU1, max(I1(:)));
iU2 = imagenUmbral(I1, vU2, max(I1(:)));
imshow(iU2)
Una vez realizadas ambas pruebas, podemos concluir que la que resulta más beneficiosa es la segunda imagen, ya que nos muestra con claridad lo que queremos apreciar, el hueso.
C. Realizar la umbralización automática, después de filtrar la imagen original con un filtro gaussiano de 5x5, con sigma=1.
Finalmente, para realizar este apartado deberemos seguir los mismos pasos que para el anterior, con la adición de que tendremos que aplicarlos a una imagen previamente modificada por el filtro Gaussiano.
Gaussiano = fspecial('Gaussian', [5 5], 1);
iGaussiana = imfilter(I, Gaussiano);
vUG1 = umbral(iGaussiana,min(iGaussiana(:)),max(iGaussiana(:)));
Gauss1 = imagenUmbral(iGaussiana, vUG1,max(iGaussiana(:)));
imshow(iGauss1)
vUG2 = umbral(iGaussiana,vUG1,max(iGaussiana(:)));
iG2 = imagenUmbral(iGaussiana, vUG2,max(iGaussiana(:)));
...