Эффективные структуры данных в PHP7

PHP имеет всего одну структуру данных для управления всем. array — сложный, гибкий, гибридный, сочетает в себе поведение list и linked map. Но мы используем его для всего, потому что PHP придерживается прагматичного подхода: иметь предельно правильный, здравый и реалистичный способ решения проблемы, исходящий из практических, а не теоретических рассуждений. array позволяет делать работу, хотя о нем и так много рассказывают на лекциях по информатике. Но, к сожалению, с гибкостью приходит и сложность.

Последний релиз PHP вызвал большое оживление в сообществе. Мы не могли дождаться того, чтобы начать использовать новые возможности и почувствовать вкус ~2х прироста производительности. Одна из причин, почему это случилось — структура array была переработана. Но массивы все также придерживаются принципа «оптимизировано для всего; оптимизировано для ничего», еще не все идеально, есть возможности для совершенствования.
Читать далее «Эффективные структуры данных в PHP7»

Фильтрация фона видео с OpenCV

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

Здесь мы рассмотрим один из таких методов для выделения движущихся объектов на фоне видео-сцены статически установленной камеры.
Читать далее «Фильтрация фона видео с OpenCV»

Усреднённое лицо и OpenCV для Python

В этой статье вы узнаете, как сгенерировать усредненное изображение лица при помощи библиотеки OpenCV. Но прежде, чем читать рекомендую ознакомиться со статьёй 5 вариантов среднего или какая средняя температура в больнице? — могут появиться очень интересные аналогии…

Девушка, изображенная на рисунке 1 ниже, большинству читателей покажется симпатичной. Но вы сможете угадать ее национальность? Почему у нее такая ровная кожа? Правильно – этой девушки нет. Но и нельзя сказать, что это полностью виртуальное изображение. Это усредненный портрет всех сотрудниц компании Sight Commerce Inc. примерно в 2011 году. Благодаря разнообразию в компании, её национальность сложно определить, так как здесь работают девушки с европейскими, латиноамериканскими, восточноазиатскими и индийскими корнями!
Читать далее «Усреднённое лицо и OpenCV для Python»

Есть сертифика́ты и сертифи́каты

Пришло мне на ящик письмо от Дэна из realpython.com, с которым у нас общие интересы в сфере Computer Science образования, по поводу выдачи и обретение сертификатов, подтверждающих некоторые компетенции. Оно «взорвало» мозг и породило несколько мыслей по этому же поводу. Надеюсь и у вас появятся мысли об образовательном бизнесе, особенно, в приложении к отечественным условиям. «Предприятие создано с целью получения прибыли» — первая фраза уставных документов любого коммерческого предприятия, а всё остальное потом… И уже в этом лукавство по отношению к качеству образовательного продукта… Начнём по-тихоньку…

One of the «shameful secrets» of my career is that I’m a certified «Scrum Product Owner.»
Читать далее «Есть сертифика́ты и сертифи́каты»

Встроенные функции Python: какие нужно знать и на какие не стоит тратить время

В Python существуют десятки встроенных функций и классов, сотни инструментов, входящих в стандартную библиотеку Python, и тысячи сторонних библиотек на PyPI. Держать всё в голове начинающему программисту нереально. В статье расскажем про стандартные встроенные функции Python: какие используются часто, а какие вам, вероятно, не пригодятся никогда.

Читать далее «Встроенные функции Python: какие нужно знать и на какие не стоит тратить время»

Поменять бы синтаксис описания класса в Python

Если на протяжении достаточного продолжительного времени вы использовали какой-либо язык программирования для «материализации» своих мыслей, то обязательно найдётся то, что хотелось бы изменить. Такая штука произошла у меня с Python. Есть несколько мыслей по поводу Python, которые требуют (имхо) его изменений, но, к сожалению, это не в моих силах. Тем не менее, одной из них я вас загружу: синтаксис описания классов.
Читать далее «Поменять бы синтаксис описания класса в Python»

Обнаружение объекта на изображении методом цветовой сегментации (Python)

Прежде чем говорить о сути вещей, договоримся о терминах . . .

Контур — просто непрерывная кривая, разделяющая на изображении все точки с одинаковым цветом или интенсивность. Контур является полезным инструментом для анализа форм, а также для обнаружения и распознавания объектов.

Порог. Применение порогового значения к изображению в градациях серого делает его двоичным черно/белым изображением. Из разумных соображений устанавливается пороговое значение, при котором все значения ниже этого порога становятся черными, а все значения выше становятся белыми.
Читать далее «Обнаружение объекта на изображении методом цветовой сегментации (Python)»