Обработка изображений – Image processing – Working with photos and videos / Habr

Содержание

Основы пространственной и частотной обработки изображений. Лекции от Яндекса

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

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

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

Пространственная область


Вспомним, что картинка представляется в виде функции от x и y. Если мы говорим о полноценном изображении, то каждое значение этой функции – трёхзначное число, которое представляет собой значение для каждого из цветовых каналов.

Представление изображения в пространственной области – это то, как мы привыкли понимать и видеть изображение. Есть x и y, и в каждой точке у нас есть какое-то значение интенсивности или значение цветового канала.

На этом слайде Лена и логотип библиотеки OpenCV разложены на три цветовых канала — красный, зелёный и синий.

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

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

Чтобы упростить задачу, представим, что наше изображение одномерное. Линия, которая идёт слева-направо, отображает все изменения яркости. Всплеск в начале соответствует паре пикселов белого цвета, потом идёт серая область, потом — снова белая. На черном цвете мы проваливаемся вниз. То есть по этой линии можно проследить, как изменяется яркость.

Посмотрим еще один пример.

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

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

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

Основная идея преобразования Фурье — это то, что любая картинка может быть представлена в виде суммы синусов и косинусов. Почему любая? Потому что любая периодическая функция может быть всегда представлена в виде суммы синусов и косинусов. Непериодическая же функция, если площадь графика под ней конечна (что всегда будет верно для изображения), тоже может быть представлена как сумма синусоида и косинусов. Чтобы представить такую функцию абсолютно точно, их должно быть бесконечно много, но, тем не менее, это сделать можно.

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

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

Таким образом, можно использовать отображение в частотной области для описания изображений.

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

Теперь представьте себе, что вы пытаетесь передать кому-то картинку с помощью мобильного телефона. Раньше вам бы потребовалось передать все 230 значений яркости. Но теперь, если приёмная и принимающая сторона «знают», какие у нас базисные функции, то объём посылаемой информации значительно сокращается. Вы можете передать ту же информацию, используя существенно меньше параметров.

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

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

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

Здесь гармоники — это те самые синусы и косинусы, которые нарисованы на предыдущем слайде. Для каждой фиксированной частоты есть некая функция от x.

Надеюсь, что с одноименным случаем более или менее понятно. Теперь посмотрим на двумерный случай, потому что картинка у нас двухмерна.

Здесь мы тоже можем построить двухмерные гармоники, которые уже будут зависеть от четырёх параметров: x, y (от двух направлений) и от двух частот в направлении x и y соответственно.

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

Теперь посмотрим, что можно понять при визуализации результата прямого преобразования по так называемому спектру Фурье. Хотя мы говорим о преобразовании Фурье, но также можно использовать и любое другое преобразование сигнала, где в качестве базисных функций выберем не гармоники, а какие-то другие функции. Часто в качестве базисных функций используют [вейвлеты]. Они в некотором смысле более удачны, чем синусы и косинусы.

Попробуем рассмотреть град из значений наших скаляров. Тут у нас дискретный случай — как выглядит базисная функция при фиксированных u и v. Расположим их вдоль осей соответственно u и v. На этом гриме спектр Фурье представляет собой отображение значений коэффициентов. Важно понимать, что в центре у нас частота нулевая, а к краям она увеличивается.

Дальше, если каждую ячейку начнём складывать значение параметра F, коэффициента, который мы получили при разложении. Чем больше коэффициент, тем ярче он будет отображаться на спектре. То есть, мы хотим визуализировать спектр Фурье. Если коэффициент F=0, будем отображать его чёрным цветом. Чем он больше, тем светлее цвет.

На двумерном спектре всего один пиксел будет соответствовать u=0, v=0, следующий — U= -1, V=0. Значение пиксела будет равняться коэффициенту, полученному из преобразования. Важно то, что центральные коэффициенты соответствуют важности этой гармоники в представлении изображения, в центре стоят гармоники с нулевыми частотами. То есть, на картинке, если у нас будет очень большой отклик вот здесь, это значит, что картинка практически не меняет своей яркости. Если у картинки будет здесь тёмное пятно, а по периферии — светлое, то она пёстрая — там перепад яркости в каждой точке и в каждом направлении.

Картинка — это не спектр, это визуализация двумерной синусоиды.

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

Обработка в пространственной области


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

Если у нас яркость изменяется от 0 до 255, то для каждого пиксела пишем 255 минус его прежнее значение. Чёрное становится белым, а белое — чёрным.

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

На этой картинке у Лены отрезаны все точки яркости, которые больше 125. Получаем гистограмму, смещённую влево, и тёмную картинку. На второй картинке все наоборот — есть только светлые пикселы, гистограмма смещена вправо.

Следующая картинка размазана, у неё нет чётких контуров. Для такой картинки характерен столбик яркости где-то посередине и отсутствие энергии по краям спектра.

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

Что можно делать с гистограммами? По форме гистограммы уже можно многое рассказать о её свойствах. Дальше можно что-то сделать с гистограммой, изменить её форму, чтобы картинка стала выглядеть лучше.

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

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

Делается это так. В формуле xk — это некий уровень яркости, nk — количество пикселов такой яркости, n- общее количество пикселов. Мы выбираем какой-то пиксел и получаем вероятность, с которой он будет цвета xk. То есть, количество пикселов nk делить на общее количество пикселов. На самом деле — доля.

Попытаемся получить равномерную плотность вероятности, то есть, чтобы для каждого цвета была одинаковая вероятность его получить. Это достигается следующим преобразованием. Если мы по пикселю цвета xk вычислим новые значения яркости для него yk по формуле, то есть возьмём и пронумеруем все вероятности oт i до этого цвета, гистограмма получится более равномерная. То есть, исходная затемнённая картинка выглядела вот так, а если мы к яркостям этой картинки применим экранизацию, то в результате получим гистограмму вот такой формы. Как вы видите, они гораздо более равномерно распределены по всем возможным значениям, и картинка будет выглядеть вот так.

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

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

Бинаризация


Мы уже отказались от цветных изображений и говорим только о чёрно-белых, где есть различные градации серого. Бинаризация — это продолжение издевательства над изображением, когда мы отказываемся еще и от них. В итоге получаем картинку, где есть только чёрный и белый. Нам нужно понять, какие пикселы мы хотим сделать чёрными, а какие — белыми.

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

Поговорим о простейшем типе бинаризации — пороговой. Этот тип вообще-то не очень применим для фотографий, но, тем не менее, иногда используется.

Если мы применяем пороговую бинаризацию к гистограмме, то видим, что у нас в изображении есть два типа пикселов: потемнее и посветлее. Обычно предполагают, что большее количество пикселов соответствует фону. Из этого делаем вывод, что вот тут у нас кучка побольше, она тёмная, соответственно у нас фон — тёмный, и на нём есть один или несколько светлых объектов. Объект может быть составной. Здесь у нас два светлых объекта разного цвета.

Это очень красивые гистограммы, в жизни вы вряд ли такие увидите. Но по ним легко понять, где нужно провести порог, чтобы отделить фон от объекта. Здесь, если мы возьмём пороговое значение ровно между ними, и все пикселы, которые ярче порога, сделаем белыми, а те, которые темнее — чёрными, то мы превосходно отделим объект от фона. Выбрав нужный нам диапазон яркости, мы вырезаем из картинки тот или иной объект.

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

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

На этой картинке представлено преимущество локальной бинаризации.

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

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

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

В этих двух областях всё плохо, потому что тут есть совсем чёрные пикселы и есть — посветлее. Для каждого квадратика находим порог и применяем его внутри этого квадратика.

Выделение компонент связности

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

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

Простейший алгоритм — двухпроходный, он работает следующим образом. Мы начинаем из левого верхнего угла и первому пикселу присваиваем номер. Дальше двигаемся направо и смотрим, совпадает ли цвет пиксела с уже размеченным. Если совпадает, то присваиваем ему ту же самую метку. Если этот пиксел был помечен ноликом, то и этот получает тоже метку нолик. И так доходим до конца строки, потому что тут у нас все нолики. Дальше, цвет третьего пиксела на второй строчке не совпадает с цветом уже размеченных соседей. Мы увеличиваем счётчик областей и присваиваем этому пикселу номер следующей области — 1. Переходим сюда, у этого уже ест сосед такого же цвета, у которого есть метка, ему присваиваем такую же метку. Дальше мы увеличиваем увеличиваем счётчик и присваиваем номера 2, 3, 4, 5, 6, 7. Здесь представлен результат первого прохода. На втором проходе нам останется только объединить области, в которых соседи одного цвета носят разные метки. В результате получается изображение такого вида.

Здесь фон одного цвета, одна связная компонента другого, и вторая связная компонента третьего цвета. Красная и белая компоненты на чёрном фоне.

Уже в первом проходе накапливается информация о том, что одной компоненте соответствует несколько меток. Понятно, что все они одного цвета и 1 и 2 относятся к одной компоненте. Эта информация записывается и во второй проход перенумеруется.

Где используется? Это один из способов сегментации картинки. Простейший пример — когда картинка бинарная, можно выделять компоненты связности на цветном изображении. Только там критерием присоединения к одной компоненте будет не полное соответствие цвета, а то, что они отличаются на какое-то пороговое значение.

Алгоритмы фильтрации

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

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

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

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

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

Дистрибутивность по сложению — можем сложить два фильтра, просто сложить их веса и получить новый фильтр, или применить сначала один фильтр, потом второй и сложить результаты. Скаляр можем выносить за скобки. То есть если здесь есть коэффициент, можем все веса поделить на какое-то число, применить фильтр, а потом результат умножить на эту константу. Что произойдет, если мы картинку свернём вот с таким фильтром? Сдвиг на один пиксел.

Я обещала рассказать, почему теорема Фурье так хорошо работает в частотной области. Существует теорема свёртки. Что это такое? Теорема свёртки говорит о том, что если мы производим свёртку в пространственной области, это то же самое, что перемножить результаты преобразования Фурье в частотной области. Если есть картинка F и фильтр H, и мы их попытаемся свернуть, это будет то же, как сделать перевод картинки и фильтра в частотную область. То есть найти для картинки и фильтра коэффициенты преобразования Фурье и их между собой перемножить. И в обратную сторону. Если у нас есть перемножение в пространственной области, это то же самое, что и операция свёртки над соответствующими коэффициентами преобразования Фурье.

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

Какие могут быть фильтры/ядра и что они делают с изображением

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

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

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

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

Еще один очень распространённый фильтр — фильтр Гаусса. Это свёртка с функцией Гаусса, которая выглядит таким образом. Здесь есть зависимость от радиуса. Вот представление фильтра в пространственной области и представление его же в частотной области. Можно ли по виду характеристик фильтра определить, что он сделает с картинкой?

Вспомним теорему о свёртке. Мы собираемся перемножать образ нашего изображения вот с таким вот. Что получится? Мы существенно обрезаем высокие частоты, изображение получится более гладким. Вот результат сглаживания.

Исходное изображение, картинка сглаженная фильтром Гаусса с =1,4 размера 5 и =2,8 с размером 10. Чем больше радиус, тем более размытая получается картинка, хотя явно нет зависимости между размером фильтра(количеством отсчётов) и на практике не имеет смысла выбирать большую с малым размером.

Здесь у нас размер фильтра 3х3 (маленький), если большая, это означает, что мы не сможем отразить все значения. Негласное правило — размер должен составлять порядка 5-6. Сглаживание следует использовать, когда есть шум и мы хотим от него избавиться. То есть, пытаемся усреднить значение в каждой точке, посмотрев на значения соседей, и если это какой-то выброс, то мы это значение уберём.

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

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

Можно обнаруживать линии, изменив немного вид ядра. Если мы зададим ядро вот такого вида, мы будем хорошо обнаруживать горизонтальные линии, такого вида — под углом 45°, вертикальные и -45°. Здесь пример обработки исходной картинки, ядро на -45° и бинаризация.

Вообще, выделение контуров и линий и точек, это выделение точечных особенностей. Существует множество алгоритмов выделения, сейчас мы поговорим об их основах.

Как найти перепад яркости на изображении. Что есть перепад яркости? Это когда у нас были пикселы одного цвета, а потом стали пикселы другого цвета. Если мы посмотрим на профиль картинки, сначала было всё чёрное, потом — раз, стало серое. Или оно плавно изменялось. То есть, у нас есть скачок или перепад яркости. Для того чтобы его выделить, можно просто взять производную. В плоских значениях (там, где яркость не меняется) производная равна 0. Там где яркость меняется, там чем выше перепад, тем больше будет значение производной. Первая производная позволит выделить участок плавного изменения яркости. Есть такое понятие как zero crossing line. Если мы посчитаем значения производных и их соединим, то можем предположить, что контур расположен где-то вот в этой точке, там, где мнимая прямая пересекает вот этот уровень.

Как можно посчитать производную на картинке и что из себя представляет градиент изображения? Мы смотрим, насколько изменяется вдоль x и y наша яркость.

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

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

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

С помощью определённых масок можно посчитать вторую производную, по x и по y. Помимо того что мы можем посчитать контуры, иногда нужно повысить резкость. Когда мы сглаживаем картинку, мы теряем детали. Если мы возьмём оригинал и вычтем из него результат сглаживания, то мы получим некие контуры.

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

То есть, из единичного фильтра вычитаем Гаусса и получаем вот такую бяку, называемую лапласиан Гаусса, или иначе — Mexican Hat.

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

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

habr.com

Морфологическая обработка изображений. Лекции от Яндекса / Яндекс corporate blog / Habr

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

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

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

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

Ещё как в школе (я не знаю кто где начал изучать теорию множеств) рисуют множество, чтобы пояснить, что такое объединение пересечений и так далее. Тут самое интуитивное понятие — это как раз те же самые картинки и есть. В трёхмерном случае у нас добавляется ещё одна координата, это значение яркости. А так в остальном всё то же самое. Базовую теорию операции множеств, я надеюсь, все знают и помнят.

Если у нас есть два множества a и b, мы их можем объединить. Это будет множество точек, которые входят либо в a, либо в b. Мы можем их пересечь пересечением — будет множество точек, которые входят и туда, и сюда. Мы можем построить дополнение к множеству, это будет множество точек, которое не принадлежит множеству a. И можем вычесть одно множество из другого, соответственно это будет множество точек, принадлежащее первому и не принадлежащих второму.

В математической морфологии есть ещё две операции, которые может не столь базовые, но тоже столь понятные. Это центральное отражение множества, здесь под множеством понимаем множество пар х, у. Если у нас есть набор этих пар х, у, тогда центральным отражением будет множество, отражённое относительно начала координат или какого-то другого как бы заданного начала координат.
Параллельный перенос, соответственно, сдвинутое множество на какое-то заданное число z. Если у нас здесь было начало координат, начальное множество а было здесь, потом мы его подвинули куда-то. Но z — это соответственно тоже вектор, то есть мы сдвигаем по х и по у.

Тут отображено центральное отражение, соответственно, если оно было изначально где-то здесь, его можно отразить наверх.

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

Это обычно множество, то есть оно вида такого же, как картинка. Предполагается в бинарной морфологии, что у него тоже есть только белые и чёрные точки. Оно обычно существенно меньшей формы, чем изображение, то есть чаще всего размер там 3, 5, 15 пикселей — не больше.
Вот это некое подобие маски, которое мы обсуждали, когда говорили про пространственные линии фильтрации изображения.

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

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

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

Erosion — сужение, это такое похудение объекта, которое было на изображении. И сейчас мы посмотрим, как всё это происходит.

Две ещё не менее важные операции, которые используются, — это размыкание и замыкание (opening/closing), которые строятся как суперпозиция из первых двух базовых. И собственно, что они делают, это тоже мы с вами проговорим.

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

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

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

Операция «эрозия» в некотором смысле обратна расширению. Не в математическом смысле обратна. Эрозией или размыванием ещё называют следующий результат. Здесь у нас опять синенький квадрат, это наше исходное множество. Диск — это структурный элемент и результатом эрозии является такое множество, что если мы помещаем, ну то есть, так что мы передвигаем структурный элемент по нашему исходному множеству и берём только те точки, которые покрываются и изображением, и структурным элементом. То есть, если у нас вдруг структурный элемент начинает вылезать за пределы картинки, то все точки структурного элемента должны помещаться в исходный объект. Здесь центр не играет такой большой роли.

Здесь, соответственно, примеры эрозии. Тот же самый объект, который у нас был с расширением, структурный элемент точно такой же, но здесь исходный объект помечен пунктиром, а результат эрозии закрашен в серый цвет. Тут тоже исходный объект и результатом эрозии будет линия.
Ещё один пример эрозии — эрозия с последующим расширением. Здесь сначала была картинка из крупных квадратиков и мелких точек. Сначала была применена эрозия со структурным элементом, размер которого превышает размер мелких квадратиков, но меньше, чем крупные. И мы видим, что у нас в итоге остались только крупные в виде очень похудевшем. А дальше можно применить расширение, чтобы их нарастить.

На самом деле, такое последовательное применение эрозии и расширения образует две наиболее часто использующие производные операции. Одна из них — размыкание, открытие (opening). Вторая — замыкание (closing). Отличаются они только порядком операции. Размыкание — когда мы сначала производим эрозию, потом — расширение. Замыкание — наоборот.
Собственно, разница в эффектах следующая: в первом случае, когда мы применяем эрозию, у нас сглаживаются контуры объекта как бы изнутри, то есть мы углы объекта округляем. А в том случае, если мы применяем замыкание, тогда у нас тоже сглаживаются углы объекта, но как бы снаружи. То есть получается, что у нас реакцию размыкания можно представить так, как будто бы вы обкатываете шариком контуры объекта, они становятся гладкие. Замыкание — это когда наоборот мы делаем соответственно расширение, а потом — делаем эрозию.

Основные свойства у них следующие. Если мы берём исходный элемент а, структурный элемент b, то результат размыкания всегда будет лежать внутри исходного объекта. А здесь наоборот. Исходный объект будет содержать в себе замыкание. Если у нас есть два множество c и d, c является подмножеством d, то при выборе одного и того же структурного элемента, что результат размыкания, что результат замыкания тоже будет, ну то есть отношение вложенности сохранится. Свойства 2 и 3 у них одинаковые. Ну и повторное применение одной и той же операции (размыкание, размыкание) будет эквивалентно одному размыканию, то же самое с замыканием.

Ещё несколько примеров. Здесь исходное множество а, в качестве множества b и структурного элемента тут снова диск. Пунктиром обозначены контуры исходного объекта. Delation будет выглядеть следующим образом. Если у нас размер структурного элемента больше, чем наша перемычка здесь между этими объектами, то они поделятся на две составляющие. Дальше, если мы после этого поверх этого результата проведём операцию расширения, то результат будет выглядеть следующим образом. Исходный чуть прорастёт, но, тем не менее, перемычка здесь не восстановится. Здесь к исходному множеству сначала применяем операцию расширения, потом операцию эрозии. Здесь у нас перемычка сохраняется, углы тоже сглаживаются и заполняются ещё какие-то такие выпуклости.

Комбинируя все эти операции, можно выполнять различные задачи. Одна из таких классических так называемая Hit-or-Miss Transform, и по-русски её обзывают преобразование «Успех и удача». Когда у вас есть изображение, вы точно знаете, что на этом изображении должен быть объект определённой формы, знаете его размер и хотите найти его координаты. Используется составной структурный элемент. Один для выделения объекта, второй — для выделения фона. То есть мы пытаемся с помощью первого структурного объекта обрисовать объект, который мы ищем, а с помощью второго, как будет выглядеть фон вокруг него. Вот здесь пример. Обозначается он звездочкой в кружочке.

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

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

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

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

Собственно, тогда операция будет происходить следующим образом. Берём некий структурный элемент, к примеру, вот такой, у нас наше исходное множество, его дополнение, мы изначально строим, соответственно, х0 — это у нас какая-то точка внутри элемента.

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

Строим и пересекаем с дополнением k каждый раз, на каждом шаге и до тех пор это проделываем, пока у нас xk не перестанет отличаться от xk-1.
Получается залитый объект. В этом случае контур должен быть не тоньше чем половина структурного элемента? Помимо этого, можно решать тоже важную задачу про выделение связных компонент (выделение компонент связности), тоже с помощью последовательного применения морфологических операций. Если кто помнит, на первой лекции я рассказывала про двухпроходный алгоритм выделение связных компонент. На мой взгляд, он более удачен, чем тот, который можно делать с помощью морфологии. Но тем не менее, чтобы были в курсе.

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

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

Тут суть в том, что они должны быть разные. Можно попробовать, давайте проговорим, что происходит здесь, потом подумаем, почему квадрат не сработает. Квадрат без центра нам говорит о том, что мы обязаны иметь вот здесь вот единички. Результат, соответственно, этого Hit-or-Miss с масками вот такого вида или с единичками обязательными, будет разным. Если мы прогоняем, требуя наличия только одной из граней, или если мы требуем наличия всех.

Я думаю, если выбрать другой набор этих самых структурных элементов, если туда возможно добавить еще диагонали, то тогда мы сможем построить меньшей площади фигуру. Соответственно, что здесь происходит: мы для каждого из этих структурных элементов выполняем этот самый Hit-or-Miss и объединяем его с исходной фигурой.

Следующая вещь, которую можно сделать, построить так называемое утончение объекта. То есть что-то вроде остова, но остовом не являющееся. Я не хочу, чтобы вы запомнили операции, которые можно сделать. Я хочу, чтобы вы из этой лекции запомнили, как выглядят 4 основные операции, это соответственно расширение, эрозия, размыкание, замыкание, и понимали, как они работают. И плюс к этому знали ещё, что можно сделать в принципе с помощью морфологических операций — что можно сделать заливку, можно построить оболочку, можно выделить связные компоненты, и можно сделать то, что я сейчас перечисляю.

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

Соответственно, здесь для разных операций количество структурных элементов, которые вам нужно, меняется. То есть здесь их нужно 8 для построения того самого утончения, такого вида, строятся они соответственно следующим образом. Нам нужно взять исходный элемент, построить для каждого из этих b опять Hit-or-Miss и вычесть из того, что было.

Тут показаны последовательно, здесь выполнение с первым с b1, потом с b2, с b3, с b4, с b5, b6, b7, b8. Мы их поменяем до тех пор, пока не будет схождения. Когда у нас фигура перестаёт меняться, мы её вычитаем. Тем самым получаем такую тонкую штуку.
В некотором роде можно делать обратную операцию утолщения, когда у нас есть исходный объект, и мы хотим его нарастить слегка.

На самом деле, утолщение редко применяется. И даже если нужно сделать что-то подобное, чаще всего берут, строят сначала дополнение к объекту, потом утончение полученного дополнения, которое и будет, собственно говоря, утолщением фона. То есть берут сначала дополнение к объекту, берут фон и строят утончение фона. Потом обратно — берут дополнение к получившемуся уточнению, и оно является утолщением. Это оказывается дешевле, чем строить утолщение в том виде, как здесь описано.

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

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

Строятся частичные остовы следующим образом. Мы берём множество а и к нему k раз применяем, b — это структурный элемент, совершенно точно, вычитаем b. И вычитаем еще результат этой разности с открытием к b. Можно еще строить так называемое усечение — попытка удалять ненужные концы, ненужные края. Если у нас есть, к примеру, символ, и у нас есть некие мусорные концы, то можно построить усечение фигуры таким образом, чтобы удалить эти ненужные края. Тоже с помощью соответственно различных операций и с различными структурными элементами. Тут их, соответственно, 8 структурных элементов такой формы, то есть b1, b2, b3, b4, ну здесь показано b1, b2 — это то же самое, повернутое на 90 градусов, b3 — на 180, b4 — на 270. И b5, b6, b7, b8 то же самое, только диагональное. Элемент h — это единичный куб.

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

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

habr.com

Обработка изображений: основные методы

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

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

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

обработка изображений

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

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

 цифровая обработка изображений

Существует несколько универсальных методов для подготовки картинок для будущих проектов. Из основных можно выделить следующие:

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

Идеальный баланс белого — залог качественной картинки

Цветопередача имеет большое значение для восприятия картинки. Обработка изображений для баланса белого придаёт им реальную цветность и действительность.

устройства обработки изображений

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

Экспозиция не только у фотоаппарата, но и в обработке

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

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

Обработка шумов — устранение лишнего

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

Искажения

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

Детализация позволит разглядеть всё

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

Контраст — выделение ключевых особенностей и деталей

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

Композиция

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

Ретушь — общий метод

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

Размер

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

Уменьшение без обработки может придать картинке неестественный муар. Поэтому применять изменение размера нужно после проведения работ по обработке изображения.

Программы для обработки изображений

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

GIMP — бесплатный и мощный

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

обработка графических изображений

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

Adobe Photoshop — настоящий комбайн в графике

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

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

методы обработки изображений

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

PhotoScape

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

Из плюсов программы можно выделить бесплатное распространение, русскую локализацию, подключение плагинов и поддержку RAW.

Picasa

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

системы обработки изображений

Приложение бесплатно, однако Google с 2016 года прекратил его поддержку. При этом последние версии использовать можно.

Paint.NET

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

программа для обработки изображений

Для введения в мир профессиональной обработки изображений подойдёт идеально.

CorelDRAW

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

Онлайн-обработка

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

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

Заключение

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

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

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

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

fb.ru

Алгоритмы выделения контуров изображений / Habr

В свете недавних статей об обработке изображений я хотел бы немного рассказать об алгоритмах выделения контуров: методы Робертса, Превитта и Собеля (эти методы взяты для рассмотрения как самые известные и часто используемые).

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

Схема пространственной фильтрации иллюстрируется на рисунке ниже (см. рисунок 1).


Рисунок 1. Схема пространственной фильтрации

Процесс основан на простом перемещении маски фильтра от точки к точке изображения; в каждой точке (x,y) отклик фильтра вычисляется с использованием предварительно заданных связей. В случае линейной пространственной фильтрации отклик задается суммой произведения коэффициентов фильтра на соответствующие значения пикселей в области, покрытой маской фильтра. Для маски 3х3 элемента, показанной на рисунке 1, результат (отклик) R линейной фильтрации в точке (x,y) изображения составит:

(1.1)

что, как видно, есть сумма произведений коэффициентов маски на значения пикселей непосредственно под маской. В частности заметим, что коэффициент w(0,0) стоит при значении f(x,y), указывая тем самым, что маска центрирована в точке (x,y).

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

Первая производная одномерной функции f(x) определяется как разность значений соседних элементов:

(1.2)

Здесь использована запись в виде частной производной для того, чтобы сохранить те же обозначения в случае двух переменных f(x,y), где придется иметь дело с частными производными по двум пространственным осям. Использование частной производной не меняет существа рассмотрения.

Аналогично, вторая производная определяется как разность соседних значений первой производной:

(1.3)

Вычисление первой производной цифрового изображения основано на различных дискретных приближениях двумерного градиента. По определению, градиент изображения f(x,y) в точке (x,y) — это вектор [2]:

(1.4)

Как известно из курса математического анализа, направление вектора градиента совпадает с направлением максимальной скорости изменения функции f в точке (x,y) [2].
Важную роль при обнаружении контуров играет модуль этого вектора, который обозначается ∇f и равен

(1.5)

Эта величина равна значению максимальной скорости изменения функции f в точке (x,y), причем максимум достигается в направлении вектора ∇f. Величину ∇f также часто называют градиентом.

Направление вектора градиента также является важной характеристикой. Обозначим α(x,y) угол между направлением вектора ∇f в точке (x,y) и осью x. Как известно из математического анализа [2],

(1.6)

Отсюда легко найти направление контура в точке (x,y), которое перпендикулярно направлению вектора градиента в этой точке. А вычислить градиент изображения можно, вычислив величины частных производных ∂f/∂x и ∂f/∂y для каждой точки.

Оператор Робертса

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


Рисунок 2. Окрестность 3х3 внутри изображения

Один из простейших способов нахождения первых частных производных в точке состоит в применении следующего перекрестного градиентного оператора Робертса [1]:

(1.7)
и
(1.8)

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


Рисунок 3. Маски оператора Робертса

Реализация масок размерами 2х2 не очень удобна, т.к. у них нет четко выраженного центрального элемента, что существенно отражается на результате выполнения фильтрации. Но этот «минус» порождает очень полезное свойство данного алгоритма – высокую скорость обработки изображения.

Оператор Превитта

Оператор Превитта, так же как и оператор Робертса, оперирует с областью изображения 3х3, представленной на рисунке 2, только использование такой маски задается другими выражениями:

(1.9)
и
(1.10)

В этих формулах разность между суммами по верхней и нижней строкам окрестности 3х3 является приближенным значением производной по оси x, а разность между суммами по первому и последнему столбцам этой окрестности – производной по оси y. Для реализации этих формул используется оператор, описываемый масками на рисунке 4, который называется оператором Превитта.


Рисунок 4. Маски оператора Превитта

Оператор Собеля

Оператор Собеля тоже использует область изображения 3х3, отображенную на рисунке 2. Он довольно похож на оператор Превитта, а видоизменение заключается в использовании весового коэффициента 2 для средних элементов:

(1.11)
и
(1.12)

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

Маски, используемые оператором Собеля, отображены на рисунке ниже (см. рис. 5).


Рисунок 5. Маски оператора Собеля

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

(1.14)
или
(1.15)

Ну и в завершении продемонстрирую результаты обработки изображений (см. рисунки 6-8) описанными методами.


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


Рисунок 7. Исходное изображение №2


Рисунок 8. Исходное изображение №3

Результаты обработки методами Робертса, Превитта и Собеля продемонстрированы ниже:



Рисунок 9. Исходные изображения после обработки методом Робертса




Рисунок 10. Исходные изображения после обработки методом Превитта




Рисунок 11. Исходные изображения после обработки методом Собеля

Список литературы

  1. Р. Гонсалес, Р. Вудс Цифровая обработка изображений — М: Техносфера, 2005 – 1007с
  2. Кудрявцев Л.В. Краткий курс математического анализа – M.: Наука, 1989 – 736с
  3. Анисимов Б.В. Распознавание и цифровая обработка изображений – М.: Высш. школа, 1983 – 295с

habr.com

Введение в курс «Анализ изображений и видео». Лекции от Яндекса

Мы начинаем публиковать лекции Натальи Васильевой, старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS клуба

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

Изображения везде вокруг нас. Объёмы мультимедиа информации растут с каждой секундой. Снимаются фильмы, спортивные матчи, устанавливается аппаратура для видеонаблюдения. Мы сами каждый день снимаем большое количество фотографий и видео — такая возможность есть почти у каждого телефона.

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

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

Что же такое анализ изображений? Это во многом смежная и пересекающаяся с компьютерным зрением область. Точного и единственного определения у неё нет. Для примера приведем три.

Computing properties of the 3D world from one or more digital images. Trucco and Veri

В этом определении подразумевается, что вне зависимости от того, есть мы или нет, существует какой-то окружающий мир и его изображения, анализируя которые мы хотим что-то о нём понять. И это подходит не только для определения анализа цифровых изображений машиной, но и для их анализа нашей головой. У нас есть сенсор — глаза, у нас есть преобразующее устройство — мозг, и мы воспринимаем мир путем анализа тех картинок, которые видим.
Make useful decision about real physical objects and scenes based on the sensed images. Shapiro

Наверное, это больше относится к робототехнике. Мы хотим принимать решения и делать выводы о реальных объектах вокруг нас на основе изображений, которые уловили сенсоры. К примеру, это определение идеально подходит под описание того, что делает робот-пылесос. Он принимает решение о том, куда ему дальше ехать и какой угол пылесосить на основании того, что он видит.
The construction of explicit, meaningful decisions of physical objects from images

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

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

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

Связь с другими дисциплинами


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

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

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

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

Для чего нужен анализ изображений


Существуют огромные архивы и коллекции изображений, и одной из самых главных задач является индексирование и поиск картинок. Коллекции бывают разные:
  • Персональные. Например, в отпуске человек может сделать пару тысяч фотографий, с которыми потом нужно что-то делать.
  • Профессиональные. Они насчитывают миллионы фотографий. Здесь тоже есть необходимость как-то их организовывать, искать, находить то, что требуется.
  • Коллекции репродукций. Это тоже миллионы изображений. Сейчас у большого количества музеев есть виртуальные версии, для которых оцифровываются репродукции, т.е. мы получаем изображения картин. Пока утопичная задача — поиск всех репродукций одного и того же автора. Человек по стилю может предположить, что видит, допустим, картины Сальвадора Дали. Было бы здорово, если бы этому научилась и машина.

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

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

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

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

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


Сейчас совершенно потрясающие вещи происходят в медицине.
  • Выявление аномалий. Уже широко известная и решаемая проблема. К примеру, по рентгеновскому снимку пытаются понять, здоров пациент или нет — отличается ли этот снимок от снимка здорового человека. Это может быть как снимок всего тела, так и отдельно кровеносной системы, чтобы выделить из нее аномальные сосуды. В рамках этой задачи — поиск раковых клеток.
  • Диагностика заболеваний. Также делается на основе снимков. Если у вас есть база снимков пациентов и известно, что первая аномалия встречается у здоровых людей, а вторая означает, что человек болен раком, то, основываясь на подобии изображений, можно помочь врачам с диагностикой заболеваний.
  • Моделирование организма и предсказание последствий лечения. Сейчас это то, что называется, cutting edge. Хотя мы все и похожи, каждый организм устроен индивидуально. Наример, у нас может быть разное расположение или толщина кровеносных сосудов. Если человеку требуется соединить разорванный сосуд шунтом, то определить, где его ставить, можно, основываясь на экспертном мнении врача, а можно — смоделировав по снимку кровеносную систему и «вставив» шунт в этой модели. Так мы получим возможность увидеть, как изменится кровоток, и предсказать, как пациент будет себя чувствовать при разных вариантах.

Еще одна область применения – это системы безопасности. Кроме использования отпечатков пальцев и сетчатки глаза для авторизации, здесь есть и не решенные пока задачи. Например, **обнаружение «подозрительных» предметов**. Её сложность в том, что вы не можете заранее дать описание того, что является подозрительным предметом. Другая интересная задача — **выявление подозрительного поведения** человека в системах видеонаблюдения. Невозможно предоставить все возможные примеры аномального поведения, поэтому распознавание будет устроено на выявлении отклонений от того, что помечено как нормальное.

Есть еще большое количество областей, где используется анализ изображений: военная промышленность, робототехника, кинопроизводство, создание компьютерных игр, автомобилестроение. В 2010 году одна итальянская компания оснастила камерами грузовик, который, используя карты и сигнал GPS, на автоматическом управлении проехал от Италии до Шанхая. Путь проходил и через Сибирь, не все дороги которой есть на картах. На этом отрезке карту ему передавал управляемый человеком автомобиль, который ехал перед ним. Грузовик же сам распознавал дорожные знаки, пешеходов и понимал, как ему можно перестраиваться.

Сложности


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

Человек, глядя на картинку, понимает её семантику. Компьютер же понимает цвет пикселей, умеет выделить текстуру и в конечном счете отличить кирпичную стену от ковра и распознать на фотографии человека, но определить, счастлив ли он, машина ещё может. Мы сами не всегда можем это понять. То есть автоматическое понимание того, скучают ли студенты на лекции, — это следующий уровень.

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

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

Есть еще ряд сложностей, с которыми анализ изображений еще не справился.

Зрительное восприятие человека


Наш мозг часто «достраивает» картинку и добавляет семантику. Мы все можем увидеть «что-то» или «кого-то» в очертании облака. Зрительная система самообучается. Европейцу сложно различать лица азиатов, так как обычно в жизни он редко их встречает. Зрительная система научилась улавливать различия в европейских лицах, а азиаты, которых он видел мало, кажутся ему «на одно лицо». И наоборот. Был случай с коллегами из Пало-Альто, которые совместно с китайцами разрабатывали алгоритм обнаружения лиц. В итоге он чудесно находил азиатов, но не мог увидеть европейцев.

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

Глаз способен воспринимать очень большие диапазоны яркости, но делает это хитрым образом. Зрительная система адаптируется к диапазону значений яркости порядка 10^10. Но в каждый конкретный момент мы можем распознать небольшой участок яркости. То есть наш глаз выбирает себе какую-то точку, адаптируется к значению яркости в ней и распознает только небольшой диапазон вокруг этой точки. Все то, что темнее, кажется черным, все то, что светлее — белым. Но глаз очень быстро перемещается и мозг достраивает картинку, поэтому мы видим хорошо.

Субъективная яркость – логарифм от физической яркости. Если мы посмотрим на изменение яркости какого-либо источника и станем изменять яркость линейно, наш глаз будет воспринимать ее как логарифм.

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

habr.com

Обработка изображений в цифровой фотографии. Журнал Publish.

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

«Новая технология диктует новые правила. То, чем вчера занимались только супер-профессионалы, сегодня делает каждый. Добро пожаловать в цифровой век! Кому нужны чемоданы ч/б пленок, ворохи выцветших потертых снимков?! Перед вами цифровая вечность! Почувствуйте себя творцом!» — кричат нам компании-лидеры рынка цифровой фотографии. И вот уже в руках фотолюбителей и профессионалов замелькали новенькие камеры. Налицо почти всеобщая эйфория: нажал на кнопку — получи результат. «Шу-шу… мегапикселей, шу-шу… оптический зум», — нахваливает свою продукцию менеджер-продавец. Как тут удержаться неискушенному потребителю? Брать, и брать не раздумывая! Но как только вожделенный продукт оказывается в руках, выясняется, что есть у модной технологии и проблемы, только о них «забыли» предупредить. И все чаще пользователь слышит: «Мы не знаем; работа в этом направлении ведется».

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

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

Как ни странно, но с точки зрения обработки изображений с приходом «цифры» ничего не изменилось (имеется в виду не технология получения снимков, а методы их обработки). Вспомните, как выглядела раньше оцифровка фотоматериалов: съемка, проявка, печать, сканирование. Цифровая фотография совместила все этапы, так что получение графического файла стало занимать меньше времени, но проблемы обработки остались, ведь в современных сканерах и цифровых фотоаппаратах используется общая элементная база (матрицы ПЗС, аналого-цифровые преобразователи).

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

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

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

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

«Мегапиксельная гонка», развернутая ведущими производителями, вселяет надежду, что года через полтора полупрофессиональная «цифра» (не говоря уж о профессиональных моделях) в ценовой категории до 1000 долл. с лихвой покроет возможности 35-мм пленки. А многих вполне устраивает и сегодняшнее разрешение цифровиков.

Что же еще нужно счастливому фотографу? Сущая мелочь — широкий тоновый диапазон. Имеется в виду диапазон яркостей экспонируемой сцены, т. е. фиксация деталей в глубоких тенях и ярких светах одновременно. Казалось бы, пустяк, но нет! Здесь-то и кроется ключевое отличие двух технологий.

Главная проблема цифровой фотографии в том, что информация, не захваченная при экспонировании, безнадежно утрачивается. Никакие математические операции восстановить ее не смогут — если вы не вписались в рабочий диапазон аппарата, то снимок испорчен. Широта возможного тонового диапазона цифровой камеры зависит от конструктивных особенностей, в первую очередь от свойств светочувствительной матрицы и аналого-цифрового преобразователя. Сама физическая природа полупроводниковых приборов накладывает серьезные ограничения на их возможности, и сегодня диапазон тонов «цифры» намного уже, чем у пленки, что не оставляет фотографу права на ошибку (в случае неверно установленных параметров экспозиции детали в тенях при цифровой съемке теряются).

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

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

Этапы обработки цифрового изображения

Цифровая съемка предполагает пять основных этапов, несущих потенциальную опасность исказить или вовсе утратить драгоценные данные:

  1. Экспонирование. С него начинается процесс преобразования информации.
  2. Оцифровка. Во время экспонирования свет, отраженный объектами сцены, проходит через оптическую систему камеры и попадает на светочувствительную матрицу. Под действием света ячейки матрицы вырабатывают электрический ток. Сигналы подвергаются оцифровке, результат которой впрямую зависит от качества электроники и выбранного режима работы аппарата. На обработке сказываются многие факторы: фоновый ток матрицы, тепловые шумы, интерполяция пространственного Байеровского фильтра, баланс белого, гамма-коррекция (а еще есть функции подавления шумов, повышения резкости, увеличения чувствительности и т. д.). Повлиять на оцифровку мы можем лишь отчасти. Основные факторы лежат в области технических решений, реализованных на аппаратном уровне.
  3. Сохранение данных. Зафиксированное изображение должно быть сохранено в памяти цифровой камеры, проблема сводится к выбору подходящего графического формата. Практически все камеры предлагают как минимум два метода: форматы, использующие компрессию с потерями, и без нее. Любые потери с идеалистических позиций, безусловно, негативный факт, но зачастую они столь незначительны, что ими можно пренебречь, получив значительный выигрыш в числе снимков, помещающихся в память камеры.
  4. Коррекция (редактирование). После получения снимка большинство пользователей желают, как правило, слегка его поправить: осветлить/затемнить, повысить резкость, исправить цветовой баланс и т. д. На этом этапе традиционно применяются различные пакеты растровой графики (Adobe Photoshop или простенький редактор, поставляемый с камерой). Но недостаточное понимание процессов редактирования приводит к последствиям более грозным, чем ошибки на всех предыдущих этапах вместе взятые.
  5. Вывод на печать. Последняя возможность испортить изображение, даже если до сих пор все сделано правильно. Иногда в этом вина не столько пользователей, сколько разработчиков, но поверьте: всегда есть способ и эту ответственную процедуру выполнить с минимальными потерями.

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

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

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

Рис. 1. Ручной брекетинг. Примеры недостаточной, избыточной и нормальной экспозиции.

Оценить качество экспозиции трудно, для этого надо как минимум видеть готовый результат. Многие делают выводы, глядя на экран компьютера — такая оценка субъективна и зависит от множества факторов (далеко не все знают, как правильно откалибровать монитор). Но существует и объективный метод анализа изображений — использование гистограмм, графиков распределения тонов в изображении — увы, далеко не все камеры имеют подобные функции. К счастью, гистограмму графического изображения можно посмотреть в любом растровом редакторе, например, Adobe Photoshop (команда Image, Histogram).

2. Чувствительность. По аналогии с традиционной фотографией в «цифре» есть возможность изменения чувствительности при съемке.

Установка чувствительности цифровой камеры в некотором смысле парадокс — ведь не меняется же сама CCD-матрица или ее физические свойства! За что же тогда отвечает этот параметр?

В традиционной фотографии чувствительность пленки определяет рабочие диапазоны освещенности (измеряется в единицах ISO). Пленка с чувствительностью в 100 единиц годится для съемки в солнечную погоду, но неважно ведет себя при съемке вечером или в сумерках — для этого существуют пленки 400, 800 и 1600 единиц. Большие значения этого параметра достигаются за счет увеличения размеров светочувствительных кристаллов в фотоэмульсии, соответственно, увеличивается зернистость снимков. Теоретически, можно всегда пользоваться пленкой с малой зернистостью, но тогда для съемки темных сцен потребуются слишком длинные выдержки, что недопустимо при экспонировании движущихся объектов.

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

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

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

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

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

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

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

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

Автоматика хорошо отрабатывает освещение однотипными источниками, но при комбинированном освещении (дневной или искусственный свет, лампы накаливания, вспышка) она просто беспомощна. Проблема настройки цветового баланса столь велика, что ей будет посвящена отдельная статья.

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

Анализ гистограмм

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

Рис. 2. Общий вид гистограммы

Гистограмма — столбчатая диаграмма, отображающая количество пикселей изображения (по вертикали), имеющих заданный уровень яркости (по горизонтали). Поскольку пикселей может быть очень много, гистограмма при отображении обычно нормируется (рис. 2). Для тонкой настройки общей гистограммы яркости чаще всего недостаточно, поэтому строят гистограммы для каждого канала: красного (Red), зеленого (Green) и синего (Blue). Каналы, полутоновые изображения в градациях серого, хранят информацию о распределении одного компонента цветовой модели RGB. Максимуму интенсивности в канале отвечают области высокого содержания соответствующей составляющей.

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

Для удобства описания областей гистограммы диапазон тонов делят на три части (рис. 2): тени (области низкой яркости, shadows), света (области высокой яркости, highlights) и средние тона (области средней яркости, midtones).

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

Определение тонового характера изображения

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

Для объективного определения тонового характера изображения необходимо мысленно найти центр равновесия его гистограммы. Если положение точки равновесия смещено в сторону теней, то мы имеем дело с темным изображением, если в сторону светов — со светлым, если ярко выраженного смещения нет — со средним по тону. Положение точки равновесия можно искать как на глаз, так и по вычисленному параметру гистограммы Mean — среднему значению яркости (рис. 2). Если оно менее 100, то изображение темное, если более 150 — светлое. Конечно, нельзя слепо полагаться на указанные рекомендации, но в 95% случаев этого достаточно, чтобы точно определить тоновый характер и сделать соответствующие выводы, например, о необходимой коррекции.

Рис. 3. Определение тонового характера изображения по гистограмме

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

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

Рассмотрим типичные виды гистограмм.

1. Гистограмма темного изображения. Имеет ярко выраженное смещение тонов в сторону теней (рис. 4). Ей характерен широкий и высокий пик в левой части графика. То есть изображение считается темным, если основная масса пикселей имеет низкие уровни яркости. Но это не означает, что в нем не должно быть пикселей высокой яркости, наоборот, качественный снимок темной тональности чаще всего будет иметь на диаграмме «экспоненциальный» хвост в области ярких значений, медленно сходящий на нет к концу тонового диапазона. Из того, что тоновый характер изображения по гистограмме темный, не следует, что изображение обязательно нужно осветлять: возможно, это его истинная тональность — все зависит от сюжета.

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

2. Гистограмма светлого изображения. В некотором смысле светлая картинка (рис. 5) — прямая противоположность темной. В ее гистограмме будет широкий и высокий «холм» в области светов, определяющий основную массу пикселей изображения, и экспоненциальный спад в тенях. Вот только этот темный хвост может не достигать минимального уровня яркости — фотографии светлой тональности совершенно необязательно иметь глубокие тени.

Рис. 5. Гистограмма светлого изображения

3. Гистограмма среднего по тону изображения. Изображение может быть средним по тону либо вследствие того, что большинство пикселей имеют среднюю яркость, либо из-за равного соотношения светлых и темных пикселей в целом. На рис. 6 мы явно имеем дело с первым вариантом. Большинство обычных изображений средние по тону.

Рис. 6. Классическая гистограмма среднего по тону изображения

4. Гистограмма с «проваленными» тенями. Характерная особенность — срез края диаграммы слева в области теней (рис. 7). Такое впечатление, будто часть графика в тенях оторвана. Чувства нас не обманывают: такая гистограмма — свидетельство неверно выбранной экспозиции или неправильно выполненного сканирования.

Рис. 7. Гистограмма с «проваленными» тенями (справа). Нормальное изображение (слева).

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

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

На рис. 7 справа (тени «провалены») явно виден срез. Если посмотреть на область, выделенную белым пунктиром, то вместо складок на одежде в правом изображении мы увидим плоские черные пятна, тени же левого не такие глухие и содержат тоновые переходы.

5. Гистограмма «вылета» в светах. При избыточной экспозиции может возникать гистограмма, показанная на рис. 8. Срез справа в области высоких яркостей свидетельствует об утраченных деталях в светах. Яркая засветка привела к тому, что белые ткани одежды превратились в плоское пятно на изображении. Утрата деталей — худшее, что может случиться с цифровым снимком.

Рис. 8. Гистограмма с «вылетом» в светах

6. Гистограмма изображения с зеркальными бликами. Не удивляйтесь, что во многих ваших снимках есть легкий всплеск в области максимальных яркостей, повторяющий в миниатюре гистограмму со срезом в светах (рис. 9). Это не что иное, как следствие зеркальных бликов на поверхности запечатленных объектов. Зеркальный блик — область очень высокой яркости, возникающая в результате отражения света источника на блестящей поверхности. Зеркальные блики есть практически в любой сцене на стеклянных, металлических, гладких пластиковых объектах. Яркость их настолько велика, что никакие ухищрения не позволяют уместить их в доступный тоновый диапазон, и они естественным образом срезаются в области светов — возникает особый пик, который не следует учитывать при качественном анализе гистограмм.

Рис. 9. Гистограмма с зеркальными бликами

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

Рис. 10. Гистограмма с источниками света в кадре

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

8. Гистограмма изображения с узким тоновым диапазоном. При недостаточной экспозиции часто возникают изображения, подобные рис. 11, где доступный тоновый диапазон не используется полностью (остаются значительные области в районе высоких яркостей). Из-за этого снимок выглядит темным, хотя следовало бы ожидать средней тональности.

Рис. 11. Гистограмма изображения с узким тоновым диапазоном

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

Рис. 12. «Просевшая» гистограмма изображения, обработанного цифровыми методами.

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

9. Гистограмма изображения, обработанного цифровыми методами. Гистограмма на рис. 12 свидетельствует о проведенной коррекции фотографии цифровыми методами. При перераспределении уровней яркости некоторые значения оказываются практически неиспользуемыми, в результате получается «просевшая» (рис. 12) либо «линейчатая» (рис. 13) диаграмма. Всякий раз, сталкиваясь с таким графиком, можете быть уверены — что-то или кто-то изменил исходные данные. Ищите причину. В любом случае такая гистограмма исходного изображения свидетельствует о невысоком качестве оборудования или его драйверов.

Рис. 13 «Линейчатая» гистограмма изображения, обработанного цифровыми методами.

10. Оптимальная гистограмма. Как же все-таки должна выглядеть оптимальная гистограмма фотоизображения?

Она должна максимально эффективно использовать тоновый диапазон, плавно спадать до нуля к краям тонового диапазона (срезов ни в светах, ни в тенях быть не должно), быть относительно плавной, без разрывов. И главное, чтобы тоновый характер, определенный по гистограмме, отвечал ожидаемой тональности изображения. На рис. 14 представлена фотография, отвечающая всем этим критериям. Кроме того, она имеет два массивных пика: один в тенях (ему отвечает объект), а другой в светах (фон). Изображения, у которых различным частям сцены можно сопоставить определенные пики на гистограмме, как правило, обладают более сильным контрастом, что в определенном смысле — полезное свойство.

Рис 14. Изображение с оптимальной гистограммой

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

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

Автор приглашает к сотрудничеству специалистов и всех заинтересованных. Если у вас есть наболевшие вопросы по обработке цифровых изображений, вы можете задать их по адресу [email protected] или на конференции сайта www.publish.ru.

Об авторе: Александр Миловский — преподаватель по специальности «ПО Дизайна» факультета переподготовки специалистов Санкт-Петербургского государственного технического университета.


Хороший тон?

В русском языке слово «тон» имеет несколько значений. С одной стороны существует понятие тона как тональности (светлоты, яркости) изображения, а с другой понятие цветового тона как основного свойства цвета — параметра цветовой модели, например, HSB. Для первого случая в английском языке используется слово tone, для второго — hue. Таким образом, тоновая коррекция (tonal adjustment) — это операция воздействия на уровни яркости изображения. Если вас смущает слово «тон», мысленно замените его словом «яркость» — это не будет большой ошибкой, зато поможет в понимании терминологии.

www.publish.ru

Обработка изображений — это… Что такое Обработка изображений?

Монохромное черно-белое изображение.

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

История

Ещё в середине XX века обработка изображений была по большей части аналоговой и выполнялась оптическими устройствами. Подобные оптические методы до сих пор важны, в таких областях как, например, голография. Тем не менее, с резким ростом производительности компьютеров, эти методы всё в большей мере вытеснялись методами цифровой обработки изображений. Методы цифровой обработки изображений обычно являются более точными, надёжными, гибкими и простыми в реализации, нежели аналоговые методы. В цифровой обработке изображений широко применяется специализированное оборудование, такое как процессоры с конвейерной обработкой инструкций и многопроцессорные системы. В особенной мере это касается систем обработки видео. Обработка изображений выполняется также с помощью программных средств компьютерной математики, например, MATLAB, Mathcad, Maple, Mathematica и др. Для этого в них используются как базовые средства, так и пакеты расширения Image Processing.

Основные методы обработки сигналов

Большинство методов обработки одномерных сигналов (например, медианный фильтр) применимы и к двухмерным сигналам, которыми являются изображения. Некоторые из этих одномерных методов значительно усложняются с переходом к двухмерному сигналу. Обработка изображений вносит сюда несколько новых понятий, таких как связность и ротационная инвариантность, которые имеют смысл только для двухмерных сигналов. В обработке сигналов широко используются преобразование Фурье, а также вейвлет-преобразование и фильтр Габора. Обработку изображений разделяют на обработку в пространственной области (преобразование яркости, гамма коррекция и т. д.) и частотной (преобразование Фурье, и т. д.). Преобразование Фурье дискретной функции (изображения) пространственных координат является периодическим по пространственным частотам с периодом 2pi.

Обработка изображений для воспроизведения

Типичные задачи

Обработка изображений в прикладных и научных целях

Типичные задачи

  • Распознавание текста
  • Обработка спутниковых снимков
  • Машинное зрение
  • Обработка данных для выделения различных характеристик
  • Обработка изображений в медицине
  • Идентификация личности (по лицу, радужке, дактилоскопическим данным)
  • Автоматическое управление автомобилями
  • Определение формы интересующего нас объекта
  • Определение перемещения объекта
  • Наложение фильтров

См. также

Литература

  • Потапов А. А., Пахомов А. А., Никитин С. А., Гуляев Ю. В., Новейшие методы обработки изображений. — M.: Физматлит, 2008. — 496 с. ISBN 9785922108416
  • К. Айсманн, У. Палмер, Ретуширование и обработка изображений в Photoshop, 3-е издание. M: Вильямс, 2008. — 560 с. ISBN 978-5-8459-1078-3
  • Степаненко О. С., Сканеры и сканирование. Краткое руководство. — M.: Диалектика, 2005. — 288 с. ISBN 5-8459-0617-2
  • Д. В. Иванов, А. А. Хропов, Е. П. Кузьмин, А. С. Карпов, В. С. Лемпицкий, Алгоритмические основы растровой графики, 2007. Учебное пособие.
  • Дьяконов В. П., MATLAB 6.5 SP1/7/7 SP1/ Работа с изображениями и видеопотоками. — M.: СОЛОН-Пресс, 2010. — 400 с. ISBN 5-98003-205-2
  • Гонсалес Р., Вудс Р., Цифровая обработка изображений. — М.: Техносфера, 2005, 2006. — 1072 с. ISBN 5-94836-028-8

Ссылки

  • Ident Smart Studio (экспертная система предметно-независимого распознавания образов)

dic.academic.ru

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *