настройка видеоввода Linux

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

настройка видеоввода Linux

Непрочитанное сообщение Olej » 09 мар 2019, 19:41

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

1. Из нескольких имён в /dev/video* как выбрать то, которое соответствует реальной WEB-камере? Или как при нескольких WEB-камерах установить соответствие каждой имени в /dev/video*? Вот кто из них является реальной WEB-камерой? - камера здесь одна:

Код: Выделить всё

[olej@xenix ~]$ ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 мар  9 18:22 /dev/video0
crw-rw----+ 1 root video 81, 1 мар  9 18:22 /dev/video1
Какой индекс камеры использовать в захвате capturre в пакете компьютерного зрения OpenCV?
Вопреки глупостям, тиражируемым по Интернет, этот вопрос детально разобран здесь: Open CV (продолжение) ....
Там же, в теме, полный код приложения (Python) по поиску индексов WEB камер.

2. Вопрос настройки параметров выбранной WEB-камеры. Качество любого распознавания/ радикально определяется качеством и параметрами исходных изображений. А, как показал опыт, внешний вид одних и тех же изображений радикально отличается по параметрам: насыщенность, глубина цвета, яркость, контраст и т.д. и т.п.
Как подстраивать камеры?

P.S. Кстати, этот вопрос №2 возникает у многих и безотносительно к программным работам: как настроить видео в Skype и любых других месенджерах?

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: настройка видеоподсистемы Linux

Непрочитанное сообщение Olej » 09 мар 2019, 20:08

Olej писал(а): 2. Вопрос настройки параметров выбранной WEB-камеры. Качество любого распознавания/ радикально определяется качеством и параметрами исходных изображений. А, как показал опыт, внешний вид одних и тех же изображений радикально отличается по параметрам: насыщенность, глубина цвета, яркость, контраст и т.д. и т.п.
Как подстраивать камеры?
Я нашёл/отобрал (пока?!) 2 устраивающих меня инструмента это категории:

1. v4l2ucp

Код: Выделить всё

[olej@dell own.WORK]$ dnf provides '*/v4l2ucp'
Последняя проверка окончания срока действия метаданных: 18 days, 7:03:17 назад, Ср 25 июл 2018 08:39:17.
v4l2ucp-2.0.1-18.fc27.x86_64 : Video4linux universal control panel
Репозиторий        : fedora
Совпадения с:
Имя файла   : /usr/bin/v4l2ucp
Совпадения с:
Имя файла   : /usr/share/doc/v4l2ucp
Здесь вот можете выбрать и загрузить практически для любого дистрибутива Linux: V4l2ucp Download for Linux (deb, rpm, xz, amd64, i386, i586, i686, x86_64)
Вот чуть подробнее: Как установить v4l2ucp в Ubuntu / Debian.
По использованию там интуитивно всё понятно...
v0.png
v2.png
Вот как выглядит вход /dev/video1, который видеопотоком не является:
v1.png
v1.png (19.19 КБ) 1163 просмотра
А вот то же, но на ARM одноплатном DragonBoard 410c + с совершенно другой (достаточно дорогой) WEB-камерой:
v0-410c.png
Так что внешний вид GUI может достаточно сильно меняться.

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: настройка видеоподсистемы Linux

Непрочитанное сообщение Olej » 09 мар 2019, 20:22

Olej писал(а): Я нашёл/отобрал (пока?!) 2 устраивающих меня инструмента это категории:

1. v4l2ucp
2. guvcviewer
guvcview
Guvcview (GTK+ UVC Viewer) — компьютерная программа для работы с веб-камерами, выполняющая функции фотографирования и видеосъёмки. Guvcview работает с веб-камерами, использующими протокол передачи видео UVC, и поддерживаемыми драйвером UVC для операционной системы Linux, или программой Video4Linux (V4L2).

Код: Выделить всё

[olej@dell own.WORK]$ dnf provides '*/guvcview'
Последняя проверка окончания срока действия метаданных: 18 days, 7:02:43 назад, Ср 25 июл 2018 08:39:17.
guvcview-2.0.5-2.fc27.i686 : GTK+ UVC Viewer and Capturer
Репозиторий        : rpmfusion-free-updates
Совпадения с:
Имя файла   : /usr/bin/guvcview
Совпадения с:
Имя файла   : /usr/share/doc/guvcview
Совпадения с:
Имя файла   : /usr/share/licenses/guvcview
Совпадения с:
Имя файла   : /usr/share/pixmaps/guvcview

guvcview-2.0.5-2.fc27.x86_64 : GTK+ UVC Viewer and Capturer
Репозиторий        : rpmfusion-free-updates
Совпадения с:
Имя файла   : /usr/bin/guvcview
Совпадения с:
Имя файла   : /usr/share/doc/guvcview
Совпадения с:
Имя файла   : /usr/share/licenses/guvcview
Совпадения с:
Имя файла   : /usr/share/pixmaps/guvcview

guvcview-2.0.5-1.fc27.i686 : GTK+ UVC Viewer and Capturer
Репозиторий        : rpmfusion-free
Совпадения с:
Имя файла   : /usr/bin/guvcview
Совпадения с:
Имя файла   : /usr/share/doc/guvcview
Совпадения с:
Имя файла   : /usr/share/licenses/guvcview
Совпадения с:
Имя файла   : /usr/share/pixmaps/guvcview

guvcview-2.0.5-1.fc27.i686 : GTK+ UVC Viewer and Capturer
Репозиторий        : rpmfusion-free
Совпадения с:
Имя файла   : /usr/bin/guvcview
Совпадения с:
Имя файла   : /usr/share/doc/guvcview
Совпадения с:
Имя файла   : /usr/share/licenses/guvcview
Совпадения с:
Имя файла   : /usr/share/pixmaps/guvcview

guvcview-2.0.5-1.fc27.x86_64 : GTK+ UVC Viewer and Capturer
Репозиторий        : rpmfusion-free
Совпадения с:
Имя файла   : /usr/bin/guvcview
Совпадения с:
Имя файла   : /usr/share/doc/guvcview
Совпадения с:
Имя файла   : /usr/share/licenses/guvcview
Совпадения с:
Имя файла   : /usr/share/pixmaps/guvcview
GTK+ UVC Viewer - здесь подробнейшее описание (на русском) со скриншотами.
Вот как у меня это выглядит:
q2.png
Прочие самые разнообразные настройки - см. по ссылке выше.
Кстати, guvcview - это не только настройка, но и попутно захват фото и видео изображений, что сильно помогает в отладочных работах по программированию.

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: настройка видеоввода Linux

Непрочитанное сообщение Olej » 27 июл 2021, 14:13

2.5 года прошло и опять понадобились инструменты для детальной настройки WEB камер...
Olej писал(а):
09 мар 2019, 20:22
Guvcview (GTK+ UVC Viewer) — компьютерная программа для работы с веб-камерами, выполняющая функции фотографирования и видеосъёмки. Guvcview работает с веб-камерами, использующими протокол передачи видео UVC, и поддерживаемыми драйвером UVC для операционной системы Linux, или программой Video4Linux (V4L2).

Код: Выделить всё

olej@nvidia:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 20.2
Release:	20.2
Codename:	uma

Код: Выделить всё

olej@nvidia:~$ guvcview
Команда «guvcview» не найдена, но может быть установлена с помощью:
sudo apt install guvcview

olej@nvidia:~$ sudo apt install guvcview
[sudo] пароль для olej:       
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  libguvcview-2.0-2 libwebcam0 uvcdynctrl uvcdynctrl-data
Следующие НОВЫЕ пакеты будут установлены:
  guvcview libguvcview-2.0-2 libwebcam0 uvcdynctrl uvcdynctrl-data
Обновлено 0 пакетов, установлено 5 новых пакетов, для удаления отмечено 0 пакетов, и 23 пакетов не обновлено.
Необходимо скачать 300 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 1 169 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 libguvcview-2.0-2 amd64 2.0.6+debian-1build1 [110 kB]
Пол:2 http://archive.ubuntu.com/ubuntu focal/universe amd64 guvcview amd64 2.0.6+debian-1build1 [137 kB]
Пол:3 http://archive.ubuntu.com/ubuntu focal/universe amd64 libwebcam0 amd64 0.2.4-1.1ubuntu2 [25,3 kB]
Пол:4 http://archive.ubuntu.com/ubuntu focal/universe amd64 uvcdynctrl-data all 0.2.4-1.1ubuntu2 [10,1 kB]
Пол:5 http://archive.ubuntu.com/ubuntu focal/universe amd64 uvcdynctrl amd64 0.2.4-1.1ubuntu2 [17,7 kB]
Получено 300 kB за 0с (746 kB/s)           
Выбор ранее не выбранного пакета libguvcview-2.0-2:amd64.
(Чтение базы данных … на данный момент установлено 445847 файлов и каталогов.)
Подготовка к распаковке …/libguvcview-2.0-2_2.0.6+debian-1build1_amd64.deb …
Распаковывается libguvcview-2.0-2:amd64 (2.0.6+debian-1build1) …
Выбор ранее не выбранного пакета guvcview.
Подготовка к распаковке …/guvcview_2.0.6+debian-1build1_amd64.deb …
Распаковывается guvcview (2.0.6+debian-1build1) …
Выбор ранее не выбранного пакета libwebcam0.
Подготовка к распаковке …/libwebcam0_0.2.4-1.1ubuntu2_amd64.deb …
Распаковывается libwebcam0 (0.2.4-1.1ubuntu2) …
Выбор ранее не выбранного пакета uvcdynctrl-data.
Подготовка к распаковке …/uvcdynctrl-data_0.2.4-1.1ubuntu2_all.deb …
Распаковывается uvcdynctrl-data (0.2.4-1.1ubuntu2) …
Выбор ранее не выбранного пакета uvcdynctrl.
Подготовка к распаковке …/uvcdynctrl_0.2.4-1.1ubuntu2_amd64.deb …
Распаковывается uvcdynctrl (0.2.4-1.1ubuntu2) …
Настраивается пакет libguvcview-2.0-2:amd64 (2.0.6+debian-1build1) …
Настраивается пакет uvcdynctrl-data (0.2.4-1.1ubuntu2) …
Настраивается пакет libwebcam0 (0.2.4-1.1ubuntu2) …
Настраивается пакет guvcview (2.0.6+debian-1build1) …
Настраивается пакет uvcdynctrl (0.2.4-1.1ubuntu2) …
Обрабатываются триггеры для mime-support (3.64ubuntu1) …
Обрабатываются триггеры для gnome-menus (3.36.0-1ubuntu1) …
Обрабатываются триггеры для libc-bin (2.31-0ubuntu9.2) …
Обрабатываются триггеры для man-db (2.9.1-1) …
Обрабатываются триггеры для desktop-file-utils (0.24+linuxmint1) …
Установилось то оно хорошо, но сам инструмент достаточно горбатый ... переключиться на другую камеру мне как-то сразу не получается, приложение просто падает...

Аватара пользователя
Olej
Писатель
Сообщения: 14703
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: настройка видеоввода Linux

Непрочитанное сообщение Olej » 27 июл 2021, 14:38

Olej писал(а):
09 мар 2019, 20:08
Здесь вот можете выбрать и загрузить практически для любого дистрибутива Linux: V4l2ucp Download for Linux (deb, rpm, xz, amd64, i386, i586, i686, x86_64)
Вот чуть подробнее: Как установить v4l2ucp в Ubuntu / Debian.
А это, как оказывается, ...

- в репозиториях установочных пакетов нет (последние были на уровне Ubuntu 18.04) ... похоже что что-то из сборок осталось, но только для архитектур ARM...

Код: Выделить всё

olej@nvidia:~$ aptitude search v4l2ucp
olej@nvidia:~$ 
- но зато появилось что-то новенькое :lol:

Код: Выделить всё

olej@nvidia:~/Загрузки$ aptitude search v4l
p   dov4l                                                      - программа настройки устройств video4linux                            
p   dv4l                                                       - Redirect V4L API to access a camcorder from a V4L program            
p   gambas3-gb-v4l                                             - Компонент v4l (video for Linux) для Gambas                           
p   gem-plugin-dv4l                                            - Graphics Environment for Multimedia - DV support                     
p   gem-plugin-v4l2                                            - Graphics Environment for Multimedia - V4L2 output support            
v   lib32v4l-0                                                 -                                                                      
i   libv4l-0                                                   - Collection of video4linux support libraries                          
p   libv4l-dev                                                 - Collection of video4linux support libraries (development files)      
p   libv4l2rds0                                                - Video4Linux Radio Data System (RDS) decoding library                 
i   libv4lconvert0                                             - Video4linux frame format conversion library                          
p   libvideo-capture-v4l-perl                                  - Perl interface to the Video4linux framegrabber interface             
p   qv4l2                                                      - Test bench application for video4linux devices                       
p   v4l-conf                                                   - инструмент настройки драйверов video4linux                           
p   v4l-utils                                                  - Collection of command line video4linux utilities                     
p   v4l2loopback-dkms                                          - Source for the v4l2loopback driver (DKMS)                            
p   v4l2loopback-source                                        - Source for the v4l2loopback driver                                   
p   v4l2loopback-utils                                         - Commandline utilities for the for the v4l2-loopback module           
- можно найти только в исходниках на SourceForge v4l2ucp:

Код: Выделить всё

olej@nvidia:~/Загрузки$ ls -l v4l2ucp-2.0.2.tar.bz2 
-rw-rw-r-- 1 olej olej 41380 июл 27 14:25 v4l2ucp-2.0.2.tar.bz2
- последние изменения (самые малые) там (после разархивирования) датированы 2014 годом, а основная масса - 2010-м :-?

Код: Выделить всё

olej@nvidia:~/v4l2ucp-2.0.2$ pwd
/home/olej/v4l2ucp-2.0.2

olej@nvidia:~/v4l2ucp-2.0.2$ ls -l
итого 80
-rw-r--r-- 1 olej olej   674 янв 23  2010 CMakeLists.txt
-rw-r--r-- 1 olej olej 17989 авг 17  2005 COPYING
-rw-r--r-- 1 olej olej 22961 янв 23  2010 COPYING.images
drwxr-xr-x 2 olej olej  4096 сен 12  2009 images
-rw-r--r-- 1 olej olej  1033 авг 19  2009 README
drwxr-xr-x 2 olej olej  4096 янв 23  2010 src
-rw-r--r-- 1 olej olej    46 дек 15  2009 TODO
-rw-r--r-- 1 olej olej   182 дек 15  2009 v4l2ucp.desktop
-rw-r--r-- 1 olej olej  9873 сен 12  2009 v4l2ucp.png

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя