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

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

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, к примеру перед активной последующей пост-обработкой.

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

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, фрактальные методы и т.п.), так что результат получается вполне удовлетворительным. Этот же метод можно использовать в качестве простой, но довольно эффективной компрессии.

Регулировка значений интенсивностей

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

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

I = imread("pout.tif"); J = imadjust(I);

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

Imshow(J) figure, imhist(J,64)

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


Преобразованное изображение и его гистограмма

Описание регулировки границ диапазона

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

Примечание.
Отметим, что значения интенсивностей должны находится в диапазоне между 0 и 1, независимо от формата изображения. Если изображение представлено в формате uint8, диапазон значений содержит 255 градаций, а для изображения в формате - 65535 градаций.

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

I = imread("cameraman.tif"); J = imadjust(I,,); imshow(I) figure, imshow(J)


Изображение после преобразования динамического диапазона

Установка ограничений автоматической коррекции

Обычно при использовании функции imadjust необходимо выполнить два основных действия:

  1. Просмотреть гистограмму и определить границы значений интенсивностей.
  2. Описать эти границы для дальнейшего использования в функции imadjust.

Более простой путь для описания этих границ заключается в использовании функции stretchlim.

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

I = imread("rice.png"); J = imadjust(I,stretchlim(I),);

По умолчанию, функция stretchlim использует значения интенсивностей, которые представляют нижнюю 1% (0.01) и верхнюю 1% (0.99) часть диапазона в качестве границ регулировки.

Гамма коррекция

Функция imadjust отображает наименьшие значения еще меньшими, а наибольшие - еще большими. По умолчанию промежуточные значения отображаются линейно. Например, значения интенсивностей, которые находятся посредине диапазона интенсивностей исходного изображения соответствуют тем значениям интенсивностей, которые находятся посредине диапазона преобразованного изображения.

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

Параметр гамма может принимать значения от 0 до бесконечности. Если гамма равно 1 (по умолчанию), тогда преобразование линейное. Если гамма меньше 1, то диапазон с малыми значениями интенсивности сжимается, а диапазон с большими значениями интенсивности растягивается. Если гамма больше 1, то наоборот - диапазон с малыми значениями интенсивности растягивается, а диапазон с большими значениями интенсивности растягивается.

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


Отображение трех различных установок гамма-коррекции

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

Imread("forest.tif") I = ind2gray(X,map); J = imadjust(I,,,0.5); imshow(I) figure, imshow(J)


Изображение до и после применения гамма коррекции

Контрастно-ограниченное адаптивное выравнивание гистограммы

В качестве альтернативы можно использовать функцию histeq, которая выполняет контрастно-ограниченную адаптивную гистограммную эквализацию с использование функции adapthisteq. Функция работает с целым изображением, а функция adapthisteq может работать с небольшими областями изображения. Контраст каждой части изображения повышается, что связано с изменением формы гистограммы. После выполнения выравнивания (эквализации), функция adapthisteq объединяет края локальных областей с применением билинейной интерполяции, исключая искусственно созданные границы.

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

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

I = imread("pout.tif"); J = adapthisteq(I); imshow(I) figure, imshow(J)


Изображение после обработки методом контрастно-ограниченного адаптивного выравнивания гистограммы (и его гистограмма)

Декорреляционное растяжение

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

В большинстве случаев количество цветов в связке NBANDS на изображении равно трем. Функция decorrelation может применятся независимо от количества цветов в связке.

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

Пример декорреляционного растяжения

Применим операции декорреляции и растяжения к некоторым изображениям из библиотеки, которая размещена в директории imdemos системы Matlab. Библиотека включает LANDSAT-изображение небольшой реки в Колорадо. Обработаем это изображение методом декорреляционного растяжения:

  1. Изображение состоит из семи диапазонов, которые должны быть представлены тремя видимыми цветами: A = multibandread("littlecoriver.lan", , ... "uint8=>uint8", 128, "bil", "ieee-le", ... {"Band","Direct",});
  2. Выполняем декорреляционное растяжение: B = decorrstretch(A);
  3. Визуализация результатов: imshow(A); figure; imshow(B)

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


Изображение небольшой реки в Колорадо до (слева) и после (справа) декорреляционного растяжения

Покажем разброс цветов разных диапазонов изображения до и после декорреляции и выравнивания:

RA = A(:,:,1); gA = A(:,:,2); bA = A(:,:,3); figure, plot3(rA(:),gA(:),bA(:),"."); grid("on") xlabel("Red (Band 3)"); ylabel("Green (Band 2)"); ... zlabel("Blue (Band 1)") rB = B(:,:,1); gB = B(:,:,2); bB = B(:,:,3); figure, plot3(rB(:),gB(:),bB(:),"."); grid("on") xlabel("Red (Band 3)"); ylabel("Green (Band 2)"); ... zlabel("Blue (Band 1)")


Разброс цветов разных диапазонов изображения до и после декорреляции и выравнивания

Дополнительное линейное растяжение контраста

Сейчас рассмотрим такое же преобразование, но речь будет идти о линейном растяжении контраста, которое применим после декорреляционного растяжения:

Imshow(A); C = decorrstretch(A,"Tol",0.01); figure; imshow(C)

Сравним исходное и преобразованное изображения.


Изображение небольшой реки в Колорадо после декорреляционного растяжения и линейного растяжения контрастов

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

Для получения более детальной информации см. описание функции stretchlim.

Примечание.
Линейное растяжение контраста можно применять как отдельную операцию после выполнения декорреляционного растяжения, используя функции stretchlim и imadjust. Это является одним из альтернативных путей, однако, часто не приводит к хорошим результатам для изображений, которые представлены в формате uint8 и uint16. Такой результат объясняется распределением пикселей в диапазоне (или ). Опции функции decorrstretch позволяют обойти это ограничение.

Удаление шума

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

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

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

  1. Использование линейной фильтрации;
  2. Использование медианной фильтрации;
  3. Использование адаптивной фильтрации.

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

Использование линейной фильтрации

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

Использование медианной фильтрации

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

Примечание.
Медианная фильтрация является порядково-статистической фильтрацией и известна еще как ранговая фильтрация. Для более детальной информации см. описание функции ordfilt2.

Рассмотрим пример, в котором сравним использование усредняющего фильтра и функции medfilt2 для удаления шума типа "соль и перец". Влияние этого типа шума заключается в том, что случайно выбранные пиксели стают черными или белыми (т.е. им присваиваются экстремальные значения из существующего диапазона). В обеих случаях размер используемой окрестности равен 3x3.

Использование адаптивной фильтрации

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

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

Функция wiener2 лучше работает с "белым" шумом, например гауссовским. Рассмотрим пример применения функции wiener2 к обработке изображения Сатурна, которое зашумлено гауссовым шумом. Для интерактивной демонстрации фильтрации шума можно использовать nrfiltdemo.

RGB = imread("saturn.png"); I = rgb2gray(RGB); J = imnoise(I,"gaussian",0,0.005); K = wiener2(J,); imshow(J) figure, imshow(K)


Зашумленное изображение (слева) и изображение после фильтрации (справа)

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

23.03.15 3.1K

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

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

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

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

Усреднение может также быть полезно для тех, кто хочет имитировать гладкость ISO 100 , но чья камера поддерживает только ISO 200 (как большинство моделей цифровых зеркальных камер Nikon ).

Общая концепция

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

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


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

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


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

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

Шум и детализация: сравнение

Следующая ситуация на реальном примере иллюстрирует эффективность усреднения изображений. Данная фотография была сделана при ISO 1600 с помощью Canon EOS 300D Digital Rebel , и на ней наблюдается слишком высокий уровень шума:


Обратите внимание, как усреднение снижает уровень шума и в то же время повышает детализацию для каждой области. Лучше всего использовать для таких задач программы для снижения уровня шума, такие как Neat Image . В следующем сравнении мы привели также результаты, полученные с ее помощью:

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

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

Этот метод эффективен при удалении незначительного шума, однако он не справляется с большим шумом и устраняет детализацию на уровне пикселей. В целом, Neat Image — это лучший вариант для тех случаев, когда вы не можете использовать усреднение изображения (при ручной съемке ).

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

Снижение шума с помощью Neat Image Pro Plus 4.5 при настройках по умолчанию и «автоматической тонкой настройкой»

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

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

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

Усреднение изображений в Photoshop с помощью слоев

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

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

Ключевой момент здесь — помнить, что в Photoshop непрозрачность каждого слоя определяет, насколько он «пропускает » нижележащий слой, и то же самое относится к каждому следующему изображению внизу. Это означает, что, например, для правильного усреднения четырех изображений не следует устанавливать непрозрачность каждого слоя на 25%.

Вместо этого непрозрачность нижнего (фонового ) слоя нужно установить на 100%, для слоя поверх него — 50%, следующего — 33%, и, наконец, верхнего слоя — 25%.

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

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

  • Чтобы убрать слишком сильный шум с фиксированным узором из-за длинной выдержки;
  • Для камер, которые не имеют режима лампы, вы можете ограничить выдержку до 15-30 секунд. Для таких случаев необходимо учитывать следующее: нужно делать два снимка при ISO 800 и выдержке 30 секунд, чтобы они были приблизительно эквивалентны (как по яркости, так и по уровню шума ), и еще один при выдержке 60 секунд и ISO 400 . Возможны и другие комбинации;
  • В ситуациях, когда вы не можете гарантировать прерывание за определенный момент времени без воздействия на аппаратуру захвата или сцену. В качестве примера, можно привести фото, снимаемые в общественном месте, когда вам нужно обеспечить низкий уровень шума, но вы не можете установить достаточно длительную выдержку, потому что напротив объекта съемки постоянно проходят пешеходы. В таком случае вы можете сделать несколько коротких снимков в интервалах между проходами пешеходов;
  • Хорошо Плохо

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

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

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

    Рис. 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; двумерная обработка, однако, приводит к более существенному ослаблению сигналов.

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



    Закрытие ИП