Как стать автором
Обновить

Комментарии 17

Может ещё применить морфологическое замыкание, чтобы избавиться от дырок?
А если это тень от бублика?
Надо правильно подобрать размер структурного элемента, чтобы замыкались только маленькие дырки.
А вы не пробовали с цветным изображением? Если изображение конвертировать из RGB в HSV, возможно, будет проще определить тень (т.к. цветовой тон внутри тени и снаружи нее будет один и тот же, а вот S и V будут различаться).
Внутри конвейера только черно белое изображение, потому мне к сожалению ваш вариант не подходит.
Неверно, если источник света не белый. Даже обычные лампы имеют различные характеристики температуры цвета, а есть и «цветные» лампы. Или, допустим, свет от монитора.
Спасибо за полезную информацию.
Один вопрос — я так понимаю, этот метод годится только для неподвижной камеры? А если изображение дрожит? И фон имеет небольшие постоянные сдвиги? Тогда градиентный метод наверно работать не будет?
Если изображение дрожит, то нужно применять цифровую стабилизацию изображения. У нас для этого реализован достаточно эффективный алгоритм, позволяющий стабилизировать изображение с субпиксельной точностью.
слушайте, а насчёт повышения резкости кадра за счёт этой субпиксельной стабилизации у Вас наработки успешные есть?
А как цифровая стабилизация может поднять резкость? При наличии дрожания камеры, резкость обычно только понижается. В основном по двум причинам: 1) смазывание изображения из-за движения камеры 2) размытие изображения из-за его компенсационного субпиксельного сдвига, если последний выполняется при помощи билинейной интерполяции. Можно конечно накладывать специальные фильтры для устранения смазывания изображения, да и компенсацию выполнять другими методами (например, бикубической интерполяцией), однако это все довольно ресурсоёмко. Кроме того, для наших целей (аналитическая обработка изображения и детектирование движения) это размытие особо не мешает, а иногда даже помогает.
Если разбираться на субпиксельном уровне, то следующий кадр содержит информацию о практически той же картинке, но при чуть другом наложении границ элементов снимаемого изображения на другие границы пикселей. Поэтому, должна быть потенциальная возможность таким образом уточнить границы элементов изображения, и тем самым повысить резкость и разрешение снятой картинки. Это почти как избавляться от смаза, только на шаг глубже. Цифровая стабилизация с плюсом.

Тот факт, что Вам в Ваших задачах это не оказывается нужным — снимает этот мой вопрос к Вам.
Да такая потенциальная возможность есть — теоретически можно даже повысить разрешение картинки путем анализа последовательных, слегка смещенных изображений (если данные смещения контролируемые). Однако на практике, оказывается у данного метода масса подводных камней — это цифровой шум, смазывание картинки из-за смещения камеры во время захвата кадра, погрешность метода определения субпиксельного сдвига, произвольность направление смещения и амплитуды камеры во время дрожания, как и периодичности этого процесса сводят на нет практическую применимость данного подхода.
Задача действительно математически весьма не проста. Но кстати, её решение может и от шумов избавить, и динамический диапазон подзадрать.
Реализуй кто такой алгоритм, да ещё на встраиваемых в фотики процессорах — озолотится!
Интересно! Сразу возникает идея сделать на основе этого 3d манипулятор. На основании взаимного расположения объекта и тени можн судить о положении самого объекта в 3-х мерной системе координат. Фиксируем свет и вуаля! Можем руками оперировать с тем, что у нас на экране используя только лампочку и веб камеру.
Еще пара идей:
Можно попробовать смотреть, меняется ли цвет в каналах A и В, цветовой модели LAB или канала H, пространства HSL. У искомого объекта цвет должен практически гарантированно отличаться, тогда как тень свой цвет будет изменять не так сильно.
Вторая идея — сравнивать высокие частоты изображения. Ситуация та же — высокие частоты сам объект должен менять намного сильнее, чем тень от него.

Проверять алгоритмы на работоспособность стоит так же и при нескольких источниках света разного цвета, мне кажется. Это усложняет задачу но сильно уж распространенная ситуация. Как вариант — искать заведомо затемненное место и брать образец цвета тени из него — разный цвет в тени явление более редкое чем просто цветная тень
Можно исходную картинку? Посмотреть что там по каналам
Упс, стоило сначала прочесть все комментарии
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории