dlib 0.9.0 beta

Вышла бета-версия коллекции библиотек dlib 0.9.0. Из основных нововведений стоит отметить новый модуль dlib.math.tensor – реализацию тензоров с поддержкой как статического, так и динамического выделения памяти (еще один шаг, приближающий dlib к NumPy и Matlab). Также значительно улучшен пакет dlib.image: появился экспорт в BMP и TGA, двумерный foreach для изображений, диапазоны для окон и произвольных прямоугольных регионов. Новый пакет dlib.network, как планируется, будет содержать независимую от Phobos поддержку сети и веб-функциональность (пока в нем есть только парсер URL).

А еще Atrium был успешно портирован под FreeBSD.

dlib.image и OpenCL

На сайте LightHouse Software вышла моя гостевая статья, посвященная обработке изображений на GPU средствами OpenCL и dlib. Рассматривается биндинг DerelictCL и реализация ядра для простейшего оконного фильтра (box blur), через который пропускается изображение dlib.image.

Новые статьи от LHS

Статьи по dlib

На сайте студии LightHouse Software, использующей и активно продвигающей язык D, опубликовано несколько интересных статей по использованию коллекции библиотек dlib – в частности, о рисовании фрактала Курликю и графических примитивов с использованием dlib.image, а также о процедурном генерировании картинки с Псаем с последующим сохранением в файл.

http://lhs-blog.info/programming/dlang/fraktal-kurlikyu
http://lhs-blog.info/programming/dlang/dobavlenie-graficheskih-primitivov-v-dlib
http://lhs-blog.info/programming/dlang/gangnam-style-v-d
http://lhs-blog.info/programming/dlang/sohranenie-izobrazheniya-v-fayl

Бенчмарк загрузки PNG

Не так давно один из участников сообщества D провел любопытный тест, сравнив скорости загрузки изображения в формате PNG с различными библиотеками. В сравнении участвовали D-библиотеки (dlib и imageformats), а также C#.

Использовалось RGB-изображение размером 2048х2048, компилятор DMD 2.0.67 c флагами -release -inline -O. Задачей была загрузка из PNG, отражение по горизонтали и сохранение в PNG. Результат получился следующий:

C#:
Загрузка – 90 мс
Отражение – 10 мс
Сохранение – 380 мс

D (dlib):
Загрузка – 500 мс
Отражение – 30 мс
Сохранение – 950 мс

D (imageformats):
Загрузка – 230 мс
Отражение – 30 мс
Сохранение – 1100 мс

Тред с обсуждением

На днях обязательно сделаю собственный тест – необходимо выяснить, что именно тормозит в декодере.