Привет, Хабр! Публикуем материал выпускника нашей программы Deep Learning и координатора программы по большим данным, Кирилла Данилюка о его опыте использования фреймворка компьютерного зрения OpenCV для определения линий дорожной разметки.
Пользователь
Робот-танк на Raspberry Pi с OpenCV
6 мин
36KОдно время я увлекался сборкой роботов-машинок на Ардуино и Raspberry Pi. Играть в конструктор мне нравилось, но хотелось чего-то большего.
И как-то раз, блуждая по Алиэкспрессу, я набрел на алюминиевое шасси для танка. Выглядело это творение в сравнении с машинками из пластика как Феррари в сравнении с телегой.
И как-то раз, блуждая по Алиэкспрессу, я набрел на алюминиевое шасси для танка. Выглядело это творение в сравнении с машинками из пластика как Феррари в сравнении с телегой.
+33
Следование линии на основе OpenCV
4 мин
17KСейчас очень популярны курсы по созданию автопилотов для машин. Вот эта нано-степень от Udacity — самый наверное известный вариант.
Много людей по нему учатся и выкладывают свои решения. Я тоже не смог пройти мимо и увлекся.
Разница в том, что курс предполагает разработку алгоритма на основе предоставляемых данных, а я делал все для своего робота.
Много людей по нему учатся и выкладывают свои решения. Я тоже не смог пройти мимо и увлекся.
Разница в том, что курс предполагает разработку алгоритма на основе предоставляемых данных, а я делал все для своего робота.
+26
Книга «Программирование для детей. От основ к созданию роботов»
1 мин
11K Нашу жизнь невозможно представить без разнообразных цифровых устройств. Ноутбуки, планшеты, мобильники и другие гаджеты доступны детям буквально с рождения. «Разум» внедряется в привычные вещи — пылесосы, стиральные машины, холодильники, автомобили. Как не потеряться в этом мире? Как управлять умными вещами? Вероника и Игорь Воронины просто и увлекательно рассказывают о программировании, роботах, передаче зашифрованных посланий и многом другом. Книга научит основам программирования и созданию собственного робота, который будет выполнять команды. Теперь всё в руках родителя и ребенка. Изобретателем может стать каждый!
+13
Как это сделано: пишем «Сапера» за 4 минуты
4 мин
48KОт переводчика: этот пост — перевод оригинальной статьи Маки Чиза, опытного кодера, который не только пишет классные программы, но и демонстрирует возможности различных языков своим коллегам, как новичкам, так и профессионалам.
«Сапер» — веселая игра, многие из нас в нее играют. Может быть, вы хотите сделать «Сапера» сами?
+5
«Противостояние» на PHDays 8 — взгляд со стороны SOC
4 мин
3.3KВ мае этого года прошла конференция Positive Hack Days 8, на которой мы вновь поучаствовали в роли SOC в уже традиционном Противостоянии (The Standoff).
В этом году организаторы учли прошлые ошибки и Противостояние началось в срок. Атакующие — молодцы! Нападали практически непрерывно все 30 часов, поэтому нашей ночной смене не удалось даже вздремнуть.
В этом году организаторы учли прошлые ошибки и Противостояние началось в срок. Атакующие — молодцы! Нападали практически непрерывно все 30 часов, поэтому нашей ночной смене не удалось даже вздремнуть.
+14
[Краудкосилка]-газонокосилка, которой может управлять любой желающий через интернет
8 мин
15KУ Вас есть минутка? Не могли бы Вы покосить мой газон?
Краткая история разработки на коленке робота-газонокосилки. Управлять ей можно с любой точки земли через интернет. Мечтали почувствовать себя оператором марсохода или лунохода? Всего лишь нужно зайти на сайт mowmylawn.ru и Вы сможете управлять газонокосилкой у меня во дворе!
+21
Разработка робота для сбора мячей для гольфа
5 мин
15KПроцесс разработки сервисного робота на Orangepi zero и arduino для сбора гольф-мячей. Вся боль инди-разработчика, не обремененного техническим бэкграундом в одном посте…
Разработка MVP. Видео тестирования.
Разработка MVP. Видео тестирования.
+49
Создаем 2D игру на Python с библиотекой Arcade
7 мин
132KВсем привет!
Мы продолжаем делится с вами интересными найденными вещами про питончик. Сегодня вот решили разобраться с 2D играми. Это, конечно, немного попроще, чем то, что проходят у нас на курсе «Разработчик Python», но не менее интересно это уж точно.
ПЕРЕВОД
Оригинал статьи — opensource.com/article/18/4/easy-2d-game-creation-python-and-arcade
Автор — Paul Vincent Craven
Поехали.
Python — выдающийся язык для начинающих изучать программирование. Он также идеально подходит тем, кто хочет “просто взять и сделать”, а не тратить кучу времени на шаблонный код. Arcade — библиотека Python для создания 2D игр, с низким порогом вхождения, но очень функциональная в опытных руках. В этом статье я объясню, как начать использовать Python и Arcade для программирования игр.
Я начал разрабатывать на Arcade после преподавания азов библиотеки PyGame студентам. Я очно преподавал PyGames в течение почти 10 лет, а также разработал ProgramArcadeGames.com для обучения онлайн. PyGames отличная, но в какой-то момент я понял, что устал тратить время на оправдание багов, которые никогда не фиксятся.
Меня беспокоило преподавание таких вещей, как событийный цикл, которым уже почти не пользовались. И был целый раздел, в котором я объяснял, почему y-координаты повернуты в противоположном направлении. PyGames обновлялась редко и базировалась на старой библиотеке SDL 1, а не чем-то более современном вроде OpenGL. На светлое будущее я не рассчитывал.
В моих мечтах была простая и мощная библиотека, которая бы использовала новые фичи Python 3, например, декораторы и тайп-хинтинг. Ей оказалась Arcade. Посмотрим, как начать ее использовать.
Мы продолжаем делится с вами интересными найденными вещами про питончик. Сегодня вот решили разобраться с 2D играми. Это, конечно, немного попроще, чем то, что проходят у нас на курсе «Разработчик Python», но не менее интересно это уж точно.
ПЕРЕВОД
Оригинал статьи — opensource.com/article/18/4/easy-2d-game-creation-python-and-arcade
Автор — Paul Vincent Craven
Поехали.
Python — выдающийся язык для начинающих изучать программирование. Он также идеально подходит тем, кто хочет “просто взять и сделать”, а не тратить кучу времени на шаблонный код. Arcade — библиотека Python для создания 2D игр, с низким порогом вхождения, но очень функциональная в опытных руках. В этом статье я объясню, как начать использовать Python и Arcade для программирования игр.
Я начал разрабатывать на Arcade после преподавания азов библиотеки PyGame студентам. Я очно преподавал PyGames в течение почти 10 лет, а также разработал ProgramArcadeGames.com для обучения онлайн. PyGames отличная, но в какой-то момент я понял, что устал тратить время на оправдание багов, которые никогда не фиксятся.
Меня беспокоило преподавание таких вещей, как событийный цикл, которым уже почти не пользовались. И был целый раздел, в котором я объяснял, почему y-координаты повернуты в противоположном направлении. PyGames обновлялась редко и базировалась на старой библиотеке SDL 1, а не чем-то более современном вроде OpenGL. На светлое будущее я не рассчитывал.
В моих мечтах была простая и мощная библиотека, которая бы использовала новые фичи Python 3, например, декораторы и тайп-хинтинг. Ей оказалась Arcade. Посмотрим, как начать ее использовать.
+20
Ретро-разработка для первой портативной консоли из далекого 1979 года
11 мин
15KВ 1974 году Texas Instruments выпускает первые 4-битные микроконтроллеры семейства TMS1000, а Intel в 1976 начинает производство 8-битных микроконтроллеров своей известной серии MCS-48. И тут началось.
+61
Дорога на войну: ИИ игр серии Total War
10 мин
17KПеревод
С самого основания моей серии видео «AI and Games» на YouTube я исследовал различные реализации ИИ, решающие определённые задачи в дизайне видеоигр, требующие немедленного, реактивного поведения в сочетании с долговременным и стратегическим принятием решений. Популярным жанром, в котором ИИ может создавать быстрый, реактивный и захватывающий геймплей, являются шутеры от первого лица (FPS). Но если мы хотим рассмотреть потребность в эффективных системах, учитывающих баланс принятия краткосрочных и долгосрочных решений, то идеальным предметом для изучения являются игры в жанре стратегии реального времени (Real-Time Strategy, RTS).
И RTS, и FPS продолжают вносить инновации в современные видеоигры, стремясь соответствовать их дизайну. Но играм в жанре RTS нужно оценивать гораздо более обширное и длительное влияние быстрых и реактивных решений. Кроме того, им требуется управлять ресурсами на разных уровнях абстракции и сложности в многочасовых игровых сессиях. При обсуждении сложностей и инноваций, с которыми приходится столкнуться ИИ стратегических игр, ни в коем случае нельзя не упомянуть одну франшизу — Total War компании Creative Assembly.
+23
Как задолбать всех коллег: собираем требования к CRM
14 мин
54KВы замечали, насколько по-разному покупают люди, например, смартфоны? Один подходит, уверенно берёт нужную модель и может проконсультировать всех вокруг, второй робко слоняется вдоль витрины, трогает экраны и оценивает вес и яркость, третий открывает камеру и делает селфи, четвёртый набирает «Привет! Как дела», тестируя клавиатуру одной рукой. Ничего необычного — каждый смотрит то, что ему важнее. Хуже, когда так же покупают CRM или ERP — буквально с закрытыми глазами, бегло глянув на яркую презентацию или прочитав советы на форуме. Потом сыпятся негативные отзывы, а автоматизация вызывает стойкую неприязнь. Казалось бы, что проще — собрать требования и приступить к трезвому выбору вендора. Но нет, инструкцию будем читать потом, когда сломается… А вот, собственно, и подробная инструкция.
+36
Перчатка — устройства ввода. Датчик изгиба
4 мин
20KПредисловие
В данной статье рассмотрим как сделать руку-клавиатуру, а также самодельный датчик изгиба (сгибания). На одной руке, как правило, 5 пальцев — это дает сделать 32 (2^5) комбинации. Но на русский язык не потянет (33-32 символа), а вот на английский язык как раз, ещё и останется место для space/backspace/enter и т.д.
Немного идей: если подумать, то это интересный джойстик; если присоединить вторую руку, то это 1024 комбинации, а это возможно музыкальный инструмент; внедрить гироскоп/акселерометр и улучшить до мышки.
+24
Видеонаблюдение в подъезде своими силами
20 мин
163KПрочитал относительно недавнюю публикацию о видеонаблюдении и решил описать свой опыт. Считаю мое решение оптимальным по соотношению цена/функциональность, но с удовольствием выслушаю критику более опытных людей.
Итак, задача — минимальными материальными и временными ресурсами сделать видеонаблюдение в подъезде перед входной (в квартиру) дверью. Желательно не записывать круглые сутки “пустые” картинки, т.е. необходимо детектирование движения. Также хорошо бы иметь удаленный доступ к записям.
+19
О трехмерных шутерах на CSS +HTML [перевод]
3 мин
15KПривет, Хабр! Представляю вашему вниманию перевод статьи Building a 3D Game with CSS + HTML автора Michael Bromley.
Не так давно я изучал редко используемые функции CSS — функцию анимации и 3D, а после общения в конференции по JavaScript я собрал вот это demo. Пока я трудился над ним, мне стало любопытно, как далеко можно зайти в конструировании трёхмерной графики на чистом CSS.
(скриншот выполнен переводчиком)
Не так давно я изучал редко используемые функции CSS — функцию анимации и 3D, а после общения в конференции по JavaScript я собрал вот это demo. Пока я трудился над ним, мне стало любопытно, как далеко можно зайти в конструировании трёхмерной графики на чистом CSS.
(скриншот выполнен переводчиком)
+10
Обзор Psion Organiser II XP с внутренностями и Тетрисом
12 мин
17KКарманный компьютер Psion Organizer II XP был выпущен одноименной британской компанией Psion в 1986 году. Он стал успешным представителем линейки Psion Organizer, в которой первенцем был Organizer I, сошедший с конвейера в 1984 году. Последним представителем серии стал Organizer II LZ появившийся в продаже в 1989.
Psion Organizer часто титулуется первым в мире PDA (то, что у нас называлось КПК) и хотя это утверждение на мой взгляд спорно, Органайзеры действительно имели уникальные особенности для карманных компьютеров тех лет.
+46
Компьютерное зрение и мобильные роботы. Часть 1 — V-REP, Python, OpenCV
6 мин
47KКогда прочитал публикацию про запуск беспилотных гоночных автомобилей — подумал, было бы интересно сделать что-то подобное. Конечно не гоночный болид, но по крайней мере мобильный робот, что ориентируется в пространстве посредством камеры — распознаванием образов.
В нашем хакспейсе — создать робота не такая большая проблема. Но не у всех и не всегда есть возможность экспериментировать с реальным «железом» — поэтому интересно было попробовать решить задачу — в виртуальной среде, и после уже оживить «железо».
Так и возникла идея серии статей, про решение простейшей задачи ориентации робота в пространстве — от виртуальной симуляции, до воплощения в реальном мобильном роботе:
Часть 1. Настройка виртуальной среды, интеграция с python и OpenCV для распознавания образов из виртуального мира.
Часть 2. Создание виртуального мобильного робота, алгоритм автономного перемещения (поиск объекта)
Часть 3. Создание реального робота, перенос логики на него.
Хочется добиться такого результата — чтобы python скрипт, управляющий виртуальным роботом — был бы максимально идентичным тому, что будет управлять реальным роботом.
Мозгом робота будет микрокомпьютер RaspberryPi2 — на котором без проблем работает и python, и OpenCV. Таким образом необходимо состыковать систему виртуальной робототехники V-REP — с Python и OpenCV. Вот про это и будет первая часть — данная публикация.
Видео, что получилось (поиск зеленого объекта)
На верхнем окне — прямое изображение с видео-камеры в 3д виртуальном мире, на нижнем окне — результат выполнения python скрипта, что получает изображение передаёт её OpenCV и рисует маркер, вокруг найденного объекта.
На верхнем окне — прямое изображение с видео-камеры в 3д виртуальном мире, на нижнем окне — результат выполнения python скрипта, что получает изображение передаёт её OpenCV и рисует маркер, вокруг найденного объекта.
Нарисуем архитектуру нашего мобильного робота.
+19
Linux для планшета
8 мин
143KВ этой статье я покажу вам на своём опыте, что GNU/Linux и графические оболочки для него уже дозрели до уровня планшетов и вовсе не нужно бояться покупать трансформер\планшет только из-за того, что вы приверженный линуксоид. Здесь описывается сравнение и выбор оптимальной среды рабочего стола (далее DE) для планшета или трансформера, её установка и доработка для сенсорного управления.
+39
Чтобы распознавать картинки, не нужно распознавать картинки
18 мин
237KПосмотрите на это фото.
Это совершенно обычная фотография, найденная в Гугле по запросу «железная дорога». И сама дорога тоже ничем особенным не отличается.
Что будет, если убрать это фото и попросить вас нарисовать железную дорогу по памяти?
Если вы ребенок лет семи, и никогда раньше не учились рисовать, то очень может быть, что у вас получится что-то такое:
Это совершенно обычная фотография, найденная в Гугле по запросу «железная дорога». И сама дорога тоже ничем особенным не отличается.
Что будет, если убрать это фото и попросить вас нарисовать железную дорогу по памяти?
Если вы ребенок лет семи, и никогда раньше не учились рисовать, то очень может быть, что у вас получится что-то такое:
+253
Raspberry Pi 2 зависает от фотовспышки
2 мин
143K7 февраля участник PeterO форума Raspberrypi.org сообщил, что обнаружил необычную проблему у своей новенькой Raspbery Pi 2.
I have discovered that my PI2 is camera-shy!
Taking it's picture with a flash causes an instant power off!
I've done it three times now and same thing happens each time.
Я обнаружил, что моя Pi2 стесняется фотоаппаратов!
Попытка сфотографировать плату со вспышкой вызывает ее мгновенное отключение!
Я три раза ее фотографировал, и каждый раз это происходило вновь.
+44
Информация
- В рейтинге
- Не участвует
- Откуда
- Ивановская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность