Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

fspecial3

Crear filtro 3D predefinido

Descripción

h = fspecial3(type) crea un filtro tridimensional del archivo .htype Algunos de los tipos de filtro tienen parámetros adicionales opcionales, que se muestran en las sintaxis siguientes. devuelve como un kernel de correlación, que es la forma adecuada para usar con .fspecial3himfilter

h = fspecial3('average',hsize) devuelve un filtro de promediación de tamaño.hhsize No se recomienda. Utilícelo en su lugar.imboxfilt3

ejemplo

h = fspecial3('ellipsoid',semiaxes) devuelve un filtro de promediación elipsoidal con la longitud de los semiejes principales especificados por .semiaxes El filtro se devuelve en una matriz de tamaño .h2*ceil(semiaxes)+1

h = fspecial3('gaussian',hsize,sigma) devuelve un filtro gaussiano de paso bajo de tamaño con desviación estándar.hsizesigma No se recomienda. Utilícelo en su lugar.imgaussfilt3

h = fspecial3('laplacian',gamma1,gamma2) devuelve un filtro de 3 por 3 por 3 que aproxima la forma del operador laplaciano tridimensional. y controlar la forma del Laplacian.gamma1gamma2[1][2]

h = fspecial3('log',hsize,sigma) devuelve un filtro laplaciano de Gaussiano de tamaño con desviación estándar.hsizesigma

h = fspecial3('prewitt',direction) devuelve un filtro de 3 por 3 por 3 que enfatiza los degradados en la dirección especificada.

ejemplo

h = fspecial3('sobel',direction) devuelve un filtro de 3 por 3 por 3 que enfatiza los degradados en la dirección especificada y suaviza las otras direcciones.[3]

Ejemplos

contraer todo

Cargue un volumen de RMN en escala de grises 3D. Visualice los planos del volumen.

load mristack; montage(mristack,'BackgroundColor','w')

Cree un filtro elipsoidal 3D. Especifique una longitud de semieje de 7 píxeles en las direcciones (filas) y (columnas) y una longitud de semieje de 3 píxeles en la dirección (planos).yxz

H = fspecial3('ellipsoid',[7 7 3]);

Suaviza el volumen con el filtro.

volSmooth = imfilter(mristack,H,'replicate');

Visualice los planos del volumen suavizado.

montage(volSmooth,'BackgroundColor','w')

Cargue un volumen de RMN. Este volumen se almacena como una matriz 4D con una dimensión singleton. Cree un volumen de escala de grises 3D mediante la función para quitar la cota singleton.squeeze

load mri; V = squeeze(D);

Visualice los planos del volumen.

montage(D,'BackgroundColor','w')

Cree un filtro Sobel 3D que detecte bordes horizontales en el volumen. Los bordes horizontales aparecen donde hay una gran magnitud de degradado en la dirección, así que especifique la dirección del filtro Sobel como .y'Y' El filtro Sobel suaviza el degradado en las direcciones y.xz

H = fspecial3('sobel','Y');

Filtre el volumen con el filtro Sobel 3D.

edgesHor = imfilter(V,H,'replicate');

Mostrar los planos del volumen filtrado.

montage(edgesHor)

Argumentos de entrada

contraer todo

Tipo de filtro, especificado como uno de los siguientes valores:

Valor

Descripción

'average'

Filtro de promediación. No se recomienda. Utilícelo en su lugar.imboxfilt3

'ellipsoid'

Filtro de promediación elipsoidal

'gaussian'

Filtro gaussiano de paso bajo. No se recomienda. Utilícelo en su lugar.imgaussfilt3

'laplacian'

Aproximadamente el operador laplaciano tridimensional

'log'

Laplacian de filtro gaussiano

'prewitt'

Filtro prewitt que enfatiza el borde

'sobel'

Filtro sobel de enfatizar el borde

Tipos de datos: char | string

Tamaño del filtro, especificado como un entero positivo o un vector de 3 elementos de enteros positivos. Utilice un vector para especificar el número de filas, columnas y planos en .h Utilice un escalar para especificar la longitud lateral de un cubo.

Para los tipos y filtros, si especifica como , a continuación, crea un filtro con un tamaño predeterminado de'gaussian''log'hsize[]fspecial3 2*ceil(2*sigma)+1.

Tipos de datos: double

Longitud de semiejes de un filtro elipsoidal, especificado como un número positivo o vector de 3 elementos de números positivos. Utilice un vector para especificar la longitud de los tres semiejes principales en filas, columnas y planos. Estos valores corresponden a longitud en las direcciones cartesianas , , y, respectivamente.yxz Utilice un escalar para especificar el radio de una esfera.

Tipos de datos: double

Desviación estándar del filtro gaussiano, especificado como un número positivo o vector de 3 elementos de números positivos. Si especifica un escalar, crea un kernel gaussiano cúbico.fspecial3

Tipos de datos: double

Forma del Laplaciano, especificada como escalar en el rango [0 1]. La suma de y no debe exceder 1.gamma1gamma2

Tipos de datos: double

Dirección de degradados para el filtrado de Prewitt y Sobel, especificados como , , o .'X''Y''Z'

Tipos de datos: char | string

Argumentos de salida

contraer todo

Kernel de correlación, devuelto como una matriz numérica.

Tipos de datos: double

Referencias

[1] Lindeberg, T., Scale-Space Theory in Computer Vision. Boston, MA: Kluwer Academic Publishers, 1994.

[2] Geometry-Driven Diffusion in Computer Vision. Edited by B. M. ter Haar Romeny. Boston, MA: Kluwer Academic Publishers, 1994.

[3] Engel, K., M. Hadwiger, J. M. Kniss, C. Rezk-Salama, and D. Weiskopf. Real-Time Volume Graphics. Wellesley, MA: A K Peters, Ltd., 2006, pp. 112–114.

Capacidades ampliadas

Introducido en R2018b