Image Processing Toolbox. Краткий курс теории обработки изображений. И.М.Журавель. Использование медианной фильтрации. Усреднение изображений с использованием слоёв

Бывают в жизни печальные ситуации, когда света мало, а открыть (сильнее) диафрагму или увеличить выдержку нет возможности. Подразумевается, что "плохой" снимок лучше, чем отсутствующий. Как быть? Терпеть. Или воспользоваться небольшой хитростью - сделать несколько кадров и применить усреднение.

ISO6400, было\стало.

Для начала придется сделать несколько одинаковых (чем больше, тем лучше) снимков.

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

Для усреднения загружаем это все в документ фотошопа в виде слоев.
Если съемка велась с рук, слои нужно выровнять с помощью photomerge, предварительно ( здесь), или с помощью команды Edit - Auto-Align Layers (Редактирование - Автоматически выровнять слои).
Далее, для усреднения, задаем прозрачность слоев: для нижнего 100%, следующего 50%, 33%, 25%, ...

Куда удобнее использовать режим стекинга, особенно при сложении большого количества фотографий.

Открываем фотошоп, и отдаем команду File - Scripts - Load Files into Stack (Файл - Сценарии - Загрузить файлы в стек)
Отмечаем галкой пункт Create Smart Object after Loading Layers (Создать смарт объект при загрузке слоев), опционально - Attempt to Automatically Align Source Images (Попытаться автоматически выровнять исходные изображения).
Таким образом мы получили единую группу или стек. Колдовать с прозрачностью не потребуется, т.к. для проведения вычислений над стеком есть отдельное меню Layer - Smart Objects - Stack Mode (Слои - Смарт объект - Режим стека). При обработке фото и видео имеют значение только два режима - mean (усреднение или среднее арифметическое) и median (медиана), остальные используются при обработке медицинских, научных и криминалистических и снимков и т.д. Если режим стека меняется, вычисления производятся занова (с оригиналом, а не предудыщим результатом).
Рассмотрим 100% кропы с разных участков и сравним результат.

Слева направо: оригинал, медиана, усреднение. Использовался десяток кадров.




Как это работает? В случае режима mean, происходит поканальное сложение яркостей каждого пикселя и результат делится на количество фото. Например: (3+2+1+2+9+3+1)/7=3
В режиме median выбирается среднее сначение из ряда 1,1,2,2 ,3,3,9 - среднее 2. Т.е. сильные единичные перепады не оказывают влияния.
С практической точки зрения это означает что движущиеся объекты оставят след только если они присутствуют на нескольких кадрах серии. Однако mean поборет шумы лучше.

В целом же кропы говорят сами за себя - никакой обработкой единичного кадра не удастся уменьшить шумы столь эффективно, т.к. размер шума в данном примере превосходит размер некоторых деталей.

Когда этот метод применим?
- при съемке с недостаточным освещением на коротких выдержках (нет настройки выдержки или она ограничена фотоаппаратом, нет штатива, нет возможности снимать долго и т.д.)
- при необходимости уменьшить шум на низких iso, к примеру перед активной последующей пост-обработкой.

Где не поможет?
- при съемке движущихся объектов (хотя возможно избирательное удаление шума в неподвижных областях).
- не избавит от постоянной составляющей шума

Изображение может повреждаться шумами и помехами различного происхождения, например шумом видеодатчика, шумом зернистости фото материалов и ошибками в канале передатчика. Их влияние можно минимизировать пользуясь классическими методами статистической фильтрации. Другой возможный подход основан на использовании других эвристических методов пространственной обработки.

Шумы видеодатчиков или ошибки в канале передачи обычно проявляются на изображении как разрозненные изменения изолированных элементов, не обладающие пространственной корреляцией. Искаженные элементы часто весьма заметно отличаются от соседних элементов. Это наблюдение послужило основой для многих алгоритмов, обеспечивающих подавление шума.

Применение цифровой фильтрации изображений позволяет существенно улучшить качество изображения, получаемого в процессе СШП зондирования. Далее будет рассмотрено применение линейной фильтрации для сглаживания шумов на изображении (низкочастотная фильтрация), подчеркивание границ объектов с использованием высокочастотной фильтрации, а также метод медианной фильтрации устранения помех импульсного типа.

Рис. 7 поясняет простой пороговый метод подавления шума, при использовании которого последовательно измеряют яркость всех элементов изображения.

Рис. 3.7. Пороговый метод подавления шума.

Если яркость данного элемента превышает среднюю яркость группы ближайших элементов на некоторую пороговую величину, яркость элемента заменяется на среднюю яркость:

Если
]

Поскольку шум пространственно декоррелирован, в его спектре, как правило, содержатся более высокие пространственные частоты, чем в спектре обычного изображения. Следовательно, простая низкочастотная пространственная фильтрация может служить эффективным средством сглаживания шумов. Массив Q размера MM выходного изображения формируется путем дискретной свертки массива F размера NN исходного изображения со сглаживающим массивом H размера LL согласно формуле

Сглаживание шума обеспечивается низкочастотной фильтрацией с помощью массива H с положительными элементами. Ниже приведены сглаживающие массивы трех разновидностей, часто называемые шумоподавляющими масками:

Эти массивы нормированы для получения единичного коэффициента передачи, чтобы процедура подавления шума не вызывала смещение средней яркости обработанного изображения. Если требуемое подавление шума сопряжено с использованием массивов большого размера целесообразно выполнять свертку косвенным образом, применяя преобразование Фурье, так как обычно это дает выигрыш в объеме вычислений.

Подчеркивание границ .

В системах электронного сканирования изображений получаемый видео сигнал можно пропустить через электрический фильтр верхних частот. Другой способ обработки сканированных изображений заключается в использовании нерезкого маскирования. При этом изображение как бы сканируется двумя перекрывающимися апертурами, одна из которых соответствует нормальному разрешению, а другая - пониженному. В результате получают соответственно массив нормального изображения F (j, k) массив нечеткого изображения F L (j, k). Затем формируется массив маскированного изображения

F M (j, k) = c F (j, k) - (1-c) F L (j, k),

где C - коэффициент пропорциональности. Обычно значение C находится в пределах от 3/5 до 5/6, т.е. отношение составляющих нормальны и понижены четкости изменяется от 1.5 до 5.

Подчеркивание границ можно также осуществить, выполняя дискретную фильтрацию согласно соотношению (1) с использованием высокочастотного импульсного отклика H. Ниже представлены три типичные маски для выполнения высокочастотной фильтрации:




Эти маски отличаются тем, что сумма их элементов равна единице.

Еще одним способом подчеркивания границ является так называемая статистическое дифференцирование. Значение яркости каждого элемента делится на статистическую оценку среднеквадратического отклонения (j,k)

G (j,k) = F (j,k) /  (j,k).

Среднеквадратическое отклонение

вычисляется в некоторой окрестности N(j,k) элемента с координатами (j,k). Функция
- среднее значение яркости исходного изображения в точке с координатами (j,k), приближенно определяемая путем сглаживания изображения с помощью оператора низко частотной фильтрации согласно формуле (3.1). Улучшенное изображение, представленное массивом G (j,k), отличается от исходного изображения тем, что его яркость выше на границах, элементы которых непохожи на соседние элементы, и ниже на всех остальных участках. Следует отметить, что подчеркивание полезных границ сопровождается возрастанием шумовых составляющих.

Медианный фильтр.

Медианная фильтрация - метод нелинейной обработки сигналов, разработанный Тьюки . Этот метод оказывается полезным при подавлении шума на изображении. Одномерный медианный фильтр представляет собой скользящее окно, охватывающее нечетное число элементов изображения. Центральный элемент заменяется медианой всех элементов изображения в окне. Медианой дискретной последовательности

a 1 , a 2 , ..., a N для нечетного N является тот элемент, для которого существуют (N-1)/2 элементов, меньших или равных ему по величине, (N- 1)/2 больших или равных ему по величине. Пусть в окно попали элементы изображения с уровнями 80, 90, 200, 110, 120; в этом случае центральный элемент следует заменить значением 110, которое является медианой упорядоченной последовательности 80, 90, 110, 120, 200. Если в этом примере значение 200 является шумовым выбросом в монотонно возрастающей последовательности, то медианная фильтрация обеспечит существенное улучшение. Напротив, если значение 200 соответствует полезному импульсу сигнала (при использовании широкополосных датчиков), то обработка приведет к потере четкости воспроизводимого изображения. Таким образом, медианный фильтр в одних случаях обеспечивает подавление шума, в других - вызывает нежелательное подавление сигнала.

Медианный фильтр не влияет на ступенчатые или пилообразные функции, что обычно является желательным свойством. Однако этот фильтр подавляет импульсные сигналы, длительность которых составляет менее половины ширины окна. Фильтр так же вызывает уплощение вершины треугольной функции.

Возможности анализа действия медианного фильтра ограничены. Можно показать, что медиана произведения постоянной K и последовательности f (j) равна

med{ K f(j) }=K med{f (j)}.

Кроме того,

med{ K+ f(j) }=K + med{f (j)}.

Однако медиана суммы двух произвольных последовательностей f (j) и g(j) не равна сумме их медиан:

med{ g(j)+ f(j) }=med{g(j)}+ med{f (j)}.

Возможны различные стратегии применения медианного фильтра для подавления шумов. Одна из них рекомендует начинать с медианного фильтра, окно которого охватывает три элемента изображения. Если ослабление сигнала незначительно, окно фильтра расширяют до пяти элементов. Так поступают до тех пор пока медианная фильтрация начинает приносить больше вреда, чем пользы. Другая возможность состоит в осуществлении каскадной медианной фильтрации сигнала с использованием фиксированной или изменяемой ширины окна. В общем случае те области, которые остаются без изменения после однократной обработки фильтром, не меняются и после повторной обработки. Области, в которых длительность импульсных сигналов составляет менее половины ширины окна, будут подвергаться изменениям после каждого цикла обработки.

Концепцию медианного фильтра легко обобщить на два измерения, применяя двумерное окно желаемой формы, например прямоугольное или близкое к круговому. Очевидно, что двумерный медианный фильтр с окном размера LL обеспечивает более эффективное подавление шума, чем последовательно примененные горизонтальный и вертикальный одномерные медианные фильтры с окном размера L1; двумерная обработка, однако, приводит к более существенному ослаблению сигналов.

Медианный фильтр более эффективно подавляет разрозненные импульсные помехи, чем гладкие шумы. Медианную фильтрацию изображений в целях подавления шумов следует считать эвристическим методом. Ее нельзя применять в слепую. Напротив, следует проверять получаемые результаты, чтобы убедиться в целесообразности медианной фильтрации.

Изобретение относится к способам удаления шума в изображении и может быть использовано для улучшения качества изображения. Техническим результатом является упрощение удаления шума и повышение качества получаемого цифрового изображения, это достигается тем, что за счет преобразования яркости пикселей изображения с шумом путем решения уравнения диффузии недивергентной формы обеспечивается одновременное подавление шума и сохранение кромок изображения. 2 з.п. ф-лы, 1 ил.

Область техники, к которой относится изобретение

Изобретение относится к способам удаления шума в изображении и может быть использовано для улучшения качества изображения.

Предшествующий уровень техники

К настоящему времени известны различные способы удаления шума в изображении.

Например, в патенте US 6463182, Canon Kabushiki Kaisha, 08.10.2002, G06K 9/40 описывается устройство и способ удаления шума в изображении, в которых данные изображения с искажениями разделяют на блоки и корректируют шум в зависимости от положения каждого пикселя изображения в блоке.

В патенте US 5933540, General Electric Company, 03.08.1999, G06K 9/00 приводится система и способ уменьшения шума и улучшения качества кромок цифрового изображения путем определения фонового значения шума на всем изображении и его удаления с помощью системы фильтров.

Известен способ удаления случайных шумов (патент US 5225915, Xerox Corporation, 06.07.1993, H04N 1/40) за счет применения к данным изображения в качестве фильтра модифицированной функции Лапласа, имеющей максимум на частоте, оптимальной для удаления шума.

Наиболее близким к заявленному изобретению является способ уменьшения шума на изображении, предполагающий использование дифференциальных вычислений (Later, Catte, Morel et al.). В данном способе изображение с шумом преобразовывают параболическим уравнением, в результате чего удаляют шум на изображении, получая изображение без шума. Данный способ выбран в качестве прототипа заявленного изобретения. Недостатком приведенных выше аналогов и прототипа является нестабильность решений математического выражения, описывающего шум, и размывание изображения в результате его применения. Отличие заключается в использовании другого (более простого) уравнения, которое не имеет указанных недостатков и проще в решении.

Сущность изобретения

Задачей заявленного изобретения является создание способа удаления шума на кромках многомерного изображения, позволяющего упростить способ удаления шума, повысить качество получаемого изображения на кромках, а именно сохранить форму кромок, не размывая их.

Поставленная задача решена путем создания способа удаления шума на изображении, включающего в себя этапы, на которых:

Получают от внешнего устройства многомерное изображение с кромками, состоящее из пикселей и имеющее шум;

Определяют в модуле координат яркость пикселей для координат всех пикселей многомерного изображения, где n - количество измерений;

Записывают массив данных яркости пикселей многомерного изображения в память;

Производят в фильтре для всех пикселей многомерного изображения следующие операции:

Задают зависимость яркости пикселей изображения двумерным уравнением диффузии недивергентной формы вида

, (1)

где - релаксационный параметр, - функция от координат пикселей многомерного пространства и релаксационного параметра, k - коэффициент диффузии, , где - параметр сглаживания итогового изображения около кромок, и чем больше значение этого параметра m , тем слабее сглаживание итогового изображения без шума около кромок, - параметр сглаживания итогового изображения без шума в областях, где нет кромок, чем больше значение этого параметра, тем слабее сглаживание итогового изображения без шума в областях, где нет кромок;

Численно решают n-мерное уравнение диффузии (1) с начальным условием , находя решение при значении релаксационного параметра , которое определяет общую степень сглаживания итогового изображения без шума, чем больше эта величина, тем сильнее сглаживается изображение, при этом получают совокупность координат пикселей итогового изображения без шума;

Записывают яркость пикселей итогового изображения без шума в память;

Выводят итоговое изображения без шума на устройство отображения.

Для функционирования способа существенно, чтобы внешнее устройство было выполнено в виде камеры стереозрения, сканера, цифрового фотоаппарата или других аналогичных устройств.

Для функционирования способа желательно, чтобы получали от внешнего устройства многомерное изображение с кромками, имеющее шум в виде нормального распределения.

Техническим результатом заявленного изобретения является упрощение способа удаления шума и повышение качества получаемого изображения за счет преобразования яркости пикселей изображения с шумом путем решения указанного уравнения диффузии, что обеспечивает одновременное подавление шума и сохранение кромок.

Для лучшего понимания настоящего изобретения далее приводится его подробное описание с соответствующими чертежами.

Блок-схема системы для осуществления заявленного способа согласно изобретению изображена на чертеже.

Система для осуществления заявленного способа включает в себя внешнее устройство 1, вычислительное устройство 2 и устройство отображения 3, причем вычислительное устройство 2 содержит память 4, модуль 5 определения яркости и фильтр 6.

Рассмотрим более подробно функционирование согласно заявленному способу.

Сначала получают от внешнего устройства 1 многомерное изображение с кромками, имеющее шум. Определяют в модуле 5 яркость пикселей многомерного изображения, где и n - количество измерений. Записывают массив данных яркости пикселей многомерного изображения в память 4.

Производят в фильтре 6 для всех пикселей многомерного изображения следующие операции:

задают зависимость яркости пикселей многомерного изображения уравнением диффузии вида

,

где - неизвестная функция, t - релаксационный параметр (его значение будет описано ниже), x - координаты пикселя изображения в n -мерном пространстве. Для двумерных изображений размерность пространства (в этом случае можно считать ), для специальных видов изображений размерность может быть больше. В уравнение также входят , В рассматриваемом решении предлагается использовать коэффициент диффузии в виде где . Значение параметра (как и значение m ) влияет на степень сглаживания изображения.

Основной способ использования уравнения диффузии заключается в том, что исходное изображение рассматривается как начальные данные для указанного уравнения при ,

Рассматривая эволюцию решения при увеличении значения параметра t , получают различные сглаженные версии исходного изображения. Таким образом, еще одним неявным параметром фильтра 6 является конечное значение релаксационного параметра, T . Результат работы фильтра 6 есть

Заметим, что поскольку коэффициент диффузии есть нелинейная функция, результат работы фильтра 6 есть нелинейное преобразование исходного изображения. Это делает процесс фильтрации зависимым от изображения. Различные изображения сглаживаются по-разному. Это несколько затрудняет универсальную оценку качества сглаживания.

Для решения указанного выше диффузионного уравнения используют коэффициент диффузии вида Параметр связан с масштабом представления яркости изображения и влияет на характер сглаживания изображения в областях, где нет кромок. При малых значениях параметра сглаживание будет более сильным, чем при больших. В качестве значения этого параметра обычно берут . Параметр m влияет на сглаживание изображения в окрестностях кромок, чем больше значение этого параметра, тем слабее будет сглаживание около кромок. Обычно достаточно использовать значение или . Параметр влияет на общее сглаживание изображения. При увеличении этого параметра увеличивается общее сглаживание исходного изображения. В качестве граничных условий на краях изображения наиболее удобно брать условие .

Исходное изображение дискретизуют на многомерной сетке, получая матрицу яркости изображения .

Численно решают n-мерное уравнение диффузии. Для решения данного уравнения применяют неявную разностную схему с расщеплением с использованием метода дробных шагов. Решение уравнения при получают при помощи решения описываемого ниже разностного уравнения. Один полный цикл решения многомерного разностного уравнения соответствует вычислению решения для значения исходя из значений решения для значения релаксационного параметра . Численная схема допускает грубую оценку решения при любом значении τ за один шаг, для более точных расчетов рекомендуется делать несколько шагов с меньшими значениями τ.

Входными данными для одного шага расчета является матрица яркости изображения при значении параметра . На выходе получим значения яркости при

В качестве предварительного шага вычислим матрицу коэффициентов диффузии Как альтернативный вариант возможно прямое вычисление коэффициента по данной формуле в месте непосредственного использования.

Для сведения решения многомерного разностного уравнения к последовательности одномерных уравнений предлагается использовать расщепление по методу дробных шагов. Здесь n - размерность изображения (пространства).

Один шаг по параметру t для исходного многомерного уравнения предлагается заменить на n последовательных элементарных шагов по отдельным измерениям, где на каждом элементарном шаге решают одномерное уравнение вида

В качестве начальных значений для самого первого подшага берут исходное значение яркости при : Результат вычисления после n подшагов есть искомое значение яркости при

Элементарные шаги по параметру t выбирают равными, например, где - пространственная частота дискретизации для сетки (можно также ввести этот параметр и для вычисления коэффициента диффузии). Значение τ можно задать выражением

Покажем, как решаются полученные одномерные задачи. Получаемые элементарные задачи являются одномерными, т.к. все индексы переменных, кроме являются фиксированными. Поэтому при рассмотрении одной такой задачи отбрасываем постоянные индексы.

Каждая элементарная задача распадается на независимых трехдиагональных систем линейных уравнений относительно имеющая вид где для рассматриваемого случая а граничные условия имеют вид где r - количество узлов сетки (размер изображения в пикселях по данному измерению). Для решения указанной системы линейных уравнений применяют метод прогонки: сначала выполняют прямой ход подстановки: указанные уравнения преобразуют к виду (вычисляются коэффициенты

используют граничное условие слева, при этом где

подставляют последовательно получаемые уравнения в исходную систему

где

После вычисления значений на шаге, используют правое граничное условие и вычисляют Затем выполняют обратную подстановку и по ранее вычисленным значениям получают последовательно и, наконец

Подавление шумов на изображениях

Довольно часто при формировании визуальных данных результирующие изображения получаются зашумленными. Это объясняется несовершенством аппаратуры, влиянием внешних факторов и т.п. В конечном результате это приводит к ухудшению качества визуального восприятия и снижению достоверности решений, которые будут приниматься на основе анализа таких изображений. Поэтому актуальной является задача устранения или снижения уровня шумов на изображениях. Решению задачи фильтрации шумов посвящено очень много работ, существуют различные методы и алгоритмы. В этой работе рассмотрим только некоторые подходы и возможности их реализации в системе Matlab.

Шаг 1: Считывание исходного изображения.

Шаг 2: Формирование зашумленных изображений.

Шаг 3: Использование медианного фильтра для устранения импульсного шума.

Шаг 4: Подавление шумовой составляющей с использованием операции сглаживания.

Шаг 5: Пороговый метод подавления шумов.

Шаг 6: Низкочастотная фильтрация с использованием шумоподавляющих масок.

Шаг 1: Считывание исходного изображения.

Считаем изображение из файла в рабочее пространство Matlab и отобразим его на экране монитора.

L=imread("kinder.bmp");

figure, imshow(L);

Рис.1 Исходное изображение.

Шаг 2: Формирование зашумленных изображений.

В системе Matlab (Image Processing Toolbox) существует возможность формирования и наложения на изображение трех типов шумов. Для этого используется встроенная функция imnoise, которая предназначена, в основном, для создания тестовых изображений, используемых при выборе и исследовании методов фильтрации шума. Рассмотрим несколько примеров наложения шума на изображения.

1) Добавление к изображению импульсного шума (по умолчанию плотность шума равна доле искаженных пикселей):

L2=imnoise(L,"salt&pepper", 0.05);

figure, imshow(L2);

Рис.2. Зашумленное изображение (импульсный шум).

2) Добавление к изображению гауссовского белого шума (по умолчанию математическое ожидание равно 0, а дисперсия - 0,01):

L1=imnoise(L,"gaussian");

figure, imshow(L1);

Рис.3. Зашумленное изображение (гауссовский шум).

3) Добавление к изображению мультипликативного шума (по умолчанию математическое ожидание равно 0, а дисперсия 0,04):

L3=imnoise(L,"speckle",0.04);

figure, imshow(L3);

Рис.4. Зашумленное изображение (мультипликативный шум).

Шаг 3: Использование медианного фильтра для устранения импульсного шума.

Одним из эффективных путей устранения импульсных шумов на изображении является применение медианного фильтра. Наиболее эффективным вариантом является реализация в виде скользящей апертуры.

For i=1+n1:N+n1; disp(i) for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=Lr(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=Lr(i+a,j+m1); end; D=D(1:n,2:m+1); end; Lvyh(i,j)=median(D(:)); end; end; Lvyh=Lvyh(n1+1:N+n1, m1+1:M+m1); figure, imshow(Lvyh);

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

Рис. 5. Восстановление изображения, искаженного импульсным шумом, с применением метода медианной фильтрации.

Восстановленное изображение лишь незначительно отличается от исходного изображения и значительно лучше, с точки зрения визуального восприятия, зашумленного изображения.

Шаг 4: Подавление шумовой составляющей с использованием операции сглаживания.

Существует класс изображений, для которых подавление шумовой составляющей возможно реализовать с помощью операции сглаживания (метод низкочастотной пространственной фильтрации). Этот подход может применяться к обработке изображений, содержащих области большой площади с одинаковым уровнем яркости. Отметим, что уровень шумовой составляющей должен быть относительно небольшим.

F=ones(n,m); % n и m размерность скользящей апертуры

Lser=filter2(F,Lroshyrena,"same")/(n*m);

Рис. 6. Восстановление изображения, искаженного импульсным шумом с применением операции сглаживания.

Недостаток этого метода, в отличие от метода медианной фильтрации, состоит в том, что он приводит к размыванию границ объектов изображения.

Шаг 5: Пороговый метод подавления шумов.

Элементы изображения, которые были искажены шумом, заметно отличаются от соседних элементов. Это свойство легло в основу многих методов подавления шума, наиболее простой из которых, так называемый пороговый метод. При использовании этого метода последовательно проверяют яркости всех элементов изображения. Если яркость данного элемента превышает среднюю яркость локальной окрестности, тогда яркость данного элемента заменяется на среднюю яркость окрестности.

For i=1+n1:N+n1; disp(i) for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=Lr(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=Lr(i+a,j+m1); end; D=D(1:n,2:m+1); end; LS=mean(mean(D)); if abs(Lr(i,j)-LS)>10/255; % Установка порога Lvyh(i,j)=LS; else Lvyh(i,j)=Lr(i,j); end; end; end; Lvyh=Lvyh(n1+1:N+n1,m1+1:M+m1,:); figure, imshow(Lvyh);

Рис. 7. Восстановление изображения, искаженного импульсным шумом, с применением порогового метода подавления шумов.

Шаг 6: Низкочастотная фильтрация с использованием шумоподавляющих масок.

В Шаге 4 было рассмотрено применение операции сглаживания для устранения шума. Рассмотрим примеры низкочастотной фильтрации с использованием других шумоподавляющих масок. Это могут быть следующие маски:

Маска 1: Маска 2: .

Маски для подавления шума представлены в виде нормированного массива для получения единичного коэффициента передачи, чтобы при подавлении шума не было искажений средней яркости. На рисунках представлено результат обработки зашумленного изображения маской 1 и маской 2 .

F=(1/10)*;

figure, imshow(Lvyh);

Рис. 8. Результат восстановления зашумленного импульсным шумом изображения с применением маски 1 .

F=(1/16)*;

Lvyh=filter2(F,L,"same")/(3*3);

figure, imshow(Lvyh);

Рис. 9. Результат восстановления зашумленного импульсным шумом изображения с применением маски 2 .

Это были примеры подавления импульсных шумов. Рассмотрим аналогичные примеры подавления гауссовского и мультипликативного шумов.

Рис. 10. Результат восстановления зашумленного гауссовским шумом изображения с применением маски 1 и маски 2 .

Рис. 11. Результат восстановления зашумленного мультипликативным шумом изображения с применением маски 1 и маски 2 .

Отметим, что универсальных методов нет и к обработке каждого изображения следует подходить индивидуально. Если речь идет о медианной и низкочастотной фильтрации, то качество обработки во многом зависит от удачного выбора размеров локальной апертуры.

Рассмотренные методы после некоторой модификации можно применять для обработки цветных изображений. Приведем пример подавления импульсного шума на цветном изображении.

Возьмем некоторое исходное изображение (рис. 12):

L=imread("lily.bmp");

figure, imshow(L);

Рис. 12. Исходное цветное изображение.

Наложим на него импульсный шум с некоторыми характеристиками:

L=imnoise(L,"salt&pepper",0.05);

figure, imshow(L);

Рис. 13. Зашумленное изображение.

For k=1:s; % обработка отдельно по каждой составляющей L=Lin(:,:,k); for i=1+n1:N+n1; disp(i) for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=L(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=L(i+a,j+m1); end; D=D(1:n,2:m+1); end; Lres(i,j)=median(D(:)); end; end; end;

Рис. 14. Восстановленное изображение с применением метода медианной фильтрации.

Представленные выше методы являются довольно эффективными алгоритмами восстановления изображений, которые были искажены импульсным, гауссовским или мультипликативным шумом. Эти методы служат основой для построения других более сложных методов решения задач по устранению шумовой составляющей на изображениях.

20 августа 2009 в 22:21

Очистка изображения от шума, некоторые методы

  • Блог компании Gil Algorithms

Если Вы видели картинку, которая получается в современных цифровых фотоаппаратах без обработки, то Вы знаете, что выглядит она просто ужасно. Она заполнена шумом. Даже когда Вы скачиваете картинку на компьютер и она уже прошла внутреннюю обработку в фотоаппарате, если ее увеличить и посмотреть на отдельные пиксели, можно увидеть, как мужественно цифровые алгоритмы борются с шумом и проигрывают в этой неравной войне.
Некоторые алгоритмы стирают мелкие детали напрочь, этим знамениты сотовые телефоны Nokia. В некоторых случаях детали остались, но они окружены цветными островками сложной формы, это можно увидеть в фотоаппаратах Sony. Ну и так далее - у каждого метода свои проблемы.

Какие же есть средства, чтобы убрать этот шум, и которые не нарушают чужих патентов? Надеюсь, этот небольшой обзор будет полезным.

1. Переход в координаты яркость-цвет.
Это преобразование можно осуществлять многими способами: HSV, L*a*b и т.п. По некоторым причинам, в которые мы не будем углубляться:
- человеческий глаз намного менее чувствителен к деталям цветовой информации, чем яркостной
- шум в цветовой компоненте, напротив, гораздо выше, чем в яркостной
Поэтому простая фильтрация цветовой компоненты + обратное восстановление, обычно, делают картинку сильно лучше.

2. Медианный фильтр.
Хорошим простым способом очистить картинку от шума является медианный фильтр Im_new(x,y)=median{dx=-1..1,dy=-1..1}Im(x+dx,y+dy).
У этого метода есть множество вариаций, приведу лишь некоторые:
2.1 Шаг 1: вычислить M1=median(C, Cnorth, Csouth); M2=median(C, Ceast, Cwest); M3=median(C, Cne, Csw); M4=median(C, Cnw, Csw); здесь Cnort, Cne,...Cnw - восемь соседних пикселей из окрестности 3x3, C - центральный пиксель
Шаг 2 - вычислить Ma=median(C, M1, M2); Mb=median(C, M3, M4);
Шаг 3 - вычислить Csmooth=median(C, Ma, Mb);
Шаг 4 - заменить C на Csmooth.
2.2 Шаг 1: отсортировать пиксели из окрестности 3x3 по возрастанию, P...P.
Шаг 2: Если центральный пиксель равен P - заменить его на P, если центральный пиксель равен P - заменить его на P, в других случаях оставить без изменения.
Это направление использует компания Kodak, а также большинство сканеров и факс-аппаратов.

3. Фильтры, управляющие величиной коррекции
Этот метод сначала предлагает сгладить картинку как-нибудь грубо, например с помощью low-pass filter, bilateral filter или еще как-нибудь. А потом делается такая процедура
Im_new(x,y)=Im(x,y)+S(Im(x,y)-Im_smooth(x,y),threshold).
Функция-передатчик S может быть устроена по разному, например так:
S(x,threshold) = x, если -thresholdthreshold; S(x,threshold)=-threshold если x<-threshold. Если выбрать threshold примерно равным величине шума, то весь шум пропадет, а детали и мелкие объекты останутся четкими.

4. Bilateral filter
Очень интересный фильтр, изобретенный в 2003 году. За описаниями отсылаю к Интернету.
Вот здесь достаточно хорошая статья: scien.stanford.edu/class/psych221/projects/06/imagescaling/bilati.html
Интересной разновидностью bilateral filter является, также T-filter:
Шаг 1: Найти все пиксели в окрестности, значения которого отличаются от исходного пикселя не более, чем на заданный threshold.
Шаг 2: Усреднить эти найденные пиксели и сохранить значение.

5. Фильтры, использующие спектральное представление сигнала
Так работает, к примеру, Photoshop. Суть идеи в том, чтобы сделать в окрестности каждого пикселя преобразование Фурье, затем стереть высокие частоты и сделать обратное преобразование.
Вместо преобразования Фурье используются также и другие ортогональные базисы, иногда довольно замысловатые. По-сути, это целое семейство методов.

6. Фильтры, выделяющие доминантное направление
Эти фильтры в каждой точке сначала находят доминантное направление (направление градиента яркости), а затем усредняют сигнал только в перпендикулярном направлении. Таким образом, линии и мелкие детали остаются четкими. Хорошие разновидности этого алгоритма учитывают также значения матрицы вторых производных.
Это целое семейство алгоритмов, описания которых можно также найти в Интернете.

7. Локальная классификация фрагментов
Эти фильтры особенно хорошо работают со специальными изображениями, такими как текст, звездное небо и т.п.
Сначала составляется база данных типичных элементов такого изображения, к примеру, несколько сотен фрагментов NxN пикселей, которые уже очищены от шума.
Алгоритм работает так: окрестность каждого пикселя сравнивается с этими фрагментами и выбирается один, который наиболее похож. Затем значение исходного пикселя на грязной картинке заменяется на значение аналогичного пикселя, расположенного в этом же месте на чистом фрагменте.

8. Приведу в конце «простецкий» способ, который также можно использовать в ряде случаев.
Шаг 1: Уменьшить картинку (применяя какой-нибудь умный алгоритм Downscaling)
Шаг 2: Увеличить ее обратно (применяя какой-нибудь умный алгоритм Upscaling)
Дело в том, что алгоритмы Upscaling/ Downscaling бывают очень мощными (Lanczos filter, фрактальные методы и т.п.), так что результат получается вполне удовлетворительным. Этот же метод можно использовать в качестве простой, но довольно эффективной компрессии.