Питон + компьютерное зрение + ардуино (python + opencv + arduino)

Поделиться
HTML-код
  • Опубликовано: 1 окт 2024
  • Здесь рассказывается, как можно легко и просто соединить python, компьютерное зрение (библиотека openCV) и плату arduino.
    Ссылки на использованный материал:
    Код для распознавания лица artelliq.com/b... (не забиваем правильно указать камеру )
    Файл-описание для оправления лиц raw.githubuser...
    Работа firmata и arduino arduinoplus.ru...
    (подробнее о firmata github.com/fir...)
    Ссылки на используемое ПО:
    PyScripter sourceforge.ne... (Внимание! Версия IDE должна совпадать с версией python)
    Arduino IDE www.arduino.cc...

Комментарии • 52

  • @СергейВладимирович-о2э

    Отличное видео, хотелось бы продолжения, скажем определение объекта и подсчёт количества определённого объекта.

    • @BlinkingLED
      @BlinkingLED  2 года назад

      Распознание нескольких лиц здесь уже есть. Что бы выбирать другие объекты нужно брать другие классификаторы. Например, тут: github.com/opencv/opencv/tree/master/data/haarcascades
      Для более качественного распознавания, лучше использовать что то по мощнее, например, YOLO

  • @GoldenHandsCooking
    @GoldenHandsCooking 10 месяцев назад +1

    Спасибо Автору за подробного информации уроке! до конца посмотрев я нашел то что искал! место мигание лампочки пробую написать код вывод на жк дисплей Приветствие меня и написать код Приветствие с Озвучкой!

  • @Олег-я6й
    @Олег-я6й Месяц назад

    Здравствуйте. Скажите, что нужно дописать в коде, чтоб камера могла следить за объектом (лицом)? ( я самый начинающий человек в мире, который начал разбираться с этим!)

    • @BlinkingLED
      @BlinkingLED  Месяц назад

      @@Олег-я6йкод возвращает координаты прямоугольника котором обводит лицо. Если разделить экран на 9 прямоугольных зон, то если координаты прямоугольника в центре, то камера не подвижна, если в верхней левой части, значит нужно двигать камеру вверх в лево и т.д. большинство камер поддерживают протокол управления через веб интерфейс. Достаточно легко можно найти информацию в сети. Недавно один школьник делал подобную поделку, у него ушло 3 занятия.

  • @Алг-ж3д
    @Алг-ж3д 2 года назад +2

    webcam я написал, остальное видео досмотрю потом

    • @yoursps
      @yoursps 2 года назад

      Зашёл в комменты, найти братьев по несчастью)))))

  • @artashesmkhitaryan3482
    @artashesmkhitaryan3482 6 месяцев назад +1

    Спосибо за уроки и лайк,если можно вопрос - для быстроты обработки информации не лучше ли использовать языки c,c++,взамен payton,или разница небольшая,спасибо заранее за ответ.

    • @BlinkingLED
      @BlinkingLED  6 месяцев назад

      Это зависит от задач. Данный пример показывает, что это доступно для новичков. На С++ будет быстрее, но интеграция потребует больше знаний и умений, чем на питоне. Для образовательных задач скорости питона хватает, почти всегда)

  • @torhristos115
    @torhristos115 4 месяца назад

    Спасибо, сделал распознавание коптеров, работает очень медленно, отклик примерно 7 секунд. И ноутбук вроде не плохой,

    • @BlinkingLED
      @BlinkingLED  4 месяца назад +1

      Здесь вопрос оптимизации. Как вариант, уменьшить количество кадров в секунду, снизить разрешение, обрабатывать только часть изображения, использовать другие библиотеки/модели, использовать аппаратную оптимизацию.

    • @torhristos115
      @torhristos115 4 месяца назад

      @@BlinkingLED спасибо! Вы на стационарном компе делаете?

    • @BlinkingLED
      @BlinkingLED  4 месяца назад +1

      @@torhristos115 В том числе. Зависит от задачи. На одноплатном ПК, скорость сильно проседает. По этому и нужна оптимизация. Был вариант, переноса сложной обработки на ПК по wifi с одноплатного ПК, даже можно сделать с esp32.

  • @onlaynstudy8811
    @onlaynstudy8811 2 года назад +1

    здравствуй очень отличные уроки... А как написать на пайтоне связав сенсорный датчик огня чтобы она определял пожар ? еще раз спасибо за уроки

    • @BlinkingLED
      @BlinkingLED  2 года назад

      Спасибо! Все не сложно, описание есть здесь roboticsbackend.com/control-arduino-with-python-and-pyfirmata-from-raspberry-pi/
      Смотрите раздел, где рассматривается подключение кнопки button. Там видно как сделать ввод данных с arduino.

  • @КлайвСинклер-е6ю
    @КлайвСинклер-е6ю 10 месяцев назад +1

    " а теперь ааааа давайте ааааа сделаем аааа следующее ааааа" - автор, как вам предложеньице ?
    Калька с вашего. Не в обиду, НО давайте уже в сети развивать нормальный ГОДНЫЙ конент. Давайте перед выкладыванием роликов РАБОТАТЬ НАД СОБОЙ!

  • @простоканал-о8д
    @простоканал-о8д 6 месяцев назад

    Все четко и понятно.

  • @АндрейБабаш-ю9п
    @АндрейБабаш-ю9п Год назад

    Круто! Спасибо за видео

  • @redmercury7194
    @redmercury7194 Год назад

    Я правильно понял, обрабатывает всё компьютер, ардуинка только исполняет через pyfirmata.?

    • @BlinkingLED
      @BlinkingLED  Год назад

      Да. Все верно. Такой вариант можно повторить на raspberry pi подобных одноплатных ПК.

  • @Pythonshik
    @Pythonshik 2 года назад

    OpenCV + Ардуино..
    Автор, вы не видите, что сняли не о том, о чем пишите?
    Зачем кликбейтить?
    Потому что "лампа мигает когда видит лицо" - будет звучать плохо?

    • @BlinkingLED
      @BlinkingLED  2 года назад

      Все что перечислено в названии, все используется. Предлагаю Вам снять свое видео и назвать как будет угодно.

  • @kurmanbekomurzakov9285
    @kurmanbekomurzakov9285 2 года назад

    Спасибо на урок

  • @АРЦАХ-э1н
    @АРЦАХ-э1н Год назад

    здравствуйте! с какого ростояния может определить обект ?

    • @BlinkingLED
      @BlinkingLED  Год назад

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

    • @АРЦАХ-э1н
      @АРЦАХ-э1н Год назад

      @@BlinkingLED Спасибо

  • @alexe7861
    @alexe7861 Год назад

    Круто! Огонь!
    С определением понятно!
    А как на счёт "расспознать хозяина?"
    Например, что бы дверь на вход открыть? ;)

    • @BlinkingLED
      @BlinkingLED  Год назад

      На самом деле это не так сложно как кажется. В код нужно добавить несколько строк, если будете использовать облачное распознавание. Информация здесь teachablemachine.withgoogle.com/

  • @GunaevVO
    @GunaevVO 2 года назад

    Опячатку исправьте (pyhton + opencv + arduino)

    • @BlinkingLED
      @BlinkingLED  2 года назад

      Спасибо! Исправлено.

  • @ДмитрийТесленко-г6у

    Здравствуйте. Скажите по какому принципу камера на трёх осевом подвесе следит за определенным обэктом?

    • @BlinkingLED
      @BlinkingLED  2 года назад

      Здравствуйте. Все просто. На видео легко получить координаты объекта, очевидно, если объект мешается вправо, то его координата Х меняется. В туже сторону( или зеркально, зависит от конструкции) нужно вращать привод, что бы сохранить положение объекта в центре экрана. Тоже касается остальных осей. Важно плавное регулирование поворота и наличие мертвой зоны, т.е. зоны бездействия.

  • @flambi4421
    @flambi4421 2 года назад

    Спасибо!!

  • @vladislavborisov3187
    @vladislavborisov3187 3 года назад

    Спасибо за видео!

  • @user-do2wl8sd2j
    @user-do2wl8sd2j Год назад

    Станислав, здравствуйте. Не понял в начале, где преподаете?

    • @BlinkingLED
      @BlinkingLED  Год назад

      Добрый день, Виталий! На момент записи видео в кванториуме, Роббо, Гимназии. Сейчас только Роббо.

    • @Ннн-й6е
      @Ннн-й6е Месяц назад

      Добрый вечер. У вас есть тг?

  • @yaxney
    @yaxney 2 года назад

    Здравствуйте. Посредством ардуино возможно реализовать распознавание конкретных лиц? Чтобы допусти электронный замок открывался только на моё лицо?

    • @BlinkingLED
      @BlinkingLED  2 года назад

      Добрый день, Михаил!
      Конечно можно, но это более сложная система. Нужна нейросеть, что бы обучить ее на конкретное лицо или найти упрощённый модуль по распознаванию, например, от IBM (обработка будет происходить довольно не быстро на их серверах).

    • @Pythonshik
      @Pythonshik 2 года назад

      Автор не прав. На Ардуино такое не возможно, маловато ресурсов. На rpi - конечно можно

    • @BlinkingLED
      @BlinkingLED  2 года назад +1

      @@Pythonshik давайте не будем так категоричны. Ардуины бывают разные, а т.ч. с нейропроцессорами. Под словом ардуино, подразумеваю низкоуровневые микроконтроллеры (ардуино, можно сказать, уже нарицательное имя, типа загуглить). Например, есть ESP с камерой и там можно сделать распознавание. Так же есть комплекты openCM от robotis и т.д.

  • @vitalimanjur8563
    @vitalimanjur8563 2 года назад

    Здраствуйте Станислав Александрович, у меня вопрос: как можно использывать текст при обнаружение для условных программ? я имею введу в случи если будет обнаружено .... приминять к действие

    • @BlinkingLED
      @BlinkingLED  2 года назад

      Добрый день, Виталий. Не совсем понимаю вопрос. Рисование рамки и есть действие при обнаружении лица. Что бы распознавать буквы нужна другая база. Под видео есть ссылка на базу с автомобильными номерами. Решений по распознаванию букв в сети очень много, в.т.ч. по образцу.

    • @vitalimanjur8563
      @vitalimanjur8563 2 года назад

      @@BlinkingLED я имею введу когда оно обнаруживате лицо он должен прислать мне текст в модуль чтобы я мог использывать в условиях ( текст это может быть любой ) мне главное чтоб оно дал отчет что обнаружил его, но не на экране передать текст а в модуль, чтобы мог дать условие при обнаружение

    • @BlinkingLED
      @BlinkingLED  2 года назад

      @@vitalimanjur8563 Чуть выше написал. Там где рисуется рамка, там же можно передавать параметры. Например, foudface(true), где def founface(in): if in: print ("face detected!")

    • @vitalimanjur8563
      @vitalimanjur8563 2 года назад

      @@BlinkingLED проблема в том что это сообщение не сможет получить прииспользывание (print ("face detected!")) я пробывал через return но очень медленно кажды 15 секунд, я пытался вложить его в ( def )
      но работает очень медленно как я говорил каждый 15 секунд сообщяет про обнаружение

    • @vitalimanjur8563
      @vitalimanjur8563 2 года назад

      @@BlinkingLED мне нужно этот ответ не на экране передал (показал ) а в мою программу который я собрал, под условиями

  • @v_404_v
    @v_404_v Год назад

    Эээм аааа эээээ ААААА ээээммммм аааааа, слушать невозможно

  • @xiaomi4307
    @xiaomi4307 2 года назад

    Вот простое упражнение для зрения заходишь в комнату и повторяешь фразу каждый охотник желает знать где сидит фазан и ищешь красный зеленый синий цвет и так далее

  • @Юрий-р7ф
    @Юрий-р7ф 2 года назад +4

    Очень странно слышать от человека, который именует себя преподавателем рассуждения "Не будем брать этот код, потому что много кода". Может нужно разобраться почему его много? Почему в одном случае решение более многословное чем в другом? Что вообще делает это код в разный момент времени? Разобраться и объяснить. Ну не хотите на видео разбираться, но можно же подготовиться, сформулировать готовое решение и хотя бы поверхностно рассказать что этот код делает. Если уж это не тема урока, то с акцентировать, что мол углубляться не будем. В конце концов еще лучше это написать код в процессе урока и объяснить что и для чего. А то как-то дилетантством попахивает. Что тогда на курсах происходит? "Вот натИ разбирайтесь сами" ?

    • @BlinkingLED
      @BlinkingLED  2 года назад +3

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