Main Content

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

Añadir ruido a la imagen

Descripción

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

Opcionalmente, puede añadir ruido usar una GPU (requiere ).Parallel Computing Toolbox™

J = imnoise(I,'gaussian',m) añade ruido blanco gaussiano con media y varianza de 0,01.m

J = imnoise(I,'gaussian',m,var_gauss) añade ruido blanco gaussiano con media y varianza.mvar_gauss

J = imnoise(I,'localvar',var_local) añade cero media, ruido blanco gaussiano de varianza local.var_local

J = imnoise(I,'localvar',intensity_map,var_local) añade cero-media, ruido blanco gaussiano. La varianza local del ruido, , es una función de los valores de intensidad de la imagen en .var_localI El vector especifica la asignación del valor de intensidad de la imagen a la varianza de ruido.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 para obtener más información.Algoritmos

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

ejemplo

J = imnoise(I,'salt & pepper',d) añade sal y el ruido de la pimienta, donde está la densidad de ruido.d Esto afecta aproximadamente a los píxeles.d*numel(I)

J = imnoise(I,'speckle') añade ruido multiplicativo utilizando la ecuación, donde se distribuye uniformemente el ruido aleatorio con la media 0 y la varianza 0,05.J = I+n*In

J = imnoise(I,'speckle',var_speckle) añade ruido multiplicativo con varianza.var_speckle

Ejemplos

contraer todo

Lea una imagen en escala de grises y muésela.

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. Muestre el resultado.

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

Argumentos de entrada

contraer todo

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

espera valores de píxel es de tipo de datos y estar en el intervalo [0, 1].imnoisedoublesingle Puede utilizar la función para ajustar los valores de píxel al rango esperado.rescale Si la imagen es de tipo o con valores fuera del rango [0,1], recorta los valores de píxel de entrada al rango [0, 1] antes de añadir ruido.doublesingleimnoise

Nota

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

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

Media de ruido gaussiano, especificada como escalar numérico.

Variación del ruido gaussiano, especificado como escalar numérico.

Variación local del ruido gaussiano, especificada como una de las siguientes:

  • 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 gaussiana, especificada como un vector numérico. Los valores se normalizan al rango [0, 1].

Puede trazar la relación funcional entre la varianza de ruido y la intensidad de la imagen utilizando el comando .var_localplot(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 píxeles.d*numel(I)

Variación del ruido multiplicativo, especificado como escalar numérico.

Argumentos de salida

contraer todo

Imagen compleja, devuelta como una matriz numérica del mismo tipo de datos que la imagen de entrada.I Para imágenes de tipo de datos o , la función recorta los valores de píxel de salida al rango [0, 1] después de añadir ruido.doublesingleimnoise

Algoritmos

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

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

    • Si es de doble precisión, los valores de píxel de entrada se interpretan como medios de distribuciones de Poisson escaladas verticalmente por .I1e12 Por ejemplo, si un píxel de entrada tiene el valor, el píxel de salida correspondiente se generará a partir de una distribución de Poisson con una media de 5,5 y, a continuación, se reducirá en .5.5e-121e12

    • Si es de precisión única, el factor de escala utilizado es .I1e6

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

  • Para añadir ruido con densidad a una imagen, primero asigna a cada píxel un valor de probabilidad aleatoria de una distribución uniforme estándar en el intervalo abierto (0, 1).'salt & pepper'dimnoise

    • Para píxeles con valor de probabilidad en el rango (0, /2), el valor de píxel se establece en .d0 El número de píxeles que se establecen en es aproximadamente .0d*numel(I)/2

    • Para píxeles con valor de probabilidad en el intervalo [ /2, ), el valor de píxel se establece en el valor máximo del tipo de datos de imagen.dd El número de píxeles que se establecen en el valor máximo es aproximadamente .d*numel(I)/2

    • Para píxeles con valor de probabilidad en el intervalo [ , 1), el valor de píxel no cambia.d

Capacidades ampliadas

Consulte también

|

Introducido antes de R2006a