Обновить
59.92

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

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

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

Как мы выиграли Intel RealSense хакатон

Время на прочтение5 мин
Количество просмотров14K
Однажды я писал на Хабр про различные технологии получения 3D изображения с одной камеры. Заканчивал я ту статью словами: «Сам я, правда, до сих пор не сталкивался ни с одной из этих камер, что жалко и досадно».
И вот, внезапно, не прошло и года, Intel проводит в Москве семинар и хакатон по новому поколению своих 3D камер (Intel RealSense). Любопытство взыграло: мы с коллегой записались на мероприятие. Как выяснилось, не зря. Хакатон мы выиграли и получили Developer-версию камеры, которую теперь мучаем.



В статье рассказывается о двух вещах:
  1. Про камеру, её плюсы и недостатки; что с помощью нее можно сделать, а для каких задач она не годится.
  2. Про концепцию, которую мы предложили на хакатоне и за которую получили первое место.

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

Панорамный пассивный радиолокатор

Время на прочтение3 мин
Количество просмотров35K
В этой статье я хочу рассказать об очередном эксперименте с пассивным панорамным радиолокатором. Предыдущие эксперименты описаны в статьях «Радиотелескоп» и «СВЧ пассивный радиотеплолокатор в диапазоне 10 ГГц».

Первые панорамные радиоснимки были получены с помощью сетчатой параболической антенны диаметром 1,8 м установленной стационарно.

Следующий радиолокатор не был панорамным, т.е. он мог работать только в азимутальной плоскости. Зато он позволил поэкспериментировать, как в плане механики и электроники, так и в плане использования антенн малого диаметра. Сначала было не понятно – будут ли эффективны зеркала диаметром около 50 см при приёме собственных шумов объектов?

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

Deep learning и Caffe на новогодних праздниках

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

Мотивация


В данной статье вы познакомитесь c применением deep learning на практике. Будет использован фреймворк Caffe на датасете SVHN.

Deep Learning. Этот buzz word уже давно звенит в ушах, но попробовать его на практике никак не удавалось. Подвернулся удобный случай это исправить! На новогодние праздники был назначен контест на kaggle по распознаванию номеров домов в рамках курса по анализу изображений.
Читать дальше →

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

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


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

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

В данной публикации мы не рассматриваем программы, но копаем нечто большее. Сами пиксели. От истоков, начав с четырехцветной CGA-эры, вплоть до эпохи ренессанса. В публикации мы не рассматриваем игры, не поем дифирамбы художникам прошлого (разве что самую малость), занимаясь именно процессом создания простейшего пиксель-арта. Данный материал будет интересен начинающим артистам и интересующимся. Статья практически не содержит теории, нудных умозаключений и представляет сторонний взгляд на мир пиксель-арта со стороны некоего самоучки, который предпочел открыть каждую из Америк самостоятельно, не оглядываясь на официальных, общепризнанных и задокументированных Колумбов. Статья снабжена обильным количеством поясняющих иллюстраций, примеров, и советов.

Материал разделен на несколько публикаций в виду объема текста и изображений. Каждая статья имеет свою степень сложности, однако, все из них наглядны и могут быть использованы как руководство к действию.


Лопатить пиксели

Pillow 2.7 — Существенное улучшение качества и производительности

Время на прочтение6 мин
Количество просмотров43K
Первого января 2015 года по расписанию вышла новая версия библиотеки для работы с изображениями Pillow 2.7. Так как многие изменения в ней были сделаны командой Uploadcare, мы рады представить вам расширенную версию заметок о релизе этой версии.

Для начала вспомним, с чего все началось. Pillow — дружественный форк (как называют его авторы) популярной библиотеки PIL, Python Imaging Library. Последняя версия PIL 1.1.7 вышла в 2009 году и в основном содержала исправления ошибок. Изначально Pillow задумывался как проект только по приведению в порядок сборки PIL, и разработчики рекомендовали отправлять все баги, не связанные со сборкой, в оригинальный PIL. Но время шло, PIL стремительно устаревала, багов не уменьшалось, тут еще Python 3 маячил на горизонте. Поэтому с версией Pillow 2.0 все изменилось. «Pillow 2.0.0 добавляет поддержку Python 3 и включает много багфиксов со всего интернета» гласит описание проекта на PyPI. И с тех пор понеслось. Каждые три месяца выходили версии с огромным количеством багфиксов и другими улучшениями от различных разработчиков. Самым значительным нововведением за это время было, пожалуй, поддержка форматов WebP и JPEG2000. Теперь пришло время следующего большого шага.
Читать дальше →

Другая сторона Go: рисуем анализируя данные

Время на прочтение5 мин
Количество просмотров18K
Go — универсальный язык программирования который отлично подходит для фоновых задач, но иногда вам может понадобится генерировать изображения опираясь на входящие данные. Go отлично работает с созданием визуальных объектов. В этом посте описан один из методов создания изображений (в частности векторной графики) на основе данных с помощью пакета SVGo.

Библиотека SVGo занимется одной единственной задачей: генерирует SVG и отдает его в io.Writer. I\O пакет в Go позволяет вам выводить результаты используя необходимый интерфейс (стандартный вывод, файлы, сетевые соеденения, веб сервер).

Для SVGo первостепенны высокоуровневые объекты такие как круги, прямоугольники, линии, полигоны и кривые. Стили и атрибуты являются второстепенными и применяются по мере необходимости.
Читать дальше →

Создание фотомозаик с помощью языка Wolfram Language (Mathematica)

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

Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~3 МБ).

Введение


До Нового 2015-го года осталось уже менее суток:

In[1]:=

ImageMosaic_2.png

Out[1]=

ImageMosaic_3.png

Мне хотелось бы поздравить всех с Наступающим Новым 2015-м годом и рассказать о том, как вы можете сделать своим близким необычный подарок в виде фотомозаики, созданной с помощью системы Mathematica 10 и языка Wolfram Language.

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

Для того, чтобы создать фотомозаику можно действовать двумя основными способами:

  • Простой способ: разбить изображение на фрагменты фиксированного размера, после чего подобрать каждому фрагменту наиболее “похожее” на него изображение из заданной коллекции и заменить этот фрагмент на него. В результате, чем меньше размер фрагмента и больше коллекция, тем качественнее будет фотомозаика.

  • Сложный способ: по сути повторяет первый способ за исключением того, что разбиение исходного изображения производится некоторым “адаптивным” алгоритмом на фрагменты различного размера.

Для упрощения рассматриваемой задачи будем создавать мозаику из квадратных миниатюр.
Читать дальше →

Средство управления видео метаданными Video Metadata Framework SDK — новогодний подарок Intel

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

В качестве подарка к предстоящим праздникам компания Intel предлагает вам бесплатный и очень интересный продукт — Video Metadata Framework (VMF) SDK – кросс-платформенный SDK для разработки C++ приложений, упрощающий процедуры управления метаданными в видео файлах.
Метаданные — информация о содержании видео — могут быть как изначально записаны рекордером (GPS-координаты, показания акселерометра, время съемки), так и сгенерированы промежуточным ПО, например, OpenCV (распознавание лиц и объектов).
Intel VMF позволяет организовать поиск, сортировку, выгрузку и различную обработку предварительно записанных метаданных для изменения представления видео в целом – в рамках модного сейчас тренда «Digital Storytelling». DS-приложения в идеале должны быть способны автоматически редактировать видеоряд, исходя из требуемых критериев, выражаемых метаданными — например, из гигабайтов видео, снятого в горах, сделать минутный ролик о ваших лучших лыжных спусках.
В настоящее время поддерживаются следующие ОС: Windows на x86 и x64, Android на ARM и x86, iOS, Linux на x86, x64, MIPS и ARM.
Страничка Intel Video Metadata Framework SDK на сайте Intel
Скачать Intel Video Metadata Framework SDK для Windows

Система хранения медиа данных с 10G доступом

Время на прочтение4 мин
Количество просмотров20K
Эта статья — развитие идеи создания 10G сети для обработки изображений.

Заказчик — небольшая фотостудия, активно снимающаяся всевозможные eventы — свадьбы, встречи, корпоративные праздники и т.д.
После дня съемки одним-двумя фотографами надо быстро отсортировать до нескольких тысяч фотографий, сделать предварительную выборку лучших, быстро их обработать и представить заказчику первую версию выборки фотоснимков.
Иногда к этому добавляется видео съемка мероприятия.
Позже часто требуется более тонкая обработка фото и видео материалов, верстка фотоальбомов и фотокниг, подготовка коротких фильмов.
Со стороны компьютерной системы нужна высокая емкость (в год студия производит порядка 10 терабайт фото-видео материалов) и высокая скорость доступа к имеющейся фото и видео библиотеке с 3-4 компьютеров. В основном это компьютеры производства Apple.
Через год примерно 90-95% фото-видео контента стирается, оставшиеся 5-10% сохраняются на несколько лет.

Учитывая пожелания по суммарному объему хранимых данных, было предложено использовать сетевое хранилище NAS с емкостью не менее 6 дисков. В результате было выбрано 8 дисковое хранилище, но на начальном этапе в него было установлено 6 дисков по 3ТБ.
Потребность в быстром доступе к сетевым ресурсам с компьютеров Apple реализовали двумя способами:
проводной доступ через конвертер Thunderbolt — 10G Ethernet.
беспроводной доступ для ноутбуков был реализован на стандарте WiFi AC.

Сетевым хранилищем была выбрана модель QNAP TS-870Pro. С оборудованием этой компании я работаю уже немало лет, и опыт пока имею только положительный.

TS-870Pro

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

Детекторы углов

Время на прочтение18 мин
Количество просмотров115K
Мне интересна обработка изображений, в особенности работа с особыми точками. Ища информацию по детекторам углов, я не нашел достаточно большого обзора этих алгоритмов на русском языке. Поэтому я решил исправить ситуацию, написав эту статью. План статьи следующий:

  • Введение
  • Свойства особых точек
  • Детекторы углов
    • Moravec
    • Harris
    • Shi-Tomasi
    • Förstner
    • SUSAN
    • Trajkovic
    • FAST
    • CSS
    • Детектор, основанный на глобальных и локальных свойствах кривизны
    • CPDA
  • Выводы



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

Алгоритм TILT или нестандартное использование ранга матрицы

Время на прочтение3 мин
Количество просмотров28K
Сегодня мы рассмотрим алгоритм TILT (Transform Invariant Low-rank Texture) и множество его методов применения в области Computer Vision. Статья будет нести несколько обзорный характер, без плотного углубления в математические дебри.

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

Простое обнаружение объектов по цвету

Время на прочтение3 мин
Количество просмотров38K
Доброго времени суток.
В этом коротком посте хотел показать простой способ поиска объектов по цвету с OpenCV.

Для экспериментов использовал камеру Logitech WebCam C270

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

Расширяя полотно картины Ван Гога “Звездная ночь” с помощью языка Wolfram Language (Mathematica)

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

Перевод поста Piotr Wendykier "Extending Van Gogh's Starry Night with Inpainting"
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~8 МБ).


Могут ли компьютеры научиться рисовать, как Ван Гог? Определенно да, до некоторой степени! Для этого, подобно художникам-копиистам, алгоритму сначало потребуется взять некоторое оригинальное произведение, а затем он сможет на их основе создать что-то сам. Насколько хорошо он сможет с этим справиться? Пожалуйста, судите сами.

ExtendingVanGoghStarryNightInpainting_1.gif
Вторая премия на фотоконкурсе ZEISS
Читать дальше →

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

Эквализация гистограмм для повышения качества изображений

Время на прочтение4 мин
Количество просмотров64K
Всем привет. Сейчас мы с научным руководителем готовим к изданию монографию, где пытаемся простыми словами рассказать об основах цифровой обработки изображений. В данной статье раскрывается очень простая, но в тоже время очень эффективная методика повышения качества изображений – эквализация гистограмм.
Читать дальше →

Распознаем штрихкоды на изображениях с помощью Python и OpenCV

Время на прочтение6 мин
Количество просмотров90K
От переводчика: мы в компании Энтерра очень любим алгоритмы компьютерного зрения. Работаем чаще всего с OpenCv. Время от времени нам пишут разные разработчики с вопросами: «А как лучше начать работать с OpenCv?» или «Какую интересную задачу можно просто решить с помощью OpenCv?» В связи с чем мы решили перевести очень хорошую статью, которая будет полезна всем, кто интересуется компьютерным зрением.



Черная Пятница близко.

Толпы злых покупателей. Рой одинаковых теток среднего возраста, готовых сожрать практически всё, что угодно, в ближайшем супермаркете — главное, что со скидкой 75%. Они выстроятся в очереди перед дверьми магазинов в полночь Дня благодарения. Они будут ломиться внутрь, стучать в запертые двери кулаками и головами, пока не сплющат друг друга и не разобьют руки в кровь, став похожими на зомби из «28 дней спустя». Но вместо человеческой плоти, они жаждут удовлетворить инстинкт покупателя. Их боевые кличи о скидках и распродажах достигают небес. А их громовая поступь способна привести к землетрясению на Великой Равнине.

Естественно, от СМИ помощи не жди — они будут смаковать каждую подробность. От обмороженных семейств, ночевавших в палатке на морозе, до старой леди, растоптанной охотниками за скидкой в момент, когда открылись двери. Что-то похожее случилось с галлимимусом в «Парке Юрского периода». А она просто хотела купить Halo для девятилетнего внука Тимми, чьи родители забыли это сделать в прошлом году. В Wal-Mart. Во время Черной Пятницы.

И я обязан спросить: весь этот хаос и бедлам стоят того?

Чёрт возьми, нет!

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

Просто представьте, как глупо вы будете выглядеть, стоя в очереди в ожидании свободной кассы – только для того, чтобы после сканирования штрихкода последнего сезона «Игры Престолов» выяснить, что в Target его можно купить на 5 долларов дешевле?

Собственно, далее я покажу, как можно обнаружить штрихкод на изображении, используя только Python и OpenCV.
Читать дальше →

И ещё раз про распознавание номеров

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



В любых задачах обработки изображений 90% успеха — хорошая база данных. Репрезентативная и большая. Весной мы обещали выложить полную базу изображений того, что нам придёт. Подписка блога заканчивается, поэтому время выполнить обещание (блог может продлят, а может и нет). Наш сервер работал 95% времени, начиная с первого поста. Всё что пришло теперь доступно + мы сделали отдельные базы по вырезанным номерам и нарезанным символам.

Под катом ссылки на базу + её анализ + немного кода + небольшой рассказ о том, что будет сделано дальше с нашим сервером/жизнью проекта.
Читать дальше →

Восстановление трехмерных моделей активным параллаксным методом

Время на прочтение11 мин
Количество просмотров29K
Здравствуйте, дорогие читатели.

Я студент МГТУ им. Баумана. Спешу поделиться опытом в области обработки изображений и восстановлении трехмерных объектов активным параллаксным методом.

В настоящее время в различных областях деятельности, в таких как производство, медицина, компьютерная графика, робототехника и техническое зрение активно используется трехмерное моделирование и прототипирование объектов реального мира. В связи с этим все более актуальным становится разработка 3d сканеров и камер, которые создают 3d модель регистрируемого объекта.
Читать дальше →

Разоблачение рекламной статьи Intel

Время на прочтение4 мин
Количество просмотров48K
Некоторе время занимаясь реализацией различных алгоритмов обработки изображений, я не мог не узнать о пакете Intel Integrated Performance Primitives (Intel IPP). Это набор высокопроизводительных функций обработки одно-, двух- и трехмерных данных, использующих возможности современных процессоров на полную. Это такие кирпичики с универсальными интерфейсами, из которых можно строить свои приложения и библиотеки. Продукт этот, безусловно, коммерческий, поскольку входит в поставку других средств разработки и отдельно не распространяется.

С тех пор, как я узнал об этом пакете, меня не покидало желание узнать, насколько быстро в нем реализован ресайз изображений. Каких-то официальных бенчмарков или данных о производительности в документации нет, как нет и бенчмарков от сторонних разработчиков. Самое близкое, что мне удавалось найти — бенчмарки кодека JPEG от проекта libjpeg-turbo.

И вот, позавчера, в процессе подготовки статьи «Методы ресайза изображений» (прочтение которой очень желательно для понимания дальнейшего изложения) в очередной раз наткнулся на статью, о которой и пойдет речь:

libNthumb, The NHN* Performance Primitive for Real-Time Creation of Thumbnail Image with Intel IPP Library
Читать дальше →

Ликбез: методы ресайза изображений

Время на прочтение7 мин
Количество просмотров129K
Почему изображение, масштабированное с бикубической интерполяцией, выглядит не как в Фотошопе. Почему одна программа ресайзит быстро, а другая — нет, хотя результат одинаковый. Какой метод ресайза лучше для увеличения, а какой для уменьшения. Что делают фильтры и чем они отличаются.

Вообще, это было вступлением к другой статье, но оно затянулось и вылилось в отдельный материал.


Этот человек сидит среди ромашек, чтобы привлечь ваше внимание к статье.
Читать дальше →

Еще один cкрипт генерации иконок для Android

Время на прочтение2 мин
Количество просмотров8.9K
Привет, Хабр!

Небольшое вступление


Довольно давно я работаю тестировщиком мобильных приложений. Преимущественно, android-приложений (хотя были и WinCE, и iOS). Преимущественно, руками (хотя пробовал и автоматизировать с monkeyrunner и uiautomator). В последнее время все больше времени приходится уделять проектированию интерфейсов, вопросам менеджмента, релизам и другим делам. Одним словом, задачки приходится решать хоть обычно и несложные, но довольно разнообразные. Об одной из них мне бы хотелось рассказать.

В чем, собственно, дело


Недавно мы с коллегой в команде Rumsunrise экспериментировали с поддержкой android 5 и material design в наших приложениях. В процессе подготовки проекта столкнулись с неожиданной мелкой проблемой из области дизайна.
Читать дальше →

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