Обновить
59.92

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

Работаем с фото и видео

Сначала показывать
Порог рейтинга
Уровень сложности

Алгоритм морфологического сглаживания MLAA для CPU

Время на прочтение2 мин
Количество просмотров11K
Компания Intel опубликовала описание алгоритма морфологического сглаживания (MLAA), который предназначен для работы в реальном времени на CPU (демо, исходные коды).

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



Если вкратце, то фильтр MLAA ищет L-, Z- и U-образные границы пиксельных групп, после чего размывает окружающие пикселы для получения плавных очертаний.
Читать дальше →

Измерение деформации конструкций методом фотограмметрии

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

Вступление


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

Система учета на базе OCR системы

Время на прочтение5 мин
Количество просмотров7.6K

Пролог


По ходу своей трудовой деятельности получил задачу придумать и реализовать систему учета рекламной информации. Учет заключался в проверке наличия нужной информации на нужном рекламном щите. Щит и полиграфия пронумерованы.
В качестве исходной информации для системы предлагалось использовать фото. После торговли согласования с дизайнерами было оговорено, что оба номера будут располагаться внутри одной рамки. Единственное, что рамка могла быть в любом месте щита.
Собственно на этом постановка задачи заканчивается и начинается повествование о реализации.
Задача решается в три действия:
  1. Нахождение нужного прямоугольника на изображении.
  2. Распознавание текста.
  3. Проверка правильности распознавания.

Читать дальше →

Размышления о восстановлении испорченного изображения

Время на прочтение2 мин
Количество просмотров3.5K
Недавно, прочитав пост про голографическое кодирование от eresik, открыл для себя ранее не известную мне вещь, что:
восстановить полное изображение объекта можно по любому кусочку голографического снимка (с ухудшением качества изображения)


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

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

Читать дальше →

Фотографии без фокуса

Время на прочтение1 мин
Количество просмотров28K
Не секрет, что сейчас, чтобы сделать фото на обычной, так скажем, «мыльнице», нужно немного нажать кнопку, после этого объектив сфокусируется на объекте и потом, когда мы уже видим чёткое изображение в видоискателе (или на экране), нажать кнопку до конца и сделать фото. В принципе, всё просто и понятно.



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


Читать дальше →

Алгоритм быстрого нахождения похожих изображений

Время на прочтение8 мин
Количество просмотров64K

Введение


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

Базовый Алгоритм


Мера схожести изображений


При сравнении похожих изображений первым встает вопрос: что считать мерой схожести изображений? Очевидно, что это величина имеет значение обратное различию изображений друг от друга. Следственно нужно выбрать некую метрику, характеризующую различие изображений друг от друга. Тогда схожими изображениями будут считаться изображения, отличие между которыми меньше некоторого порога. Для изображений с одинаковыми габаритами, обычно такой мерой различия служит среднеквадратическое отклонение пикселей одного изображения от другого. Хотя конечно, нам ни что не мешает выбрать другую метрику, например усредненную абсолютную разность пикселей изображений друг от друга.
Читать дальше →

Подсчет объектов на бинарном изображении. Часть 2

Время на прочтение6 мин
Количество просмотров10K

Аннотация


image Эта статья написана в продолжении первой части статьи про работу с бинарными изображениями, в которой рассказывается как подсчитывать объекты. Однако от одного подсчета толку мало, часто хочется узнать некоторые геометрические параметры распознаваемых объектов. Кажется, что тут считать — узнал количество восьмерок — площадь равна 19, посчитал количество семерок — площадь равна 7 (см. картинку в Аннотации).
Делая так, мы будем вынуждены использовать дополнительный проход по изображению, желательно этого избегать — в пользу повышения эффективности реализации. Как и было запланировано, в этом топике рассказывается о подсчете геометрических характеристик объектов без дополнительного прохода.
А так же: фактор формы и розы Гвидо-Гранди и чем отличается квадрат от прямоугольника, а он от звезды.
Читать дальше →

«Выглядит похоже». Как работает перцептивный хэш

Время на прочтение6 мин
Количество просмотров127K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

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

Восстановление изображений при помощи нейросетей

Время на прочтение3 мин
Количество просмотров35K

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

3D иллюзии

Время на прочтение3 мин
Количество просмотров9.3K

Общее:


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

Новый алгоритм для депикселизации графики

Время на прочтение1 мин
Количество просмотров8.9K

Сотрудник Microsoft Research Йоханнес Копф (Johannes Kopf) совместно с профессором Дани Лисчински опубликовали научную работу (зеркало) с описанием нового алгоритма депикселизации, который значительно превосходит все существующие методы. Разница в качестве действительно колоссальна.

Читать дальше →

Обработка ИК-снимков выявила ещё 17 пирамид в Египте

Время на прочтение1 мин
Количество просмотров3.1K


Семнадцать новых пирамид обнаружено под землёй благодаря анализу спутниковых фотографий в инфракрасном спектре. На снимках видна даже планировка древнеегипетских городов и все сооружения. Среди них уже удалось распознать более 1000 гробниц и 3000 жилых кварталов.
Читать дальше →

Лаборатория при МГУ решает главную проблему России

Время на прочтение1 мин
Количество просмотров1.8K
Сотрудники Лаборатории компьютерной графики и мультимедиа МГУ имени М. В. Ломоносова сегодня опубликовали свое решение для распознавания дефектов дорожного полотна по видео.

UPD. Сделал копию, на случай если сайт ляжет под хабраэффектом.
UPD. И еще одна копия.
PS. Спасибо за инвайт от mihailolenin для участника проекта: semapt

Ближайшие события

Быстрая маркировка изображений с использованием внешних контуров

Время на прочтение9 мин
Количество просмотров9K
В статье расскажу как достаточно быстро перечислить связные объекты на бинарном растре. Этот алгоритм мы использовали для распознавания изображений и текстов; он отличается от подобных высокой скоростью обработки (на картинках до 3200x2400, с некоторыми оговорками, он отрабатывает за миллисекунды) и доступностью в понимании (при наличии некоторых знаний C++). Отмечу, что исходная картинка будет трактоваться алгоритмом как «только для чтения» (зачем портить то, с чем могут работать другие методы), и в связи с этим, алгоритму потребуется небольшое количество дополнительной памяти. Кроме того, внешние контуры являются полезным объектом для анализа и векторизации изображений.
Читать дальше →

Подсчет объектов на бинарном изображении. Часть 1

Время на прочтение6 мин
Количество просмотров43K

Аннотация


imageРаз, два, три, четыре, пять. Будем в прятки мы играть. В статье рассказывается про алгоритм разметки (или подсчета) объектов на бинарном изображении и о том, как без дополнительного прохода вычисляются (в еще неопубликованной части 2) геометрические характеристики этих объектов. Алгоритмы подобного типа часто используются при распознавании образов на бинарном препарате и показывают свою вычислительную эффективность.
В завершении статьи, читателям предлагается интересная задачка, грамотное решение которой существует и необходимо, при практической реализации алгоритма. Приводится исходный код, но в отличии от предыдущих моих постов, он выполнен не на языке MatLab а в абсолютно свободной, не менее мощной среде SciLab.
Читать дальше →

Захват видео с сетевых камер, часть 2

Время на прочтение19 мин
Количество просмотров265K

В первой своей статье «измерение расстояния до объекта и его скорости» я рассмотрел захват изображений с веб-камер через Video4Linux2 и через DirectX. В следующей статье «захват видео с сетевых камер, часть 1» я рассмотрел как работать с сетевыми Motion-JPEG камерами. Сейчас я поведаю Вам о захвате изображений с сетевых RTSP камер, в частности поток Motion-JPEG по RTSP.

Задача эта более сложная нежели Motion-JPEG по HTTP, так как необходимо больше действий, больше подключений, но взамен мы получаем большую гибкость, скорость, функциональность и даже некую универсальность. Честно говоря, RTSP для простых задач избыточен, но я не сомневаюсь, что найдутся ситуации, где он будет необходим.

Приступим

Сравнение изображений и генерация картинки отличий на Ruby

Время на прочтение4 мин
Количество просмотров29K
Наверняка вы видели новые режимы просмотра изображений, которые Github выкатил в прошлом месяце. Это действительно изящный способ показать разницу между двумя версиями картинки. В этой статье я попробую объяснить, как можно просто сравнивать изображения с помощью только Ruby и ChunkyPNG.
Читать дальше →

Принцип цикады и почему он важен для веб-дизайнеров

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

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →

Захват видео с сетевых камер, часть 1

Время на прочтение8 мин
Количество просмотров103K
Сетевые видеокамеры постепенно вытесняют аналоговые, хоть и стоят они сейчас гораздо дороже. Сетевые обладают рядом очевидных приемуществ:
  • нет необходимости в отдельном регистраторе или плате захвата;
  • помехоустойчивость;
  • простая интеграция в существующую сеть;
  • нет ограничения по расстоянию;
  • наличие камер высокого разрешения;
  • просмотр камеры прямо с самой камеры по http;
  • наличие всевозможных настроек;
  • и др.

Нас интересует способ получения изображений с таких камер, для этого надо знать а как вообще они их передают? На наше счастье камеры используют существующие стандарты, а не то, что взбредёт в голову китайскому разработчику. Подавляющее большинство камер используют один или несколько способов передачи видео, это в основном Motion JPEG по HTTP, Motion JPEG по RTSP или H264 по RTSP. Также многие камеры могут передавать звук, но он нас не интересует сейчас.

В этой статье я рассмотрю эти способы передачи изображений с сетевых камер, а также приведу пример захвата таких изображений всё на том же Python'е.
Читать дальше →

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

Время на прочтение6 мин
Количество просмотров48K

Аннотация


image
Заливка изображений — часто нужная на практике задача, суть которой — заполнить некоторую область изображения, ограниченную контуром, заданным цветом. И казалось бы все просто, однако часто медленно и криво. В данной статье рассказывается об известных алгоритмах заливки на основе стека и приводится реализация на псевдокоде MatLab. Я постарался наполнить столь скучную тему интересными видео роликами, и описал процесс их получения, опять же с использованием MatLab. В этой статье мы будем заливать Карлсона который живет на крыше, так как хабралоготипа для этих целей в нормальном разрешении я не нашел. А так же несколько строк кода о том как читать и работать с картинками в MatLab.
Читать дальше →

Вклад авторов