mat2gray
Convertir una matriz en una imagen en escala de grises
Descripción
convierte la matriz I
= mat2gray(A
,[amin amax]
)A
en una imagen en escala de grises I
que contiene valores en el intervalo 0 (negro) a 1 (blanco). amin
y amax
son los valores de A
que corresponden a 0 y 1 en I
. Los valores inferiores a amin
se acortan a 0, y los valores superiores a amax
se acortan a 1.
Ejemplos
Convertir una matriz en una imagen
Lea una imagen y muéstrela.
I = imread('rice.png');
figure
imshow(I)
Realice una operación que devuelva una matriz numérica. Esta operación busca los bordes de la imagen.
J = filter2(fspecial('sobel'),I);
min_matrix = min(J(:))
min_matrix = -779
max_matrix = max(J(:))
max_matrix = 560
Tenga en cuenta que la matriz tiene un tipo de datos double
con valores que se sitúan fuera del intervalo [0,1], incluidos valores negativos.
Muestre el resultado de la operación. Como el intervalo de datos de la matriz está fuera del intervalo de visualización por defecto de imshow
, cada píxel con un valor positivo se muestra como blanco, y cada píxel con un valor negativo o cero se muestra como negro. Resulta difícil ver los bordes de los granos de arroz.
figure imshow(J)
Convierta la matriz en una imagen. Muestre los valores máximos y mínimos de la imagen.
K = mat2gray(J); min_image = min(K(:))
min_image = 0
max_image = max(K(:))
max_image = 1
Tenga en cuenta que los valores siguen siendo de tipo de datos double
, pero que todos los valores están en el intervalo [0, 1].
Muestre el resultado de la conversión. Los píxeles muestran una gama de colores en escala de grises, lo que hace más evidente la ubicación de los bordes.
figure imshow(K)
Argumentos de entrada
A
— Imagen de entrada
Matriz numérica
Imagen de entrada, especificada como matriz numérica.
[amin amax]
— Valores de entrada en blanco y negro
Vector numérico de 2 elementos
Valores de entrada en blanco y negro, especificados como vector numérico de 2 elementos.
Argumentos de salida
I
— Imagen de intensidad de salida
Matriz numérica
Imagen de intensidad de salida, devuelta como matriz numérica con valores en el intervalo [0, 1].
Tipos de datos: double
Capacidades ampliadas
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con los entornos basados en hilos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos de GPU. Para obtener más información, consulte Procesamiento de imágenes en una GPU.
Historial de versiones
Introducido antes de R2006aR2022a: Generar código CUDA utilizando GPU Coder
Ahora mat2gray
es compatible con la generación de código optimizado CUDA® (requiere GPU Coder™).
R2021b: Compatibilidad con entornos basados en hilos
Ahora mat2gray
es compatible con los entornos basados en hilos.
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)