imsharpen
Mejorar la nitidez de una imagen utilizando la máscara de reducción de nitidez
Descripción
hace más nítida la imagen en escala de grises o en color verdadero (RGB) B
= imsharpen(A
)A
utilizando el método de máscara de reducción de nitidez.
utiliza argumentos de nombre-valor para controlar aspectos de la máscara de reducción de nitidez.B
= imsharpen(A
,Name,Value
)
Ejemplos
Mejorar la nitidez de una imagen
Lea una imagen en el espacio de trabajo y muéstrela.
a = imread('hestain.png'); imshow(a) title('Original Image');
Mejore la nitidez de la imagen utilizando la función imsharpen
y muéstrela.
b = imsharpen(a);
figure, imshow(b)
title('Sharpened Image');
Controlar la cantidad de aumento de nitidez en los bordes
Lea una imagen en el espacio de trabajo y muéstrela.
a = imread('rice.png'); imshow(a), title('Original Image');
Mejore la nitidez de la imagen, especificando los parámetros radius
y amount
.
b = imsharpen(a,'Radius',2,'Amount',1); figure, imshow(b) title('Sharpened Image');
Argumentos de entrada
A
— Imagen en la que se desea mejorar la nitidez
Imagen en escala de grises | Imagen RGB
Imagen en la que se desea mejorar la nitidez, especificada como una imagen en escala de grises o RGB.
Tipos de datos: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.
Ejemplo: B = imsharpen(A,Radius=1.5);
realiza la mejora de la nitidez utilizando un filtro paso bajo gaussiano con desviación estándar 1.5
.
En las versiones anteriores a la R2021a, utilice comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: B = imsharpen(A,"Radius",1.5);
Radius
— Filtro paso bajo gaussiano con desviación estándar
1
(predeterminado) | número positivo
Desviación estándar del filtro paso bajo gaussiano, especificada como número positivo. Este argumento controla el tamaño de la región alrededor de los píxeles del borde que se ve afectada por la mejora de la nitidez. Un valor grande mejora la nitidez de regiones más amplias alrededor de los bordes, mientras que un valor pequeño mejora la nitidez de regiones más estrechas alrededor de los bordes.
Ejemplo: Radius=1.5
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Amount
— Intensidad del efecto de mejora de la nitidez
0.8
(predeterminado) | número
Intensidad del efecto de mejora de la nitidez, especificada como un número. Un valor mayor conlleva un aumento mayor del contraste de los píxeles en los que se mejora la nitidez. Los valores típicos para este parámetro están dentro del intervalo [0, 2], aunque se permiten valores mayores a 2
. Los valores muy grandes para este argumento pueden crear efectos indeseables en la imagen de salida.
Ejemplo: Amount=1.2
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Threshold
— Contraste mínimo requerido para que un píxel sea considerado un píxel de borde
0
(predeterminado) | Número en el intervalo [0, 1]
Contraste mínimo requerido para que un píxel sea considerado un píxel de borde, especificado como número en el intervalo [0, 1]. Los valores más grandes (más cercanos a 1) permiten la mejora de la nitidez solo en las regiones de alto contraste, como los bordes intensos, dejando las regiones de bajo contraste sin afectar. Los valores más pequeños (más cercanos a 0) permiten además la mejora de la nitidez en las regiones relativamente más suaves de la imagen. Este argumento es útil para evitar que la mejora de la nitidez genere ruido en la imagen de salida.
Ejemplo: Threshold=0.7
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Argumentos de salida
B
— Imagen más nítida
Arreglo numérico
Imagen más nítida, devuelta como arreglo numérico del mismo tamaño y tipo de datos que la imagen de entrada, A
.
Más acerca de
Mejora de la nitidez
La nitidez es el contraste entre diferentes colores. Una rápida transición del negro al blanco se ve con nitidez. Una transición gradual del negro al gris y al blanco se ve borrosa. Mejorar la nitidez de las imágenes aumenta el contraste a lo largo de los bordes en los que confluyen diferentes colores.
Máscara de reducción de nitidez
La técnica de la máscara de reducción de nitidez procede de un proceso de la industria editorial en el que una imagen se hace más nítida sustrayendo una versión borrosa (no nítida) de la misma. No se confunda por el nombre de este filtro: un filtro de reducción de nitidez es un operador que se utiliza para mejorar la nitidez de una imagen.
Sugerencias
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
imsharpen
es compatible con la generación de código C (requiere MATLAB® Coder™). Para obtener más información, consulte Code Generation for Image Processing.
Historial de versiones
Introducido en R2013aR2022a: Operaciones de conversión del espacio de color para las imágenes RGB cambiadas
A partir de la versión R2022a, imsharpen
utiliza diferentes operaciones de conversión del espacio de color para mejorar la nitidez de las imágenes RGB. En R2021b y anteriores, la función imsharpen
realizaba las conversiones del espacio de color utilizando las funciones makecform
y applycform
. A partir de R2022a, la función imsharpen
realiza las conversiones del espacio de color utilizando las funciones rgb2lab
y lab2rgb
.
Las nuevas operaciones dan resultados diferentes para las imágenes RGB en las que se ha mejorado la nitidez. Si necesita reproducir el comportamiento anterior, puede sustituir la llamada a imsharpen
por una llamada a la función images.compatibility.imsharpen.r2021b.imsharpen
en su lugar. No es necesario cambiar los argumentos de entrada.
R2022a: Generar código C utilizando MATLAB Coder
Ahora imsharpen
es compatible con la generación de código C (requiere MATLAB Coder).
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)