C_3AXAPOB писал(а): ↑Чт сен 20, 2018 10:48 am
Извините не уточнил. Вот этот момент "С помощью камеры и OPenCV мажордомо определяет что жена пришла на своё любимое место"
По-моему я где-то уже выкладывал. Но могу повторить.
На телевизоре стоит камера PS3 EYE, которая изначально служила микрофоном для голосового ввода. Любимое место жены как раз находится в зоне обзора этой камеры, поэтому решил попробовать добавить ещё и распознование.
За образец был взять проект для умного зеркала
https://github.com/paviro/MMM-Facial-Recognition-Tools
Это скрипт на питоне, использующий библиотеку OPenCV. Поскольку постоянное распознование вещь ресурсоёмкая, к тому же всё крутится на малинке, то пришлось добавить датчик движения и включать распознование по датчику + отключать его на час, если скрипт узнал жену.
Для того чтобы всё работало, нужно сделать несколько десятков снимков всех домочадцев при помощи capture.py. Потом потренировать при помощи train.py. Ну и полученный train.xml использовать в своём скрипте.
Сам скрипт в приложении. Работает следующим образом - скрипт в цикле считывает 11 pin (к нему подключен датчик движения), когда на входе появляется 1, вызывается функция распознования. В течение минуты функция пытается найти на снимках с камеры человека, если находит его 3 раза, то оправляет на МДМ команду запуска сценария. После чего на час отключается. Движение продолжает регестрироваться в системе, но функция распознования не вызывается. Примерно так
3 раза пытается найти человека, потому что как камера PS3 eye довольно слабенькая. При плохом освещении начинает снежить, да и разрешение у неё слабенькое. Её плюс в большом fps, ну тут это никак не используется. Наоборот, если задейстовать на полную мощь, то USB начинает затыкаться и спамить в системный лог