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

OpenCV Hackathon is coming

Время на прочтение 1 мин
Количество просмотров 3.3K
Open source *
image

Этим летом библиотека OpenCV отмечает свой двадцатый юбилей. OpenCV — самая большая библиотека компьютерного зрения в мире. Она используется чуть ли не в каждом мобильном телефоне, планшете и камере, не говоря уже о настольных системах и серверах. SourceForge рапортует о 20 миллионах скачиваний релизных версий библиотеки, и это число продолжает расти.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Искусственный интеллект раскрывает секреты древних артефактов

Время на прочтение 8 мин
Количество просмотров 2.7K
Блог компании ЦИТМ Экспонента Обработка изображений *Matlab *Научно-популярное Искусственный интеллект

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

Когда в 2005 году Карола-Бибиана Шёнлиб начала защищать докторскую диссертацию по математике, одним из ее первых проектов была помощь в реставрации средневековой фрески в Вене. Когда-то скрытые стенами старой квартиры, остатки росписи были испорчены белыми пятнами – следствие демонтажа стен за несколько лет до этого. Вместо краски, растворителей или смолы Шёнлиб использовала алгоритмы реставрации. «Были специалисты из Венского университета, которые начали физическую реставрацию», – говорит Шёнлиб. «Затем мы перешли к цифровой реставрации».

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Seam Carving — революция в масштабирование изображений

Время на прочтение 2 мин
Количество просмотров 2.2K
Чулан
Масштабировать изображения можно несколькими способами.

1) nearest neighbor — убиваем или клонируем ближайшего соседа.
Cокращаем строки и колонки пикселов если нужно уменьшить, и дублируем их если нужно увеличить изображение — проще не бывает… И быстрей, наверное тоже… В общем всё хорошо, пока не вспоминаем про качество картинки.

2) bilinear — тут мы скрещиваем соседей.
Уменьшая изображение, меняем два пиксела на один, равняющийся чему-то среднему, а при увеличении точно такой-же пиксел вставляем между родителями. Не слишком сложно, но зато качество на порядок лучше!

3) bicubic — шведская семья.
Тут всё так-же как и с bilinear, только родителей больше. Т.е. на цвет «ребёнка» влияют все соседние пикселы, а иногда и соседи соседей. И это конечно ещё красивей.

4) vector/fractal based — тут алгоритмы посложней.
Если в кратце, то перед масштабированием, картинка векторизитруется, и в процессе выбора цвета для новых пикселов участвуют векторы, края которых делают чуть контрастнее. В результате изображение в основном выигрывает.

Вот, полюбуйтесь:

способы масштабирования наглядно
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Комментарии 30

Революция масштабирования — Rsizr.com

Время на прочтение 1 мин
Количество просмотров 747
Чулан

В этом хабратопике многоужаваемый eject представил нам новую технологию масштабирования изображений Seam Carving, разработанную в Исследовательской лаборатории Mitsubishi Electric. Кому лень читать, суть состоит в «умном» масштабировании, позволяющим неравномерно изменять пропорции картинки таким образом, чтобы оставить смысловое наполнение максимально нетронутым.

Вот первая известная мне реализация — Rsizr.com. Нужно сказать, очень впечатляет!

Комментарии, как говорится, излишни. Просто залейте своё изображение и поиграйте с масштабом. Только не советую загружать большие файлы — потребуется много времени на обработку.

По мотивам моего блога.

UPD: Наглядная демонстрация: http://youtube.com/watch?v=vIFCV2spKtg и http://rsizr.com/about/gallery.
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 36

Бинокулярное зрение и стереопсис

Время на прочтение 3 мин
Количество просмотров 5.6K
AR и VR
Хочу написать о том, чем занимаюсь в Тех. Университете Тампере.

Стереопсис (стерео-эффект) — ощущение протяжённости пространства и рельефности, возникающие при наблюдении реальных объектов, рассматривании стереопар, стереофотографий, стереоизображений и голограмм. Часто упомянается как «восприятие глубины».

Как известно (во-всяком случае большинство из нас что то про это слышали), изображение видимое левым глазом слегка отличается от изображения, получаемого правым глазом. Благодаря чему наш мозг в состоянии восстановить «глубину» наблюдаемой сцены. Однако как именно он это делает, да и как это вообще возможно знают далеко не многие.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 1

Пишем на картинках

Время на прочтение 7 мин
Количество просмотров 14K
PHP *
В течение последнего времени что-то часто стали мелькать статьи про обработку изображений на php. Скругленные края уже были, тени были, мокрый пол был, еще куча всего было.

А вот надписей вроде еще не было. Значит будут. :-)

Представляю вашему вниманию не большой, но в тоже время достаточно богатый возможностями класс (на основе GD) написания текста на картинках TrueType-шрифтами.
Код и пример под катом
Всего голосов 104: ↑88 и ↓16 +72
Комментарии 36

Графические фильтры на основе матрицы скручивания

Время на прочтение 6 мин
Количество просмотров 40K
Разработка веб-сайтов *
UPD: Заголовок изменен, что бы более соответствовать теме статьи

В статье пойдет речь об использовании convolution matrix (матрицы скручивания или матрицы свертки), с помощью которой можно создавать и накладывать на изображения фильтры, такие как blur, sharpen и многие другие.

Cтатья будет интересна не только веб-программистам, но и всем кто так или иначе занимается программной обработкой изображений, поскольку функции для работы с матрицей скручивания имеются во многих языках (точно известно о php и flash). Так же, статья будет интересна дизайнерам, использующим Adobe Photoshop, поскольку в нем имеется соответствующий фильтр (Filter-Other-Custom).

Примеры будут на языке PHP с использованием библиотеки GD. Теория, практика, примеры (осторожно, много картинок!)

под катом
Всего голосов 100: ↑98 и ↓2 +96
Комментарии 37

Пример отображения картинок с помощью ImageField и Lightboox2

Время на прочтение 1 мин
Количество просмотров 1.1K
Drupal *
Вчера хабраюзер ezs опубликовал инструкцию по настройке ImageFiled и Lightbox2. К сожалению, у него не было возможности сделать live preview этого дела и я решил сделать демострационный сайт, благо имеется несколько свободного места с хорошим каналом.

Добавлять картинки можно анонимусам, без всякой регистрации, но и удаляется база где-то раз в час, рандомно, так что как имедж хостинг использовать не получится

UPD: Иногда невозможно загрузить картинку, это происходит потому что как в этот момент обновляется база.
Всего голосов 10: ↑6 и ↓4 +2
Комментарии 11

Делаем Liquid Resize своими руками

Время на прочтение 12 мин
Количество просмотров 15K
Алгоритмы *
Вы наверное уже слышали о технологии масштабирования Liquid Resize, которая учитывает содержимое изображения. Если вам интересно как оно все работает и как можно реализовать все это самому, то читайте далее (осторожно, много рисунков).


(НЛО прилетело и растянуло этот рисунок здесь)
Читать дальше →
Всего голосов 230: ↑226.5 и ↓3.5 +223
Комментарии 125

Слежение за объектом по его цвету с использованием Aforge.NET

Время на прочтение 4 мин
Количество просмотров 21K
.NET *
Здравствуйте. Частая фраза: «мой первый пост» :). В нем хочу вам рассказать о своем небольшом проекте по отслеживанию объекта по его цвету. Сейчас это имеет довольно широкую область применения, например те же джойстики от Wii и Playstation 3. Основой для работы послужила разработка Андрея Кириллова Aforge.NET – довольно мощная штука для самопальной обработки изображений.
Код не претендует на «истину в последней инстанции», многое было упрощено (в одном месте, в некотором смысле даже допущено дублирование – для быстрого доступа к пикселам я создал свой класс, хотя аналогичные наработки были и в Aforge). Но тем не менее, код работает, отслеживает объект, выдает информацию о местоположении, позволяет динамически вычислять оттенок объекта (на случай изменения освещения).

Для заинтересовавшихся — прошу под кат.
Читать дальше →
Всего голосов 58: ↑48 и ↓10 +38
Комментарии 12

Обнаружение объектов методом Оцу

Время на прочтение 6 мин
Количество просмотров 41K
Обработка изображений *
Из песочницы
Здравствуйте, уважаемые хабрачитатели и хабракритики. Этот пост я хотел бы посвятить такой актуальной на сегодняшний день теме, как обнаружение объектов на изображениях.
В качестве одного из алгоритмов такого обнаружения рассмотрим выбор порога быстрым и эффективным методом Оцу.
Читать дальше →
Всего голосов 121: ↑117 и ↓4 +113
Комментарии 33

Измерение расстояния до объекта и его скорости

Время на прочтение 9 мин
Количество просмотров 54K
Обработка изображений *
Туториал
Из песочницы
Технологию, которую я собираюсь Вам представить, я не встречал в найденных мной методах определения расстояния до объекта на изображении. Она не является ни универсальной, ни сложной, суть её заключается в том, что видимое поле (будем считать, что мы используем видеокамеру) калибруется линейкой и затем сопоставляется координата объекта на изображении с отметкой на линейке. То есть измерение ведётся по одной линии или оси. Но нам не нужно хранить отметку на линейке для каждого пикселя, алгоритму для калибровки нужно только знать размер линейки в пикселях и в метрах, а также координату пикселя, который является фактической серединой линейки. Очевидное ограничение — работает только на плоских поверхностях.

Кроме самого метода в статье рассмотрена его реализация на языке Python с использованием библиотеки OpenCV, а также рассмотрены особенности получения изображений с вебкамер в Linux, используя video4linux2 API.


Читать дальше →
Всего голосов 65: ↑63 и ↓2 +61
Комментарии 12

Headtracking или как увидеть трехмерный чайник на двухмерном мониторе

Время на прочтение 4 мин
Количество просмотров 8.8K
Программирование *
В прошлом семестре брал я курс компьютерного зрения и под конец надо было делать финальный проект на любую тему, которая с этим связана. Стало мне интересно, можно ли при помощи веб-камеры отслеживать глаза пользователя и показывать ему 3д объекты с правильного ракурса, этим я и решил заняться. Т.е. сделать из монитора эдакое окно в виртуальный мир. Теперь же я хочу поделиться с хабрапользователями о том, как это у меня получилось и какие подводные камни встретились на пути.
Читать дальше →
Всего голосов 170: ↑170 и ↓0 +170
Комментарии 58

Viola Jones на собственной шкуре, часть 2. — Emotion? — OMG, Yes!!!

Время на прочтение 16 мин
Количество просмотров 40K
Алгоритмы *
Привет всем еще раз! Я решил сразу попробовать выпустить две статьи, практически в одно время, чтобы не прерывать цепь повествования, т.к. начало данной статьи очень важно!
Итак, многие ждали примеры моей программы и объяснения ее работы с точки зрения написания кода. Я же рассказываю последовательно, чтобы каждый смог ее повторить у себя на компьютере. Обращайте внимание побольше на обильные комментарии в коде, в них сила! И не бойтесь мега-мелкого скролла, т.к. информации много. Передислоцируйтесь в место с хорошим интернетом, в статье много схем и фотографий!
Let's get it started!
Всего голосов 40: ↑26 и ↓14 +12
Комментарии 10

Пиксельные искажения с билинейной фильтрацией в HTML5 canvas

Время на прочтение 3 мин
Количество просмотров 8.2K
JavaScript *Обработка изображений *Canvas *

В данном посте я хочу описать простую методику пиксельного искажения изображения на «чистом» javascript в 2D-Canvas без использования специальных библиотек и шейдеров, путём прямого доступа к пикселям изображения. Надеюсь, это будет интересно и полезно как для общего развития, так и для решения каких-то задач.

Читать дальше →
Всего голосов 55: ↑52 и ↓3 +49
Комментарии 23

Tilt-Shift фотографии своими руками

Время на прочтение 5 мин
Количество просмотров 67K
Python *Обработка изображений *
Что такое Tilt-Shift объективы и что с их помощью можно сделать знают многие. Недавно на хабре была статья о Tilt-Shift генераторе, который создает этот эффект путем обработки обычной фотографии. Но программка эта написана только для Windows, да еще и платить за нее надо. Все плагины для графических редакторов почему-то тоже требовали денег и лицензий. Поэтому было принято решение с этим вопросом разобраться самостоятельно и сделать инструмент пусть немного проще профессионального софта, и не идеально симулирующий оптику объектива, но бесплатный, открытый и доступный всем желающим! Что из этого получилось, а что нет — можете посмотреть сами.
Всех заинтересовавшихся прошу под кат. Текст, код, картинки.
Всего голосов 107: ↑91 и ↓16 +75
Комментарии 60

Матричные фильтры обработки изображений

Время на прочтение 3 мин
Количество просмотров 199K
Алгоритмы *Обработка изображений *
Из песочницы
Данная статья рассказывает не только о наиболее распространённых фильтрах обработки изображений, но в понятной форме описывает алгоритмы их работы. Статья ориентирована, прежде всего, на программистов, занимающихся обработкой изображений.

Читать дальше →
Всего голосов 40: ↑33 и ↓7 +26
Комментарии 27

OpenCV 2.4.3

Время на прочтение 7 мин
Количество просмотров 45K
Блог компании Intel Обработка изображений *
Авторы: Анатолий Бакшеев, Кирилл Корняков(kirillkornyakov), Андрей Морозов(aod314), Вадим Писаревский, Олег Скляров(olegsklyarov), Евгений Таланин, Александр Шишков(AlexanderShishkov).

image image

Привет, Хабр!

Мы рады сообщить, что 2 ноября увидела свет новая версия OpenCV, свободной библиотеки компьютерного зрения. Этот пост написан разработчиками библиотеки, работающими в компании Itseez. Мы перечислим основные нововведения с момента выхода предыдущей версии, стоит отметить, что их достаточно много: новые алгоритмы, ускорение существующих, поддержка новых платформ, обновление процесса разработки, интеграции и тестирования, а так же обновлённая документация. За время подготовки релиза было закрыто более 210 задач на трекере (hackathon, release candidate, release): патчи, исправления ошибок, расширение существующей функциональности.

Но обо всём по порядку.
Читать дальше →
Всего голосов 102: ↑100 и ↓2 +98
Комментарии 12

Универсальный код C# под .NET и JavaScript

Время на прочтение 19 мин
Количество просмотров 35K
JavaScript *.NET *C# *

Введение


Приветствую вас, хабравчане. В данном топике я хотел бы осветить подробности разработки на C# под разнородные целевые платформы, в первую очередь такие как .NET и браузер (JavaScript). В качестве примера желающие могут изучить веб-сервис по обработке фотографий gfranq.com, в котором реализована клиентская и серверная обработка фотографий с помощью фильтров, а также функциональность коллажей на основе материала, описанного в данной статье.

Так как я не умею подбирать картинки для привлечения внимания, то она будет по теме:


Технические подробности под катом
Всего голосов 57: ↑53 и ↓4 +49
Комментарии 20

Uploadcare — файловое хранилище для сайтов и приложений

Время на прочтение 3 мин
Количество просмотров 13K
Я пиарюсь
image
Привет! Хочу рассказать о проекте, который наверняка окажется полезным многим разработчикам. В двух словах объяснить, зачем он нужен, достаточно сложно, но я попробую. Uploadcare — сервис для приложений и сайтов, упрощающий получение файлов от пользователей, их хранение и передачу по сети.

Тот, кто хоть раз делал форму с <input type="file">, знает, что ничего сложного в этом нет, но есть неприятные моменты, возникающие по пути. Вот только некоторые из них:

— нельзя сохранить форму с файлом по ajax;
— нельзя показать форму с уже выбранным файлом;
— если вы ожидаете картинку, нужно убедиться, что загружена картинка;
— сервер должен быть готов принимать большое тело запроса;
— в некоторых фреймворках загруженный файл является источником повышенной опасности;
— удобная загрузка нескольких файлов реализуется достаточно сложно;
— индикация процесса загрузки реализуется еще сложнее;
— на диске сервера может закончиться место;
Читать дальше →
Всего голосов 56: ↑49 и ↓7 +42
Комментарии 44