imnoise

Добавьте шум, чтобы отобразить

Синтаксис

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)

Описание

J = imnoise(I,'gaussian') добавляют нулевое среднее значение, Гауссов белый шум с отклонением 0,01 к полутоновому изображению I.

Опционально можно добавить, шум с помощью графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.

J = imnoise(I,'gaussian',m) добавляет Гауссов белый шум со средним m и отклонением 0,01.

J = imnoise(I,'gaussian',m,var_gauss) добавляет Гауссов белый шум со средним m и отклонением var_gauss.

J = imnoise(I,'localvar',var_local) добавляют нулевое среднее значение, Гауссов белый шум локального отклонения var_local.

J = imnoise(I,'localvar',intensity_map,var_local) добавляет нулевое среднее значение, Гауссов белый шум. Локальное отклонение шума, var_local, является функцией значений интенсивности изображений в I. Отображение значения интенсивности изображений к шумовому отклонению задано векторным intensity_map.

J = imnoise(I,'poisson') генерирует Пуассоновский шум от данных вместо того, чтобы добавить искусственный шум в данные. См. Алгоритмы для получения дополнительной информации.

J = imnoise(I,'salt & pepper') добавляет шум соли и перца с шумовой плотностью по умолчанию 0.05. Это влияет приблизительно на 5% пикселей.

пример

J = imnoise(I,'salt & pepper',d) добавляет шум соли и перца, где d является шумовой плотностью. Это влияет приблизительно на пиксели d*numel(I).

J = imnoise(I,'speckle') добавляет мультипликативный шум с помощью уравнения J = I+n*I, где n является равномерно распределенным случайным шумом со средним значением 0 и отклонением 0.05.

J = imnoise(I,'speckle',var_speckle) добавляет мультипликативный шум с отклонением var_speckle.

Примеры

свернуть все

Считайте полутоновое изображение и отобразите его.

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

Добавьте соль и перечный шум, с шумовой плотностью 0,02, к изображению. Отобразите результат.

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

Входные параметры

свернуть все

Полутоновое изображение, заданное как числовая матрица. Если I имеет больше чем две размерности, то изображение обработано как многомерное полутоновое изображение и не как изображение RGB.

imnoise ожидает, что пиксельные значения типа данных double и single будут в области значений [0, 1]. Можно использовать функцию rescale, чтобы настроить пиксельные значения к ожидаемой области значений. Если ваше изображение является типом double или single со значениями вне области значений [0,1], то imnoise отсекает значения входного пикселя к области значений [0, 1] прежде, чем добавить шум.

Примечание

Для Пуассоновского шума, изображений типа данных int16 не позволены.

Типы данных: single | double | int16 | uint8 | uint16

Среднее значение Гауссова шума, заданного в виде числа.

Отклонение Гауссова шума, заданного в виде числа.

Локальное отклонение Гауссова шума, заданного как одно из следующего:

  • Числовая матрица, одного размера как I.

  • Числовой вектор та же длина intensity_map.

Значения интенсивности, которые сопоставлены с Гауссовым шумовым отклонением, задали как числовой вектор. Значения нормированы к области значений [0, 1].

Можно построить функциональное отношение между шумовым отклонением var_local и отобразить интенсивность с помощью команды plot(intensity_map,var_local).

Шумовая плотность для соли и перечного шума, заданного в виде числа. К шуму применяются приблизительно пиксели d*numel(I).

Отклонение мультипликативного шума, заданного в виде числа.

Выходные аргументы

свернуть все

Шумное изображение, возвращенное как числовая матрица совпадающего типа данных как входное изображение I. Для изображений типа данных double или single, функция imnoise отсекает значения выходного пикселя к области значений [0, 1] после добавления шума.

Алгоритмы

  • Среднее значение и параметры отклонения для 'gaussian', 'localvar' и типов шума 'speckle' всегда задаются, как будто изображение имело класс double в области значений [0, 1]. Если входное изображение является различным классом, функция imnoise преобразовывает изображение в double, добавляет шум согласно заданному типу и параметрам, отсекает пиксельные значения к области значений [0, 1], и затем преобразовывает шумное изображение назад в тот же класс как вход.

  • Распределение Пуассона зависит от типа данных входного изображения I:

    • Если I является двойной точностью, то значения входного пикселя интерпретированы как средние значения дистрибутивов Пуассона, увеличенных 1e12. Например, если входной пиксель будет иметь значение 5.5e-12, то соответствующий выходной пиксель будет сгенерирован от распределения Пуассона со средним значением 5,5 и затем уменьшен масштаб 1e12.

    • Если I является одинарной точностью, используемым масштабным коэффициентом является 1e6.

    • Если I является uint8 или uint16, то значения входного пикселя используются непосредственно без масштабирования. Например, если пиксель во входе uint8 будет иметь значение 10, то соответствующий выходной пиксель будет сгенерирован от распределения Пуассона со средним значением 10.

  • Чтобы добавить шум 'salt & pepper' с плотностью d к изображению, imnoise сначала присваивает каждый пиксель случайное значение вероятности от стандартного равномерного распределения на открытом интервале (0, 1).

    • Для пикселей со значением вероятности в области значений (0, d/2), пиксельное значение установлено в 0. Количеством пикселей, которые установлены в 0, является приблизительно d*numel(I)/2.

    • Для пикселей со значением вероятности в области значений [d/2, d), пиксельное значение установлено в максимальное значение типа данных image. Количеством пикселей, которые установлены в максимальное значение, является приблизительно d*numel(I)/2.

    • Для пикселей со значением вероятности в области значений [d, 1), пиксельное значение неизменно.

Расширенные возможности

Смотрите также

|

Представлено до R2006a