Pull to refresh
14
0
Andrew Dunai @AndersonDunai

Пользователь

Send message

Восстановление расфокусированных и смазанных изображений. Практика

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

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

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →
Total votes 459: ↑456 and ↓3+453
Comments141

Оставьте ссылку на свой профиль — и добавьте к себе одного хабражителя

Reading time3 min
Views30K
image Привет!
Всё просто. Вы берёте и пишете, кто вы, что делаете, и оставляете ссылку на свой профиль. Или на свой проект.

Причин две:
  • Во-первых, меня регулярно просят посоветовать дизайнера, художника, разработчика и так далее. Я не знаю другого способа сделать это лучше.
  • Во-вторых, я что-то реально опасаюсь перспектив развития Рунета, и поэтому хочу соединить друг с другом напрямую как можно больше людей. Добавляйтесь в профили к тем, кто вам близок.
Читать дальше →
Total votes 147: ↑106 and ↓41+65
Comments314

1% всех сайтов рунета держит свой memcached открытым для мира. Немного статистики

Reading time3 min
Views74K
How do I authenticate?
You don't!

это цитата из FAQ memcached.

Да, в memcached по умолчанию не предусмотрено системы аутентификации, и администратор сам должен сделать маленький шажок, чтобы закрыть свой сервер от свободного доступа. Например, запустить его на 127.0.0.1, или воспользоваться фаерволом. Сколько же сайтов рунета это сделали?
Узнать подробности
Total votes 197: ↑189 and ↓8+181
Comments117

12 малоизвестных возможностей CSS

Reading time8 min
Views137K
CSS — не очень сложный язык. Но даже если вы пишете таблицы стилей в течении многих лет, наверняка бывают моменты, когда вы узнаете еще что-нибудь новенькое: свойства или значения, которые вам не доводилось использовать, детали спецификации, о которых вы не имели понятия.

В процессе работы с CSS я постоянно нахожу что-нибудь интересненькое, так что решил написать пост и поделиться своими знаниями с вами. Правда, учитывайте, что не всё, о чем будет рассказано, имеет непосредственное практическое значение, но, на всякий случай, в хозяйстве пригодится.
Читать дальше →
Total votes 115: ↑99 and ↓16+83
Comments55

Прекратите скручивать (восклицательный знак)

Reading time6 min
Views1.7M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно
Total votes 682: ↑667 and ↓15+652
Comments360

Signed Distance Field или как сделать из растра вектор

Reading time12 min
Views59K
Речь сегодня пойдёт о генерации изображений с картой расстояний (Signed Distance Field). Данный вид изображений примечателен тем, что фактически позволяет получить «векторную» графику на видеоускорителе, причём даром. Одной из первых данный метод растеризации предложила компания Valve в игре Team Fortress 2 для масштабируемых декалей в 2007 году, но до сих пор он не пользуется особой популярностью, хотя позволяет рендерить прекрасного качества шрифты, используя текстуру всего 256х256 точек. Данный метод прекрасно подходит для современных экранов высокой чёткости и позволяет серьёзно сэкономить на текстурах в играх, он не требователен к железу и прекрасно работает на смартфонах.



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

Как же создавать такие изображения? Очень просто, ImageMagick позволяет сделать это одной командой:

convert in.png -filter Jinc -resize 400% -threshold 30% \( +clone -negate -morphology Distance Euclidean -level 50%,-50% \) -morphology Distance Euclidean -compose Plus -composite -level 45%,55% -resize 25% out.png

На этом можно было бы поставить точку, но так полноценного топика не получится. Что ж, под катом — описание быстрого алгоритма расчёта SDF, пример на C++ и немного шейдеров для OpenGL.
Читать дальше →
Total votes 115: ↑113 and ↓2+111
Comments61

MakeHuman: релиз спустя 12 лет разработки

Reading time1 min
Views38K
image

MakeHuman это бесплатное и открытое программное обеспечение (распространяется под лицензией CC0) для создания реалистичных 3D моделей людей в иллюстрациях, анимациях и играх. Есть возможность экспортировать модели для Blender, XSI, Max и др.
Читать дальше →
Total votes 60: ↑56 and ↓4+52
Comments14

Создадим будущее, которое можно надеть на себя!

Reading time1 min
Views8.1K

В течение текущего года Intel проводит всемирный конкурс для инноваторов Make It Wearable, целью которого является создание идей и концептов новых носимых устройств (wearables). Реализуйте свой креативный потенциал и выиграйте поездку в Сан-Франциско, экспертную помощь в создании вашего продукта или денежную награду из общего призового фонда в $1,3 млн.
Подробнее об условиях и призах
Total votes 21: ↑17 and ↓4+13
Comments3

Скорочтение по технологии spritz на любом сайте

Reading time2 min
Views167K


Совсем недавно, была представлена технология скорочтения spritz (500 слов в минуту без подготовки) она позволяет вам читать тексты намного быстрее, но, к сожалению, разработчик не реализовал тогда её в виде приложения для прочтения собственных текстов.

Теперь же, появился проект Squirt, который позволяет читать любой текст по технологии скорочтения от spritz, установив только 1 букмарклет.
Читать дальше →
Total votes 84: ↑72 and ↓12+60
Comments71

Множественный выбор в QComboBox

Reading time9 min
Views27K

Картинка для привлечения внимания
(возможно имеющая отношение к посту)


Иногда, довольно удобным бывает возможность множественного выбора в виджете QComboBox. В этом небольшом туториале будет показано, как это cделать.
Ближе к коду
Total votes 30: ↑25 and ↓5+20
Comments6

Статистика использования javascript-библиотек и CDN

Reading time8 min
Views22K
Вы когда-нибудь задумывались над такими вопросами:
  • Как мир относится к технологии CDN для загрузки библиотек?
  • Сколько успешных сайтов написано на Wordpress?
  • Какие скрипты чаще всего разработчики загружают из Google CDN?
  • На сколько популярен jQuery?


А я вот задумался.
И не просто задумался, а сделал маааленькое исследование.
И написал маленькое расширение для хрома, которое, возможно, сделает жизнь лучше или сломает интернеты.
Результаты внутри.
Интересно? Заглядывай внутрь!
Total votes 55: ↑50 and ↓5+45
Comments41

Хэл Финни: Биткоин и я

Reading time4 min
Views34K
Я тут подумал, что стоит написать о последних четырех годах, полных событий как для меня, так и для Биткоина.

Для тех, кто меня не знает, я — Хэл Финни. Я начал свой путь в криптографии с работы над ранней версии PGP, бок о бок с Филом Циммерманом. Когда Фил решил основать PGP Corporation, я был среди первых нанятых. Я бы и работал над PGP до самой пенсии. В то же время я связался с криптопанками (Cypherpunks). Я держал первый анонимный ремейлер с шифрованием, среди прочего.
Читать дальше →
Total votes 101: ↑92 and ↓9+83
Comments31

Юзабилити посадочного талона: как спасти две человеческие жизни в год

Reading time4 min
Views155K
У авиакомпаний было 90 лет, чтобы нарисовать посадочный талон, и они все равно облажались. Я предлагаю сделать так:


Читать дальше →
Total votes 309: ↑290 and ↓19+271
Comments292

Релиз KPHP и движков

Reading time6 min
Views164K
Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

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

В связи с этим под катом вас ждет более подробный рассказ о внутреннем устройстве ВКонтакте и тех инструментах, которые сегодня стали доступны opensource-сообществу.


Читать дальше →
Total votes 323: ↑311 and ↓12+299
Comments159

Этот пост написан автором, который не читает комментариев, пожалуйста, не пишите их

Reading time1 min
Views66K
Хочу обратить внимание уважаемого сообщества на небольшой, но достаточно обидный косяк, который допускать в 2014-ом году просто стыдно.

Письма с вот такими заголовками до сих пор бороздят просторы наших почт:
Это письмо отправлено с адреса, который не просматривается. Пожалуйста, не отвечайте на него.
И приписочка ниже: «Если у Вас есть вопрос, вы можете задать его через обратную связь.»

Первая мысль: почему они научили роботов писать, но не научили читать? Darpa делает прямоходящих роботов, японцы делают человекоподобных роботов, весь мир помешался на роботах… но никто не научит бедняжек читать?

А если серьезно. Почему мне, как пользователю, затыкают рот? Почему, я должен думать, можно мне отвечать на это письмо или нет? Прочитает его кто-нибудь или нет? Надо посмотреть внизу страницы, не написано ли там серым шрифтом, что почта не просматривается?
И самое главное. Вот появились у меня вопросы по письму, где, черт возьми, мне искать рабочие контакты? Вам нужна обратная связь или нет? Что проще, нажать Ответить или лезть на сайт и там разбираться с навигацией?
Читать дальше →
Total votes 246: ↑197 and ↓49+148
Comments93

История однострочных багов

Reading time2 min
Views43K
Компания Apple недавно допустила крупную ошибку, забыв удалить лишнюю строчку с оператором безусловного перехода goto посередине функции SSLVerifySignedServerKeyExchange для проверки серверной подписи при установке SSL-соединения. В результате, функция успешно завершала работу, независимо от результата проверки подписи.

Однако, это не первый случай в истории, когда критическая ошибка объясняется единственной строчкой кода. Вот ещё несколько таких примеров.

X Server


В 2006 году было обнаружено, что X Server проверяет рутовые права у пользователя, но при этом разработчики в реальности забыли вызвать соответствующую функцию.

--- hw/xfree86/common/xf86Init.c
+++ hw/xfree86/common/xf86Init.c
@@ -1677,7 +1677,7 @@
   }
   if (!strcmp(argv[i], "-configure"))
   {
-    if (getuid() != 0 && geteuid == 0) {
+    if (getuid() != 0 && geteuid() == 0) {
        ErrorF("The '-configure' option can only be used by root.\n");
        exit(1);
     }

Читать дальше →
Total votes 142: ↑118 and ↓24+94
Comments90

Гарантированная отложенная доставка сообщения

Reading time5 min
Views11K
Здравствуйте, эта статья более представляет собой наброски для размышления, нежели полноценную статью и её цель — обсудить одну интересную и неактуальную тему.

Постановка задачи

Передать сообщение собеседнику, быстро проверить доставку, гарантировать возможность чтения не ранее, чем через заданное время, причём гарантировать только саму возможность чтения, а не непосредственно чтение.
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments6

Что внутри олимпийской медали болельщика 2014?

Reading time2 min
Views191K
Всем зрителям церемоний открытия, закрытия Олимпийских Игр их репетиций были розданы умные светодиодные медали, с дистанционным управлением. Эти аксессуары должны автоматически загораться разными цветами во время церемонии. После завершения шоу, каждый зритель мог забрать медаль с собой на память. С учетом того, что стадион Фишт рассчитан на 40 тысяч зрителей, и необходимости двух репетиций каждой официальной церемонии можно приблизительно оценить количество изготовленных медалей болельщика в 200 000 штук.

image
Фото URA



Интересно, что внутри? Под катом небольшое вскрытие медали.
Трафик 10 мб
Total votes 122: ↑104 and ↓18+86
Comments126

Тролля-киберсквоттера оштрафовали на 32 тысячи долларов

Reading time2 min
Views18K
Недавно суд Бруклина принял решение оштрафовать на $32,000 Тайквока Юнга — американского киберсквоттера, который регистрировал домены с именем известного бизнесмена Дональда Трампа и изливал на него потоки ненависти.

Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments12

Information

Rating
Does not participate
Location
Львов, Львовская обл., Украина
Date of birth
Registered
Activity