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.

imnoise

Agregar ruido a la imagen

Sintaxis

J = imnoise(I,'gaussian')
J = imnoise(I,'gaussian',m)
J = imnoise(I,'gaussian',m,var_gauss)
J = imnoise(I,'localvar',var_local)
J = imnoise(I,'localvar',intensity_map,var_local)
J = imnoise(I,'poisson')
J = imnoise(I,'salt & pepper')
J = imnoise(I,'salt & pepper',d)
J = imnoise(I,'speckle')
J = imnoise(I,'speckle',var_speckle)
gpuarrayJ = imnoise(gpuarrayI,___)

Descripción

J = imnoise(I,'gaussian') añade ruido blanco cero, gauss con varianza de 0,01 a la imagen en escala de grises I.

J = imnoise(I,'gaussian',m) agrega el ruido blanco de Gauss con el m medio y la variación de 0,01.

J = imnoise(I,'gaussian',m,var_gauss) agrega el ruido blanco de Gauss con el m medio y la variación var_gauss.

J = imnoise(I,'localvar',var_local) agrega cero-medio, ruido blanco de Gauss de la variación local var_local.

J = imnoise(I,'localvar',intensity_map,var_local) agrega cero-medio, ruido blanco de Gauss. La variación local del ruido, var_local, es una función de los valores de la intensidad de la imagen en I. El mapeo del valor de intensidad de imagen a la varianza de ruido es especificado por el vector intensity_map.

J = imnoise(I,'poisson') genera ruido de Poisson a partir de los datos en lugar de añadir ruido artificial a los datos. Consulte Algoritmos para obtener más información.

J = imnoise(I,'salt & pepper') agrega ruido de sal y pimienta, con densidad de ruido predeterminada 0,05. Esto afecta aproximadamente al 5% de los píxeles.

ejemplo

J = imnoise(I,'salt & pepper',d) agrega el ruido de la sal y de la pimienta, donde d es la densidad del ruido. Esto afecta aproximadamente d*numel(I) píxeles.

J = imnoise(I,'speckle') agrega ruido multiplicativo mediante la ecuación J = I+n*I, donde n es un ruido aleatorio distribuido uniformemente con media 0 y varianza 0,04.

J = imnoise(I,'speckle',var_speckle) agrega ruido multiplicativo con varianza var_speckle.

gpuarrayJ = imnoise(gpuarrayI,___) agrega ruido a la imagen de intensidad de gpuArray gpuarrayI, realizando la operación en una GPU. Esta sintaxis requiere el Parallel Computing Toolbox™.

Ejemplos

Agregar ruido a una imagen

Leer una imagen en escala de grises y mostrarla.

I = imread('eight.tif'); imshow(I)

Añadir el ruido de sal y pimienta, con una densidad de ruido de 0,02, a la imagen. Mostrar el resultado.

J = imnoise(I,'salt & pepper',0.02); imshow(J)

Agregar ruido a una imagen que realiza la operación en una GPU

I = gpuArray(imread('eight.tif')); J = imnoise(I,'salt & pepper', 0.02);  figure, imshow(I); figure, imshow(J);

Argumentos de entrada

contraer todo

Imagen en escala de grises, especificada como matriz numérica. Si I tiene más de dos dimensiones, se trata como una imagen de intensidad multidimensional y no como una imagen RGB.

Nota

Para el ruido de Poisson, no se permiten imágenes de tipo de datos int16 .

Tipos de datos: single | double | int16 | uint8 | uint16

Medio de ruido de Gauss, especificado como escalar numérico.

Variación del ruido de Gauss, especificada como escalar numérico.

Variación local del ruido de Gauss, especificada como uno de los siguientes:

  • Una matriz numérica del mismo tamaño que I.

  • Un vector numérico de la misma longitud de intensity_map.

Valores de intensidad que se asignan a la varianza de ruido de Gauss, especificada como un vector numérico. Los valores se normalizan al rango [0,1].

Puede trazar la relación funcional entre la variación de ruido var_local y la intensidad de la imagen mediante el comando plot(intensity_map,var_local).

Densidad de ruido para el ruido de sal y pimienta, especificada como escalar numérico. El ruido se aplica a aproximadamente d*numel(I) píxeles.

Varianza del ruido multiplicativo, especificada como escalar numérico.

Imagen en escala de grises cuando se ejecuta en una GPU, especificada como gpuArray. Para obtener más información acerca de los elementos de la matriz, consulte I.

Argumentos de salida

contraer todo

Imagen ruidosa, devuelta como una matriz numérica del mismo tipo de datos que la imagen de entrada I.

Imagen ruidosa cuando se ejecuta en una GPU, especificada como un gpuArray. Para obtener más información acerca de los elementos de la matriz, consulte J.

Algoritmos

  • Los parámetros media y varianza para los tipos de ruido 'gaussian', 'localvar'y 'speckle' se especifican siempre como si la imagen fuera de clase double en el intervalo [0,1]. Si la imagen de entrada es una clase diferente, la función imnoise convierte la imagen en double, agrega ruido según el tipo y los parámetros especificados y, a continuación, convierte la imagen ruidosa en la misma clase que la entrada.

  • La distribución Poisson depende del tipo de datos de la imagen de entrada I:

    • Si I es doble precisión, los valores de los píxeles de entrada se interpretan como medios de las distribuciones de Poisson escaladas por 1e12. Por ejemplo, si un píxel de entrada tiene el valor 5.5e-12, el píxel de salida correspondiente se generará a partir de una distribución de Poisson con media de 5,5 y luego se escalará hacia abajo por 1e12.

    • Si I es de precisión única, el factor de escala utilizado es 1e6.

    • Si I es uint8 o uint16, los valores de los píxeles de entrada se utilizan directamente sin escalar. Por ejemplo, si un píxel de una entrada uint8 tiene el valor 10, el píxel de salida correspondiente se generará a partir de una distribución de Poisson con media 10.

Consulte también

| |

Introducido antes de R2006a