Я бы попытался выполнить высокочастотную фильтрацию ваших 2d-данных.
Согласно Фурье, каждый сигнал можно преобразовать в "частотное пространство", проанализировав, какие частоты находятся в сигнал. Это также относится к 2D-сигналам, таким как изображения.
С помощью «фильтра высоких частот» вы удаляете все низкочастотные составляющие, такие как постоянные смещения и медленные градиенты. Применительно к изображению он может служить простым алгоритмом «обнаружения краев». Глядя на образец, может быть легче понять:
Я взял изображение паука на стене откуда-то из Интернета (вверху слева). Затем я уменьшил яркость этого изображения (внизу слева). Для обеих версий я применил фильтр верхних частот с помощью GIMP (этот плагин). Для обоих входных изображений выходные данные выглядят очень похоже.
Моя рекомендация: сначала примените фильтр верхних частот, а затем посмотрите на различия.
Возможные проблемы
В соответствии с просьбой, вот некоторые проблемы, которые я могу себе представить.
Нет острых краев: если объект, который вы хотите обнаружить, не имеет острых краев, вы, вероятно, отфильтруете его с помощью фильтрации HF-pass. Но что это могут быть за объекты? Они должны быть огромными, плоскими (чтобы не давать теней) и неструктурированными.
Отличается только цвет, а не яркость: если объект отличается только своим цветом, а яркость такая же, как у фона, преобразование оттенков серого может быть проблемой. Но если вы столкнетесь с этой проблемой, просто анализируйте R, G, B-данные отдельно, то хотя бы один канал должен помочь обнаружить объект — иначе его все равно не увидеть.
Редактировать В ответ на ???, если вы также отрегулируете уровни изображения с фильтром верхних частот (которое, конечно, составляет около 0,5 * 256), просто снова нормализовав его до диапазона 0, 256 Вы получаете
Что, вероятно, не хуже вашего результата. Но HP-фильтры просты и при использовании БПФ очень быстры.
person
Thorsten Kranz
schedule
21.01.2013