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

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

Подробнее

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

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

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

Сейчас я это исправлю!

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

Подробнее

Сверточная «магия» или как я сам сделал цифровой фильтр

Шел один из зимних дней, а я сидел на работе и размышлял над математической задачей, которая мне волей-неволей досталась… Двойная сумма, двумерный массив, казалось бы, в чем тут может быть проблема?

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

Даже в одномерном варианте… Читать далее →

Подробнее

Просто добавь немного шума

Предыдущая статья о том, как профильтровать изображение и избавить его от цифрового импульсного шума, заставила подумать и над обратной задачей, особенно с учетом того, что приходилось постоянно напрягать Bagomot’а, который почти постоянно занят со своим проектом по доработке одного сайта, делать «шумные» картинки.

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

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

Подробнее

Медианный фильтр в D

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

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

Подробнее

Создание гистограмм изображений

В ходе увлекательнейшей работы над одним из проектов, внутри нашей коллаборации началось повальное увлечение темой Digital Image Processing (DIP) , или если сказать по-русски название тематики, то дословно это будет звучать, как  «цифровая обработка изображений» (ЦОИ).

Действительно, тема обработки изображений действительно сильно заманчивая и интересная, а также включает в себя большой объем тем для работ, а поскольку, работы непочатый край, то наверняка, для уменьшения ее величины существуют инструменты…

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

Подробнее

Обработка изображений: делаем фотографию черно-белой своими руками

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

Сначала, я хотел выложить перевод жутко интересной статьи, но потом выяснилось, что меня опередили, а в этот момент была готова только часть — и это меня очень расстроило, но потом я подумал, что нет смысла огорчаться — переводами сейчас занимаются многие, но вот чтобы написать нечто уникальное по D и к тому же на русском языке — вот тут нужно гораздо больше усилий и времени, и поэтому с приподнятым настроением я сел писать эту статью… Читать далее →

Подробнее

Математическая графика в dlib

Графическая библиотека dlib – это замечательный и интересный инструмент как для работы, так и для проведения разного рода математических экспериментов. Однако, несмотря на свое богатство, dlib достаточно скромная и минималистическая библиотека, и очень часто встроенных примитивов не хватает под некоторые задачи отрисовки, а иногда бывает и так, что хочется иметь простой и удобный интерфейс для уже привычных, ставших рутинными, действий. Читать далее →

Подробнее

Гипоциклоида и элементы функционального программирования

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

Сижу, значит, за компьютером, никого не трогаю, как вдруг пишет мне Bagomot во ВКонтакте и говорит, что у него не получается нарисовать гипоциклоиду.

Само собой, удивлению моему не было предела, ибо обычно, этот товарищ ничем подобным не занимается да и я знать не знаю ничего про гипоциклоиду (это правда, к сожалению) — и тут, я решаю помочь Bagomot’у и «запилить» код, так как на вид параметрическое задание функции, рисующей эту занятную кривую, довольно несложное, кроме того, параметрическое задание — это уже давно пройденный нами этап…

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

Подробнее

Фрактал Курликю

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

Подробнее