imnoise

Добавить шум к изображению

Описание

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

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) 'pixels'.

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) 'pixels'.

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

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

свернуть все

Шумное изображение, возвращенное как числовая матрица совпадающего типа данных как входное изображение 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