Raspberry pi 3 подключение usb камеры

Обновлено: 06.07.2024

А также рабочее видеонаблюдение, уличное видеонаблюдение, офисное видеонаблюдение и гаражное видеонаблюдение.

Допустим, настало время озаботиться безопасностью и поставить дома камеры. Можно купить специальные камеры, модуль захвата видео и потратить на это много денег. А можно взять модуль Raspberry Pi с родной камерой, потратить в 10 раз меньше и получить то же самое. Ну, похожее.

Как будет работать

Мозгом нашей системы станет компьютер Raspberry Pi. Это одноплатный компьютер, на котором можно запустить полноценную операционную систему вроде Linux.

К компьютеру мы подключим камеру: у Pi есть собственный порт для неё, но можно также использовать веб-камеры с USB. Это будут наши глаза.

На Raspberry Pi мы поставим специальную операционную систему, заточенную под видеонаблюдение. Её интерфейс будет доступен через веб: можно вбить в браузере адрес нашей Raspberry Pi и получить доступ к камерам.

Операционка будет смотреть на камеры. Когда зафиксируется движение, она сфотографирует его и куда-нибудь отправит или сохранит на карточку.

Что понадобится

Плата Raspberry Pi. Лучше всего взять третью или четвёртую версию. Если всё равно, где покупать — начните с Алиэкспресса. Когда освоитесь, то найдёте магазин по душе.

Камера. Для простоты будем использовать официальную камеру Raspberry Pi NoIR v2. Она плохо снимает в темноте, но для начала нам этого хватит. Хотите ночную съёмку — выбирайте IR-версию и не забудьте про инфракрасную подсветку. Подставка для камеры — дело вкуса, можно с ней, можно без неё. На работу она не повлияет, но устанавливать камеру будет удобнее.

Прошивка. Чтобы превратить Raspberry Pi в сервер видеонаблюдения, используем motionEyeOS. Это специальная версия операционной системы на базе Linux, где уже есть всё, что требуется для работы с камерой. Заходим на страницу проекта, выбираем нужное устройство и качаем. Устанавливать будем на следующем этапе.

Программа для прошивки. Etcher — просто и понятно. Скачиваете программу себе на компьютер и через неё заливаете файлы на карточку. Если перекинуть их просто так, ничего не получится.

Карта microSD и адаптер. Простая карточка на гигабайт или больше. Адаптер нужен для того, чтобы залить на флешку нужные файлы. Если у вас на компьютере или ноутбуке уже есть адаптер, используйте его.

Источник питания. Чтобы напряжение не проседало и всё работало стабильно, берите отдельный блок питания. У некоторых система работает от зарядки для мобильника, но тут уже на свой страх и риск.

Подготавливаем флешку

  1. Устанавливаем Etcher на компьютер и запускаем программу.
  2. Вставляем флешку в кардридер и подключаем его. Если кардридер встроен в компьютер — просто вставляем флешку.
  3. В Etcher выбираем прошивку, которую будем устанавливать, выбираем диск для записи — нашу флешку — и нажимаем кнопку Flash.
  4. Ждём, пока запись закончится, и достаём флешку.

Иногда попадаются бракованные или старые флешки с битыми элементами памяти, поэтому в этом случае просто замените её на другую.

Настраиваем Wi-Fi

В современных Raspberry Pi есть разъём для подключения локальной сети, но мы ради интереса попробуем работать по Wi-Fi.

На прошлом шаге после прошивки программа сама отключила флешку, поэтому, скорее всего, компьютер её уже не видит. Вытаскиваем, снова вставляем и создаём на ней файл

— он отвечает за настройку беспроводной сети на устройстве.

Этот файл нам нужно сохранить в UNIX-формате. Для этого можно использовать любой продвинутый текстовый редактор. У нас Sublime Text, поэтому мы заходим в настройки

Sublime Text → Preferences → Settings

и добавляем такую строчку:

Домашнее видеонаблюдение на Raspberry Pi

"default_line_ending": "unix",

Сохраняем настройки, а потом тем же Sublime Text открываем наш файл wpa_supplicant.conf и пишем:

country=ru
update_config=1
ctrlinterface=/var/run/wpasupplicant
network=
scan_ssid=
ssid
>

Здесь нужно поменять MyNetworkSSID на название вашей сети, а YourPassword — на пароль для подключения к ней. Сохраняем и закрываем.

Запуск и настройка

  1. Соединить камеру и сам модуль Raspberry Pi специальным шлейфом (идёт вместе с камерой).
  2. Вставить карточку в Raspberry Pi.
  3. Подсоединить питание и включить блок в розетку.

После того, как это будет сделано, ждём 3–5 минут, пока загрузится система. В это время скачиваем сканер IP-адресов, чтобы найти айпи, который будет у нашей камеры после запуска. Мы используем Angry IP Scanner, но это дело привычки.

Как только система загрузилась и сканер нашёл наш модуль в сети — вбиваем его адрес в строку браузера и вводим логин admin. Пароля нет, поэтому первое, что нужно сделать после входа, — поменять пароль на свой.

После этого запускается рабочий стол с камерами, и мы видим картинку с нашим домом. Это значит, что мы всё сделали правильно и собрали свой сервер видеонаблюдения на Raspberry Pi.


Что дальше

У вас есть веб-интерфейс операционной системы. Копаемся в меню и всё настраиваем. Например:

  • Либо подключаюсь к плате через VNC
  • Либо подключаю ее физически к монитору, клавиатуре, мыши и проделываю все ниже указанное.

И так сперва подключу usb камеру к плате и поиграюсь:

No LSB modules are available.

Distributor ID: Raspbian

Description: Raspbian GNU/Linux 8.0 (jessie)

[Wed Feb 15 09:12:06 2017] usb 1-1.5: new high-speed USB device number 6 using dwc_otg

[Wed Feb 15 09:12:06 2017] usb 1-1.5: New USB device found, idVendor=046d, idProduct=0804

[Wed Feb 15 09:12:06 2017] usb 1-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=2

[Wed Feb 15 09:12:06 2017] usb 1-1.5: SerialNumber: 125C4680

[Wed Feb 15 09:12:06 2017] media: Linux media interface: v0.10

[Wed Feb 15 09:12:06 2017] Linux video capture interface: v2.00

[Wed Feb 15 09:12:07 2017] usb 1-1.5: Warning! Unlikely big volume range (=6144), cval->res is probably wrong.

[Wed Feb 15 09:12:07 2017] usb 1-1.5: [5] FU [Mic Capture Volume] ch = 1, val = 1536/7680/1

[Wed Feb 15 09:12:07 2017] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0804)

[Wed Feb 15 09:12:07 2017] USB Video Class driver (1.1.1)

crw-rw----+ 1 root video 81, 0 Feb 15 09:12 /dev/video0

$ lsusb | grep Webcam

Bus 001 Device 006: ID 046d:0804 Logitech, Inc. Webcam C250

Для определения параметров с какими может работать данная USB камеру в системе потребуется поставить пакет v4l-utils:

$ sudo apt-get install v4l-utils -y

Теперь чтобы отобразить все подключенные опознанные устройства видеозахвата:

Теперь чтобы отобразить параметры текущей USB камеры (Webcam C250):

$ v4l2-ctl --all --device=/dev/video0

Driver Info (not using libv4l2):

Driver name : uvcvideo

Card type : UVC Camera (046d:0804)

Driver version: 4.4.38

Extended Pix Format

Device Caps : 0x04200001

Extended Pix Format

Video input : 0 (Camera 1: ok)

Width/Height : 640/480

Pixel Format : 'YUYV'

Bytes per Line: 1280

Size Image : 614400

Bounds : Left 0, Top 0, Width 640, Height 480

Default : Left 0, Top 0, Width 640, Height 480

Pixel Aspect: 1/1

Selection: crop_default, Left 0, Top 0, Width 640, Height 480

Selection: crop_bounds, Left 0, Top 0, Width 640, Height 480

Frames per second: 30.000 (30/1)

Read buffers : 0

Из вывода подчеркнул такую информацию, что камера поддерживает streaming (Потоковое видео), размер картинки 640 на 480, система посредством драйвера uvcvideo может с ней взаимодействовать.

Для простой демонстрации видеозахвата использую утилиту luvcview:

$ apt-cache search luvcview

luvcview - USB Video Class grabber

$ sudo apt-get install luvcview -y
pi@raspberrypi:

$ luvcview -s 640x480 -i 30 -f YUYV

В момент тестирования видео изображения плата начинается греться

luvcview 0.2.6
SDL information:

Video driver: x11

A window manager is available

Device path: /dev/video0

Frame format: YUYV

Frame size: 640x480

Frame rate: 30 fps

Пронаблюдал, что в ходе экспериментов (изменение характеристик: разрешения, частоты, контрастности, эффектов) у меня на экране рабочего стола (при подключении через VNC или физически на мониторе) стала появляться иконка желтой молнии и процессоры указанные на скриншоте выше нагреваются.

Смотрю текущую температуру:

а если я в открытой программе еще и экспериментировал с настройками видеоизображения, то температура все еще повышалась и повышалась.

Либо получить температуру можно еще и так:

echo "$(date) @ $(hostname)"

echo "GPU => $(/usr/bin/vcgencmd measure_temp)"

echo "CPU => $((cpu/1000))C"

$ chmod +x cputemp.sh

Wed Feb 15 14:17:38 MSK 2017 @ raspberrypi

, что приложить к ним (процессорам на представленном скриншоте выше) палец невозможно. Замечу, что радиаторы смонтированы.

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

Итого плата успешно заработала с моей USB камерой, но вот если посредством какого бы то ни было приложения производить детектирование видео потока можно столкнуться что без должного охлаждения/обдува Ваша плата может выйти из строя/выключится. В виду того факта что нагревается от обильных вычислений. Так что по аккуратнее нужно быть. А пока собственно всё, чуть позже я вернуть к этой теме, с уважением Олло Александра aka ekzorchik.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще :)

Карта МКБ: 4432-7300-2472-8059

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.


Эта инструкция о том как подключить USB-камеру к Raspberry Pi или BeagleBone Blue и использовать ее с ROS (Robot Operating System) — чтобы читать данные с камеры через ROS image_view и даже транслировать видео поток в веб-браузер!

В конце видео демонстрация на роботе EduMip.

1) В качестве бонуса мы создадим распределенную систему ROS.

2) Приложение Roscore и приложение для просмотра изображений будут работать на ПК (мастер) и узел камеры на Raspberry Pi (ведомый).

3) Чтобы настроить master и slave, нам нужно обновить переменные среды на обоих устройствах.

4) На мастере: найдите IP-адрес устройства. Для ethernet net_dev может быть как enpXXs0 или ethX:


5) Использовать IP-адрес в качестве значения для переменной ROS_IP:


6) И для ROS_MASTER_URI:


7) Если вы хотите использовать эти значения для будущих сеансов, вы можете сохранить значения в файле .bashrc в своем домашнем каталоге:


8) Подключитесь к Raspberry Pi через ssh:


9) Для RPi в качестве подчиненного устройства добавьте главный IP-адрес для ROS_MASTER_URI

10) И IP-адрес Raspberry Pi для ROS_IP


11) Теперь пришло время подключить USB-камеру.

12) Проверьте, распознана ли камера системой::


13) Установите узел ROS usb_cam с необходимыми зависимостями:


14) У узла usb_cam уже есть тестовый файл запуска:


15) Прежде чем запускать этот файл, давайте запустим ядро ROS на master:


16) И теперь запустите узел usb_cam на slave:


17) Теперь мы можем видеть созданные темы. Мы можем проверить их либо на master, либо на slave.

18) Перевидите текущий процесс в фоновый режим с помощью CTRL + Z и выполните команду bg, чтобы продолжить выполнение в фоновом режиме. (на варианте Ubuntu не full desktop и без экрана, запустите просто еще один терминал)

19) Чтобы увидеть темы в терминале:


20)… или в графическом интерфейсе:


21) Чтение данных камеры с помощью image_view:



22) Или используя rqt_image_view

23) Перенести фоновую задачу на передний план:


24) Последний эксперимент на сегодняшний день — потоковая передача в web

25) Установка узла ROS веб-видео-сервер:


26) Чтобы сделать это правильно, создайте рабочую область для catkin для нашего пользовательского файла запуска:


27) Затем создайте пакет ROS:


28) Создайте файл запуска с помощью nano, vim итд.:

На Beaglebone Blue с usb камерой A4Tech у меня сработал такой код:


29) Соберите пакет:


30) Снова запустите ядро ROS на master:


31) И запустите созданный файл запуска:


32) Порт веб-видео-сервера по умолчанию — 8080

33) Открыть URL в веб-браузере: :8080

Ссылки на документацию:

USB камеры можно использовать практически любые, у которых есть драйвера для linux, также аналогично можно использовать Raspberry Pi Camera Module ссылка выше.

Пример как это работает на BeagleBone Blue с камерой A4Tech:

Поиск карты тройка на видео с USB камеры BealeBone Blue (алгоритм распознавания работает на ноутбуке с master ROS).

Краткая инструкция по подключению и использованию аппаратной камеры для Raspberry Pi Обратите внимание, что камера может быть повреждена статическим электричеством. Перед тем, как достать камеру рекомендуется дотронуться до заземлённого объекта (например до радиатора батареи отопления), чтобы снять заряд. Камера подсоединяется к плате при помощи гибкого шлейфа. Разъём для шлейфа находится между Ethernet и HDMI портами. Объектив камеры может быть закрыт прозрачной защитной плёнкой, перед использованием её нужно удалить.


Включаем поддержку камеры в Raspbian

Загрузите Raspberry Pi и осуществите вход в систему (по умолчанию имя пользователя - pi , пароль - raspberry ). В терминале выполните команды для обновления дистрибутива Raspbian до последний версии: sudo apt-get update


sudo apt-get upgrade


Далее командой sudo raspi-config запускаем программу настройки и в строке меню camera выбираем enabled , после чего перезагружаем RPi.


Программное обеспечение для работы с камерой

raspivid консольное приложение для записи видео с камеры.

raspistill приложения для получения изображений с камеры параметры -o или –output определяют имя выходного файла -t или –timeout длительность записи видео (по умолчанию 5 секунд) -d или –demo запись в режиме демонстрации возможностей. Будут использованы все возможные эффекты

Примеры: raspistill -o image.jpg - захват изображения в .jpg формате

raspivid -o video.h264 - захват 5-ти секундного видео в формате h264

raspivid -o video.h264 -t 10000 - захват 10-ти секундного видео в формате h264

raspivid -o video.h264 -t 10000 -d - захват 10-ти секундного видео в формате h264 в режиме демонстрации возможностей

Посмотреть все возможные параметры для приложений raspivid и raspistill можно следующим образом:raspivid | less, raspistill | less

Используйте курсор для перемещения по списку или введите "q" для выходаПодробное описание параметров для программного обеспечения камеры можно найтитут

Передача потокового видео по сети

Для передачи видео выполняем на Raspberry Pi команду

raspivid -t 999999 -o - | nc [IP адрес клиента] 5001

Для просмотра видео на клиенте необходимо установить mplayer и netcat и запустить их следующим образом nc -l -p 5001 | mplayer -fps 31 -cache 1024 для Linux

для Windows [путь к nc.exe]\nc.exe -L -p 5001 | [путь к mplayer.exe]\mplayer.exe -fps 31 -cache 102

В этом руководстве рассказывается о создании системы наблюдения с использованием USB-камеры, подключенной к Raspberry Pi (RPi), которая подключена к ПК с помощью беспроводного интерфейса. PyGame используется для доступа к камере и захвата изображений, которые хранятся на SD-карте RPi. Фоновая модель создается для сцены, чтобы обнаружить изменения по умолчанию. Простая схема, подключенная к выводам GPIO, освещает светодиод в качестве индикации таких состояний.


Изображение на обложке Ахмеда Фаузи Гада. Построение системы наблюдения с использованием USB-камеры и Raspberry Pi с беспроводным подключением

Учебник состоит из следующих шагов:

  1. Подключение RPi к ПК с помощью беспроводного интерфейса.
  2. Подключение USB-камеры к RPi.
  3. Захват изображений с использованиемPyGame,
  4. Построение фоновой модели.
  5. Обнаружение изменений в фоновой модели.
  6. Построение простой схемы, которая зажигает светодиод, когда происходит изменение.

Учебное пособие предполагает, что у считывателя есть ПК, подключенный к беспроводной сети, и RPi, подключенный к коммутатору с использованием интерфейса Ethernet. Для выполнения такой работы, пожалуйста, прочитайте учебник под названием "Создание классификатора изображений на Raspberry Pi», Который доступен по этой ссылке:

Вы должны знать IP-адрес устройств, используя программное обеспечение, такое как «Advanced IP Scanner», и знать, как установить соединение SSH с помощью программного обеспечения MobaXterm. После этого мы можем начать обсуждение каждого из вышеперечисленных шагов.

В предыдущем уроке «Создание классификатора изображений на Raspberry Pi«Мы построили сеть с тремя подключенными устройствами: RPi, коммутатором и ПК. RPI был подключен к коммутатору с помощью интерфейса Ethernet, но ПК подключен к коммутатору с помощью беспроводного интерфейса. В этом руководстве мы изменим такую ​​сеть, используя беспроводной интерфейс RPi для подключения к коммутатору. Это делает сеть полностью подключенной по беспроводной сети и позволяет избежать ограничений проводов.

Беспроводной интерфейс RPi нуждается в настройке, прежде чем можно будет его использовать. По этой причине мы все еще будем использовать соединение, установленное с использованием интерфейса Ethernet, для настройки беспроводного интерфейса. При использовании DHCP в коммутаторе интерфейсу RPi Ethernet будет присвоен адрес IPv4. Такой адрес может затем использоваться для установления соединения с защищенной оболочкой (SSH). Вы можете обратиться к предыдущему учебнику для более подробной информации об установлении соединения.

Внутри сеанса SSH, созданного с помощью MobaXterm, мы можем начать настройку беспроводного интерфейса с помощью команд терминала или с помощью графического интерфейса Raspbian OS. Оба способа просты.

Используя команды терминала, мы начнем с сканирования доступных беспроводных сетей, чтобы найти их идентификаторы набора услуг (SSID). Это делается с помощью следующей команды:

Первые несколько строк вывода этой команды приведены на следующем рисунке. SSID целевой беспроводной сети: «TEData_864A». Обратите внимание, что вам не нужно использовать переключатель для подключения ПК к RPi. Используя смартфон, мы можем создать точку доступа для их подключения.


Зная SSID целевой сети, мы можем использовать его для настройки беспроводного интерфейса. Такая конфигурация существует внутри файла, к которому можно получить доступ с помощью следующей команды:

Файл будет открыт внутри терминала. Используя стрелку вниз, вернитесь в конец файла, чтобы записать конфигурацию сети. Это путем записи SSID и пароля сети следующим образом:

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


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

Чтобы проверить правильность настройки беспроводного интерфейса, введите «Ifconfig”, Чтобы получить конфигурацию интерфейса.

Согласно выводу этой команды беспроводному интерфейсу присваивается адрес IPv4 192.168.1.8. Это как настроить беспроводное соединение с помощью команд терминала.

Мы можем сделать то же самое, используя графический интерфейс ОС, к которому можно получить доступ, используяstartlxdeТерминальная команда. После того, как GUI откроется, в правой части панели ОС появится значок сетевых подключений. При нажатии на него откроется меню доступных беспроводных сетей в соответствии со следующим рисунком. При нажатии на любой из пунктов откроется окно, в котором можно ввести пароль Введя пароль для сети с SSID «TEData_864AИ входя вIfconfig”, Результат будет идентичен показанному на предыдущем рисунке.


На этом этапе к коммутатору подключены и ПК, и RPi по беспроводной связи. Текущая сеть показана на следующем рисунке. Теперь мы можем удалить соединение Ethernet и просто использовать беспроводное соединение между RPi и коммутатором.


RPi имеет свой собственный модуль камеры, который можно использовать. Вместо того, чтобы покупать этот модуль, который может быть дорогим для многих, мы можем просто использовать USB-камеру, которая может быть доступна везде и с меньшими затратами. Конфигурация такой камеры очень проста. Просто подключите USB-камеру к одному из USB-портов RPi. После этого мы можем проверить, хорошо ли работает камера, захватывая изображения с помощью пакета «fswebcam». Сначала нам нужно установить этот пакет с помощью следующей команды:

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

Это дает доступ к камере, захватывает изображение и сохраняет его на SD-карту в текущем каталоге с именем «test_image.jpg». Выходные данные после выполнения команды приведены на следующем рисунке.


Вот захваченное изображение:


«fswebcamПакет полезен для быстрого тестирования, работает ли камера хорошо или нет. Убедившись, что он работает нормально, мы можем приступить к созданию скрипта Python, который обращается к камере для непрерывного захвата изображений с помощью библиотеки PyGame. Следующий код использует PyGame для захвата одного изображения, открывает окно для отображения этого изображения и, наконец, сохраняет такое изображение.

Предположим, что приведенный выше код сохранен в файле Python с именем «im_cap.py». Чтобы выполнить такой код, мы можем выдать следующую команду из терминала:

Вот окно, отображаемое после выполнения такого файла.


Мы можем изменить предыдущий код, чтобы захватить более одного изображения. Например, мы можем использоватьдляцикл для захвата ряда ранее указанных изображений. Мы также можем использоватьв то время какцикл, который не ограничен количеством изображений. Вот модифицированный код, который захватывает 2000 изображений, используядляпетля.

Вот 8 захваченных изображений. Обратите внимание, что положение камеры немного изменилось.


До этого момента мы успешно создавали простую систему наблюдения, в которой камера захватывает изображения, которые сохраняются на SD-карте RPi. Мы можем расширить это, чтобы автоматически обнаруживать изменения на сцене. Это делается путем создания фоновой модели для сцены. Любое изменение в такой модели будет указывать на изменение. Например, если кто-то проходит через сцену, это приведет к изменению фона.

Модель фона может быть просто создана путем усреднения нескольких захваченных изображений на фоне сцены без какого-либо объекта в них. Поскольку нас интересует информация о цвете, изображения будут преобразованы в двоичный файл. Вот код Python, используемый для построения фоновой модели.

Вот модель фона в сером и двоичном виде после усреднения 500 изображений.


После построения фоновой модели мы можем протестировать новое изображение, чтобы проверить, есть ли изменение фона или нет. Это делается просто путем преобразования нового изображения в двоичный файл. Затем количество белых пикселей сравнивается на обоих изображениях. Если число превышает заданный порог, это указывает на изменение фона. Порог меняется от сцены к сцене. Вот код, используемый для тестирования нового изображения.

Вот тестовое изображение как цветного, серого, так и двоичного, в котором есть изменение по сравнению с фоном из-за появления объекта (человека) в сцене.


В качестве указания на изменение фоновой модели мы можем построить простую схему, в которой светодиодный индикатор загорается при изменении. Эта схема будет подключена к входам и выходам GPIO (общего назначения) RPi. Схема нуждается в следующих компонентах:

  • Один макет.
  • Один привел.
  • Один резистор (больше или равен 100 Ом). Я использую резистор 178,8 Ом.
  • Два соединительных провода мужского / мужского пола.
  • Два мужских / женских соединительных провода.

Рекомендуется проверить цепь перед подключением к контактам GPIO. Это связано с тем, что если значение резистора выбрано неправильно, это может привести не только к прожигу светодиода, но и к повреждению выводов GPIO. Для проведения теста нам нужна батарея для питания макета. Вот схема после правильного подключения всех компонентов.


После этого мы можем вынуть аккумулятор и подключить макет к выводам GPIO RPi. Основываясь на нумерации выводов GPIO, заземление подключается к ячейке № 20, а высокое напряжение подключается к выходной ячейке № 22. На следующем рисунке показаны соединения между макетом и RPi. RPi также подключен к зарядному устройству и USB-камере.


Выходной бин GPIO управляется с помощью скрипта Python, приведенного ниже. Его состояние по умолчанию НИЗКОЕ, что означает, что светодиод выключен. Когда происходит изменение фона, состояние будет изменено на ВЫСОКОЕ, что означает, что светодиод включен. Светодиод остается включенным в течение 0,1 секунды, затем его состояние возвращается в выключенное состояние. Если другое входное изображение отличается от фона, светодиод снова включается еще на 0,1 секунды.

На следующем рисунке показано одно входное изображение, которое отличается от фонового изображения из-за существования человека. В результате светодиод будет включен на 0,1 секунды.

Читайте также: