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

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

Читать далее

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

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

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

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

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

dlib.image и OpenCL

Представляем вашему вниманию очередную гостевую статью. На этот раз у нас в гостях Тимур Гафаров — создатель и главный редактор электронного журнала FPS.

Пакет dlib.image, как известно, предоставляет удобный набор средств для обработки изображений – в том числе, коллекцию простейших фильтров (размытие, выделение границ, свертка и т.д.). Как автор dlib, могу честно сказать, что реализация фильтров там далека от оптимальной – для маленьких изображений она еще годится, но, например, уже на фотографиях из мыльниц даже boxBlur выполняется неприлично долго. Можно, конечно, попытаться распараллеливать фильтры на несколько потоков или задействовать SIMD, но, как мне кажется, при наличии современных видеокарт все это – мертвому припарки: куда интереснее было бы перенести вычисления на GPU!

Читать далее