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

Окружение для приведенных ниже примеров выполнено в Octave с интерпретатором Octave для Linux.

Извлечение RGB и HSV

Извлечение изображения можно выполнить двумя способами: непосредственно из цветовой модели RGB или путем преобразования в модель HSV.

Чтобы извлечь только желтые пиксели цветка в цветовой модели RGB, нам придется рассмотреть приблизительное значение красного, зеленого и синего цветов. Затем примените порог к 3 значениям.

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

Маркировка объектов

На этом изображении более 3 объектов, и мы хотим пометить каждый объект связанными пикселями более 200 пикселей.

1) Нам нужно создать элемент структуры размером 3×3 для выполнения эрозии и последующего расширения.

2) Создайте набор пустых матриц того же размера, что и входное изображение. [В этом случае я создал 5 пустых матриц, называемых метками.]

3) Из входного изображения нам нужно найти позицию первого пикселя со значением «1» и начать расширение с этой точки. Это извлечет первый объект.

4) Проверьте, содержит ли объект не менее 200 пикселей или нет. Затем замените значение с «1» на «2», как в маркировке номера нашего объекта, и сохраните эти данные в первой пустой матрице.

5) В исходном изображении установите все значения, которые уже помечены, как «0». Затем найдите следующую начальную точку для нашего следующего объекта.

6) Повторяйте итерацию до тех пор, пока исходное изображение не будет заменено значением «0» или пока оно не станет пустым.

Фильтры

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

Фильтрацию можно разделить на две категории:

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

2) Частотный диапазон

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

Фильтрация в пространственном домене

Пример пространственной фильтрации с фильтром среднего и усреднения

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

На выходе фильтра DIY я использовал

1 0 1
1 -4 1
0 1 0

(средний фильтр) в качестве фильтрующей маски.

Фильтрация в частотной области

Определение

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

Техника

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

Примеры результатов низкочастотной фильтрации с использованием фильтра Гаусса и идеального фильтра

Фильтрация по Гауссу в частотной области:

[используя fspecial() и частоту среза = 100]

Идеальная фильтрация нижних частот в частотной области

[используя meshgrid(), частота среза = 67% от максимального расстояния]