На Горох
Информатика, 11 класс

§ 60. Фильтры

"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 60. Фильтры

Кратко о теме

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

Объяснение темы

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

Определения и обозначения

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

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

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

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

Как это устроено

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

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

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

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

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

Виды фильтров изображения и их действие

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

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

Разбор задач

Задача 1. Для фрагмента изображения заданы яркости 10, 20, 30, 40. Найти результат обработки усредняющим фильтром с равными весами. Предположим, что эти четыре значения составляют всю рассматриваемую окрестность, а правило обработки границы не добавляет к ней новых значений. Поскольку веса одинаковы, каждый пиксель влияет на результат в равной степени.

  1. Сложим яркости: 10 + 20 + 30 + 40 = 100.
  2. Разделим сумму на число значений: 100 ÷ 4 = 25.
  3. Проверим, что использованы все пиксели окрестности и каждый учтён один раз.

Ответ: новое значение яркости равно 25. В реальной фильтрации результат у края зависит от принятого правила дополнения окрестности.

Задача 2. Для окрестности 3 × 3 заданы яркости 10, 10, 11, 12, 12, 13, 13, 14, 200. Найти новое значение центрального пикселя после медианного фильтра. Значение 200 сильно отличается от остальных, поэтому обычное среднее заметно сдвинулось бы вверх. Медианный фильтр должен выбрать не среднее арифметическое, а центральное значение упорядоченного набора.

  1. Расположим девять значений по возрастанию: 10, 10, 11, 12, 12, 13, 13, 14, 200.
  2. Найдём середину списка: при девяти значениях это пятый элемент.
  3. Пятый элемент равен 12, поэтому именно его ставят на место центрального пикселя.

Ответ: новое значение центрального пикселя равно 12. Выброс 200 не сместил результат так сильно, как сместил бы среднее арифметическое.

Задача 3. Для матрицы яркостей 1, 2, 1; 2, 5, 2; 1, 2, 1 применяют ядро 0, −1, 0; −1, 4, −1; 0, −1, 0. Вычислим результат для центрального пикселя и выясним, связано ли ядро с выделением границ. Важно перемножить каждое значение именно с коэффициентом на соответствующей позиции.

  1. Центральный вклад: 5 × 4 = 20.
  2. Четыре соседних вклада: 2 × (−1) + 2 × (−1) + 2 × (−1) + 2 × (−1) = −8. Угловые пиксели умножаются на нулевые коэффициенты и ничего не добавляют.
  3. Складываем вклады: 20 − 8 = 12. Ядро сравнивает центр с соседями, а положительные и отрицательные коэффициенты усиливают перепад.

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

Типичные ошибки

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

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

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

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

Связь с другими темами

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

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

Что запомнить

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

Частые вопросы по теме

Чем фильтр изображения отличается от простого изменения яркости?

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

Что такое ядро фильтра и как оно влияет на результат?

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

Почему сглаживание может размыть изображение?

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

Чем медианный фильтр отличается от усредняющего?

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

Как обрабатывают пиксели у края изображения?

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

Спросить по теме параграфа

§ 60. Фильтры

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
11 класс
Учебник
"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.