Музыкальный 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

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

Подробнее

Паттерн «Стратегия» в D. Строим простое семейство алгоритмов для рисования графических примитивов

Довольно часто в своей практике я использую D Form Library 2 (DFL2) для своих экспериментов с математической графикой и рисованием, но бывает так, что приходиться пользоваться другими инструментами для тех же самых задач. Одним из таких инструментов является библиотека dlib, которая служит для работы с изображениям и которая способна работать в среде Linux, что делает ее одним из прекраснейших средств для математических экспериментов с графикой. Читать далее →

Подробнее

Убираем «лишние» цвета

Увлекшись цифровой обработкой изображений, неожиданно для себя, я открыл интересный графический эффект, который как выяснилось, делается весьма и весьма просто (даже без свертки и прочих математических диковинок), однако, если постараться его поискать, то поисковик выдает лишь то, как выполнить подобное в Photoshop и других монструозных графических программах…

Это решительно меня не устраивало, да и вообще, почему описания эффекта для программистов отсутствуют в рунете ? Сейчас я это исправлю!

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

Подробнее