OpenCV: считывания картинки через imread()

OpenCV

Прежде чем проводить какие-нибудь манипуляции с изображением — его нужно предварительно считать из файла.
В OpenCV для этого используется функция imread().

В C++:
Mat cv::imread( const String & filename, int flags = IMREAD_COLOR )

В Python:
retval = cv2.imread( filename[, flags] )


( Читать дальше )

Робот-пылесос научили ругаться при столкновениях


Владельцы роботов-пылесосов зачастую настолько привязываются к этим устройствам, что начинают воспринимать их как своих питомцев. Но, что будет, если устройство действительно начнёт вести себя как живое? Как будет воприниматься робот-пылесос Roomba, если начнёт проявлять «эмоции» при столкновении с препятствиями — возмущаться, кричать и ругаться?

( Читать дальше )

OpenCV - cравнение алгоритмов интерполяции при изменении размеров изображения

OpenCV

Изменение размеров (масштабирование / scaling) — это очень часто используемый метод при работе с изображениями.
В OpenCV для выполнения этой задачи используется функция resize().

В C++:
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )

В Python:
dst = cv2.resize( src, dsize[, dst[, fx[, fy[, interpolation]]]] )


( Читать дальше )

Конструктор LEGO Boost 17101 и его устройство

LEGO Boost 17101
Приближается Новый Год и наступила пора искать подарки. Для подрастающих робототехников сейчас доступны самые разные конструкторы, наборы и уже готовые роботы.
Но выбирая подарок для ребёнка — первым делом думаешь о конструкторе LEGO.
А если рассматривать LEGO и роботов, то, разумеется, первым на ум приходит конструктор LEGO Mindstorms.
Однако, серьёзная цена (от 20 тыс. р.), возрастные ограничения 10+ и угрожающий дизайн версии EV3 — заставляют рассмотреть другие варианты.
Следующим, находится образовательный набор — LEGO WeDo 2.0.
Но опять же — цена (от 13 тыс. р.) и направленность набора на использование в рамках детских робототехнических кружков — заставляют продолжить поиски.
И вот, наконец, находится очень привлекательный вариант для новогоднего подарка — набор для конструирования и программирования — LEGO Boost 17101.

( Читать дальше )

DeepWay - атономная навигация для людей с проблемами зрения


Студент колледжа — Satinder Singh, создал систему навигации для людей с проблемами зрения.
Система состоит из камеры, которая крепится на груди пользователя, ноутбука на котором изображение обрабатывается и если алгоритм на основе глубокого обучения (CNN на Keras поверх Tensorflow) определяет, что пользователю нужно переместиться влево или вправо, то отправляется команда контроллеру Arduino Uno, который, в свою очередь, управляет парой сервомашинок, закреплённых на дужке очков.

( Читать дальше )

Использование TensorFlow для распознавания ваших объектов


Чтобы научить нейронную сетку на TensorFlow распознавать нужные вам объекты, вам понадобится несколько сотен изображений этих объектов. Эти изображения можно найти и скачать из интернета, либо сделать собственные фотографии.

( Читать дальше )

Leap Motion - получение картинки с камер


На фоне новостей о проекте AR-гарнитуры North Star от компании Leap Motion, уместно вспомнить об их основном продукте — контроллере Leap Motion (рус. скачкообразное движение), который представляет собой USB-устройство, отслеживающее в области пространства над собой движение рук, пальцев и карандашей, ручек.

Как видно по фотографиям прототипа экспериментальной платформы Project North Star — для отслеживания рук пользователя там так же используется контроллер Leap Motion — только закрепляется он над головой таким образом, чтобы его рабочая область приходилась как раз перед пользователем.

( Читать дальше )

Замена клавиатуры - распознавание движения руки


Для распознавания движения в воздухе, Federico Terzi собрал портативное устройство на базе контроллера Arduino, акселерометра MPU-6050 и bluetooth-модуля HC-06.

Для распознавания паттернов движения, использовался Python и библиотека машинного обучения Scikit-learn.

( Читать дальше )

Управление компьютером при помощи жестов на Arduino и Python


Простое управление компьютером (например, медиапроигрывателем VLC) при помощи жестов, можно очень просто сделать при помощи контроллера Arduino, пары ультразвуковых датчиков и скрипта на python-е (с использованием модуля pyautogui).

Скетч для Arduino

( Читать дальше )

GAN — генеративные состязательные сети

архитектура GAN
GAN — Generative Adversarial Networks — генеративные состязательные сети.

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

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

( Читать дальше )