Экспериментируем с битовыми плоскостями. Часть II

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

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

Подробнее

Экспериментируем с битовыми плоскостями. Часть I

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

Подробнее

Музыкальный D: синтезатор в 100 строк

Библиотека dlib предоставляет базовые инструменты для работы с аудиоданными, которые позволяют написать синтезатор с сохранением полученных звуков в WAV. В этой статье я покажу, как с их помощью сгенерировать знаменитую мелодию «Popcorn» Гершона Кингсли, используя для этого всего три функции, умещающиеся в 100 строк кода.

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

Подробнее

Бинаризация методом Оцу в dlib

В данной статье я расскажу как получить из полноцветного изображения полностью переработанное изображение, составленное только из двух цветов: черного и белого, т.е я покажу как с помощью D и небольшой библиотеки dlib выполнить своими руками так называемую бинаризацию изображения. Стоит отметить, что бинаризация изображения является важным компонентом некоторых алгоритмов обработки изображений и распознавания образов.

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

Подробнее

Преобразование карт окружения при помощи dlib

Разрабатывая 3D-движок для D, я столкнулся с интересной задачей – преобразованием равнопромежуточной карты окружения (equirectangular environment map) в кубическую карту (cube map).

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

Подробнее

Вставка сообщений в изображения

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

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

И тут встал интересный вопрос: как доказать всем (в том числе, и судебным работникам) свое авторство или некоторое участие в работе относительно некоторого произведения?

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

Подробнее

Создаем «термокарту» изображения

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

Сегодня я покажу любопытный метод, как перекрасить некоторое заданное изображение, используя известный, но ограниченный набор цветов на примере создания простой «термокарты» из картинки.

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

Подробнее

Векторная графика в dlib

Статья Тимура Гафарова (aka Gecko) специально для нашего сайта.

Коллекция библиотек dlib предоставляет функции для рисования отрезков и окружностей (см. dlib.image.render.shapes). Однако при построении сложной векторной графики не обойтись без рендеринга более интересных объектов – в этой статье я рассмотрел рисование закрашенных многоугольников и фигур Безье на их основе. Читать далее →

Подробнее

Обработка изображений: цифровые фильтры

В одной из статей про dlib, я немного упоминал цифровую обработку изображений, после чего показал простую реализацию свертки изображения с фильтром на D и пообещал показать несколько интересных сверточных фильтров…

В этой статье, я выполняю обещание и мы попытаемся подружить QtE5 и dlib, сделав несложный и удобный интерфейс для накладывания фильтров на изображения, оставив при этом возможность для пользователя добавлять свои фильтры. Читать далее →

Подробнее

Стеганография в dlib

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

Подробнее