1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/CV_Lab-opencv_webcam

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.en.md

Программа для веб-камеры на основе OpenCV, подходящая для сбора данных компьютерного зрения, сбора видеокадров в реальном времени и т. д.

Она отличается удобной установкой, простой эксплуатацией и кроссплатформенностью.

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

Отличается удобством установки, простотой использования и кросс-платформенностью.

Характеристики:

  • Удобное развёртывание.
  • Простота эксплуатации.
  • Кроссплатформенность.

Далее идёт текст без перевода:

code check Releases Version PyPI Docker Podman Jupyter License

pre-commit Python Version PyPI Package Health security bandit

star fork Docker Pulls PyPI All Downloads

🚀Update Trend

💎Project Purpose

🔥 Quickly create object detection datasets

📌 Project 1: Gesture recognition demo based on YOLOv5

В тексте есть гиперссылки, специальные теги форматирования в markdown, но они не были переведены. 💡 Структура проекта
.
├── opencv_webcam                           # название проекта
│   ├── utils                               # инструментарий
│   │   ├── __init__.py                     # инициализация инструментария
│   │   ├── args_yaml.py                    # управление инструкциями
│   │   ├── compress.py                     # управление сжатием
│   │   ├── frame_opt.py                    # управление сохранением кадров
│   │   ├── check_opt.py                    # управление проверкой
│   │   ├── fonts_opt.py                    # управление шрифтами
│   │   ├── plot.py                         # управление отрисовкой
│   │   ├── rm_bgColor.py                   # управление фоном изображения
│   │   ├── log.py                          # управление журналом
│   │   ├── path_opt.py                     # управление путём сохранения
│   │   ├── sys_opt.py                      # управление системой
│   │   └── time_format.py                  # формат времени
│   ├── tutorial                            # ows туториал
│   │   ├── ows_bash.md                     # туториал по версии Bash для OWS
│   │   ├── ows_pypi.md                     # туториал по PyPI версии OWS
│   │   ├── ows_docker.md                   # туториал по Docker версии OWS
│   │   ├── ows_podman.md                   # туториал по Podman версии OWS
│   │   └── ows_jupyter.ipynb               # туториал по Jupyter версии OWS
│   ├── v_change                            # история версий
│   │   ├── v01_05_change.md                # изменения в версиях от 0.1 до 0.5
│   │   ├── v06_change.md                   # изменения в версии 0.6
│   │   ├── v07_change.md                   # изменения в версии 0.7
│   │   ├── v08_change.md                   # изменения в версии 0.8
│   │   └── README.md                       # описание истории версий
│   ├── __init__.py                         # инициализация проекта
│   ├── opencv_webcam.py                    # файл запуска основного скрипта
│   ├── LICENSE                             # лицензия проекта
│   ├── CodeCheck.md                        # проверка кода
│   ├── CodeSecurity.md                     # проверка безопасности кода
│   ├── setup.sh                            # скрипт установки окружения
│   ├── fonts.sh                            # скрипт загрузки шрифтов
│   ├── Dockerfile                          # файл сборки docker
│   ├── .gitignore                          # файлы, игнорируемые git
│   ├── .dockerignore                       # файлы, игнорируемые docker
│   ├── GestureData_yolov5.md               # демонстрация Gesture&YOLOv5
│   ├── README.md                           # описание проекта
│   ├── README.en.md                        # описание проекта (английская версия)
│   └── requirements.txt                    # зависимости скрипта

🔥 Инструкция по установке

❤️ OWS предоставляет 5 методов установки. Нажмите на соответствующий логотип ниже для получения подробной информации об установке и использовании.

✅ Метод 1: Установка в Linux с помощью командной строки (версия для разработки)

🔥 opencv-webcam-script версия для Bash, подробная инструкция

📌 Шаг 1: Клонирование проекта

git clone https://gitee.com/CV_Lab/opencv_webcam.git # клонирование проекта **Note: [Jupyter version of ows ](https://gitee.com/CV_Lab/opencv_webcam/blob/master/tutorial/ows_jupyter.ipynb) program can run unit instructions through `Ctrl+Enter`.**

**Использование**

❤️ **OWS v0.9** Bash Shell отображает информацию с высокой степенью интеграции компонента rich.

<div align="center" width="50%">
<a href="https://github.com/Textualize/rich">
<img src="https://pycver.gitee.io/ows-pics/imgs/rich.svg">
</a>
</div>

<div align="center">
<img src="https://pycver.gitee.io/ows-pics/imgs/ows_v09_shell.png">
</div><div align="center">
Отображение информации в OWS v0.9 Bash Shell
</div>

#### 💡 Обычный запуск

```shell
# Запускаем программу ows
python opencv_webcam.py

❗ Совет: После запуска программы ows сначала войдите в режим обратного отсчёта, будет 150 кадров обратного отсчёта для подготовки, и пользователю будет предложено настроить устройство в подходящем положении, чтобы подготовиться к запуску.

💡 Выбор устройства

# Пример переключения между несколькими камерами, по умолчанию используется 0
python opencv_webcam.py -dev 0
python opencv_webcam.py -dev 1
python opencv_webcam.py -dev 2

# RTSP
python opencv_webcam.py -dev "rtsp://имя пользователя:пароль@xxx.xxx.xxx"

💡 Установка клавиши выхода

# По умолчанию нажмите клавишу q, чтобы выйти
python opencv_webcam.py -q z # установить клавишу z для выхода
python opencv_webcam.py -q k # установить клавишу k для выхода

💡 Автоматическое сохранение кадров

python opencv_webcam.py -isasf

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

💡 Сохранение кадров каждые n кадров

# Сохранять кадр каждые 10 кадров
python opencv_webcam.py -isasf -fns 10

💡 Сохранить кадры вручную

# По умолчанию нажмите любую клавишу, чтобы сделать снимок кадра
python opencv_webcam.py -ishsf

💡 Пользовательская клавиша захвата

# Установите клавишу z в качестве клавиши захвата, по умолчанию это клавиша a
python opencv_webcam.py -ishsf -fck z

💡 Изменить размер кадра (пользовательские ширина и высота)

# Изменить ширину на 300, высоту на 200
python opencv_webcam.py -isasf -isrf -rf 300,200 # Автоматическая версия
python opencv_webcam.py -ishsf -isrf -rf 300,200 # Ручная версия

💡 Изменить размер кадра (масштабирование соотношения сторон)

# Соотношение сторон равно 0,5
python opencv_webcam.py -isasf -isrf -rrf 0.5 # Автоматическая версия
python opencv_webcam.py -ishsf -isrf -rrf 0.5 # Ручная версия

💡 Путь сохранения пользовательских кадров

# Установить путь сохранения, по умолчанию путь сохранения — WebcamFrame
python opencv_webcam.py -fsd custom_dir -isasf # В качестве примера возьмём автоматическую версию

💡 Имя каталога пользовательских кадров

# Установить имя каталога кадров, по умолчанию — frames
python opencv_webcam.py -fdn frames_custom -isasf # В качестве примера возьмём автоматическую версию

💡 Префикс имени пользовательского кадра

# Установить префикс имени кадра изображения
python opencv_webcam.py -isasf -fnp webcam

💡 Установить формат сохранения кадра

# Установить качество JPG на 100, по умолчанию 95
python opencv_webcam.py -isasf -fss jpg -jq 100

# Установить качество PNG на 5, по умолчанию 3
python opencv_webcam.py -isasf -fss png -jq 5

💡 Настройка кнопки паузы

# Установите клавишу w в качестве кнопки паузы, по умолчанию p
python opencv_webcam.py -p w # Нажмите любую клавишу для продолжения

💡 Количество сохраняемых кадров

# Сохранить 100 кадров
python opencv_webcam.py -isasf -afn 100

💡 Изменение размера формы

# Вручную изменить размер формы (v0.9)
python opencv_webcam.py -isrw

💡 Настройки журнала

# Файл журнала сохраняется в корневом каталоге проекта по умолчанию, ows.log
python opencv_webcam.py

# Задайте имя файла журнала и **type, включая .log, .txt, .data**

python opencv_webcam.py -ln ows02.txt

# Set the log saving method, the default is append mode
python opencv_webcam.py -lm w # set to overlay mode

💡 video frame compression

# Regular compression, default ows.zip (take the automatic version as an example)
python opencv_webcam.py -isasf -isc

# Customize the compressed file name
python opencv_webcam.py -isasf -isc -cn ows02

# Automatically name archives
python opencv_webcam.py -isasf -isc -isacn

# Custom compression mode, default is write overwrite
python opencv_webcam.py -isasf -isc -cs tar -cm w:gz # tar compression
python opencv_webcam.py -isasf -isc -cm a # Append mode (a mode is only for zip) Note: This command is only available in v0.4

💡 Remove background color (cut green, cut blue)

# Remove background color, default is green
python opencv_webcam.py -isasf -isrbgc

# Choose a background color mode
python opencv_webcam.py -isasf -isrbgc -rbgcm green # cut green
python opencv_webcam.py -isasf -isrbgc -rbgcm blue # cut blue

❗ Note: In order to achieve the best effect of removing the background color, try not to mix the background color with white light, and keep the background color as high as possible.

💡 Date-Frame Number Chart

Every time this function runs the script, the program will automatically generate a date-frames graph based on the date_time_frames.csv file.

❤️ This function automatically generates a date-frame number graph according to the date_time_frames.csv file every time the OWS program is run.

✨ Operation Example

📌 run command

python opencv_webcam.py -isasf -fdn tiger
python opencv_webcam.py -isasf -fdn lion
python opencv_webcam.py -isasf -fdn elephant

📌 Date-Frame Number Chart Directory Structure

.
├── opencv_webcam                           # project name
│   ├── DateFrames                          # Date-frame number chart directory
│   │   ├── 2022-02-21                      # Date list
│   │   │   ├── lion.png                    # lion category date-frame number chart
│   │   │   ├── elephant.png                # elephant category date-frame number chart
│   │   │   └── tiger.png                   # tiger category date-frame number chart
│   ├── date_time_frames.csv                # Date-frame number graph log
│   ├── ....                                # Other files
``` ```
07:56:16,108,elephant,WebcamFrame
2022-02-21 07:56:38,121,tiger,WebcamFrame```

```<details open>
<summary>📌 lion.png</summary>
<img src="https://pycver.gitee.io/ows-pics/imgs/lion.png">
</details>

<details close>
<summary>📌 elephant.png</summary>
<img src="https://pycver.gitee.io/ows-pics/imgs/elephant.png">
</details>

<details close>
<summary>📌 tiger.png</summary>
<img src="https://pycver.gitee.io/ows-pics/imgs/tiger.png">
</details>`

#### 💡 Instruction query

```shell
# query script parameters
python opencv_webcam.py --help```

`<details close>`
<summary>📌 Command query result</summary>`

```shell
usage: opencv_webcam.py [-h] [--device DEVICE] [--quit QUIT] [--is_autoSaveFrame] [--is_handSaveFrame] [--is_resizeFrame] [--frame_saveDir FRAME_SAVEDIR] [--frame_dirName FRAME_DIRNAME] [--frame_nSave FRAME_NSAVE]
                        [--frame_capKey FRAME_CAPKEY] [--resize_frame RESIZE_FRAME] [--resizeRatio_frame RESIZERATIO_FRAME] [--frame_namePrefix FRAME_NAMEPREFIX] [--frame_saveStyle FRAME_SAVESTYLE]
                        [--jpg_quality JPG_QUALITY] [--png_quality PNG_QUALITY] [--pause PAUSE] [--auto_frameNum AUTO_FRAMENUM] [--logName LOGNAME] [--logMode LOGMODE] [--is_compress] [--compressStyle COMPRESSSTYLE]
                        [--is_autoCompressName] [--compressName COMPRESSNAME] [--compressMode COMPRESSMODE] [--is_rmbgColor] [--rmbgColorMode RMBGCOLORMODE] [--is_resizeWindow]

OpenCV Webcam Script v0.9

optional arguments:
  -h, --help            show this help message and exit
  --device DEVICE, -dev DEVICE
                        device index for webcam, 0 or rtsp
  --quit QUIT, -q QUIT  quit key for webcam
  --is_autoSaveFrame, -isasf
                        is auto save frame
  --is_handSaveFrame, -ishsf
                        is hand save frame
  --is_resizeFrame, -isrf
                        is resize frame
  --frame_saveDir FRAME_SAVEDIR, -fsd FRAME_SAVEDIR
                        save frame dir
  --frame_dirName FRAME_DIRNAME, -fdn FRAME_DIRNAME
                        save frame dir name
  --frame_nSave FRAME_NSAVE, -fns FRAME_NSAVE
                        n frames save a frame (auto save frame)
  --frame_capKey FRAME_CAPKEY, -fck FRAME_CAPKEY
                        frame capture key (hand save frame)
  --resize_frame RESIZE_FRAME, -rf RESIZE_FRAME
                        resize frame save
  --resizeRatio_frame RESIZERATIO_FRAME, -rrf RESIZERATIO_FRAME
                        resize ratio frame save
  --frame_namePrefix FRAME_NAMEPREFIX, -fnp FRAME_NAMEPREFIX
                        frame name prefix
  --frame_saveStyle FRAME_SAVESTYLE, -fss FRAME_SAVESTYLE
                        frame save style
  --jpg_quality JPG_QUALITY, -jq JPG_QUALITY
                        frame save jpg quality (0-100) default 95
  --png_quality PNG_QUALITY, -pq PNG_QUALITY
                        frame save jpg quality (0-9) default 3
  --pause PAUSE, -p PAUSE
                        webcam pause
  --auto_frameNum AUTO_FRAMENUM, -afn AUTO_FRAMENUM
                        auto save number of frames
  --logName LOGNAME, -ln LOGNAME
                        log save name
  --logMode LOGMODE, -lm LOGMODE
                        log write mode
  --is_compress, -isc   is compress file
  --compressStyle COMPRESSSTYLE, -cs COMPRESSSTYLE
                        compress style
  --is_autoCompressName, -isacn
                        is auto compress name
  --compressName COMPRESSNAME, -cn COMPRESSNAME
                        compress save name
  --compressMode COMPRESSMODE, -cm COMPRESSMODE
                        compress save mode, tar w:gz
  --is_rmbgColor, -isrbgc
                        is remove background color
  --rmbgColorMode RMBGCOLORMODE, -rbgcm RMBGCOLORMODE
                        remove background color mode
  --is_resizeWindow, -isrw
                        is resize window```

*Примечание: в запросе присутствуют фрагменты кода на языке Python, но они не были переведены.*

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/CV_Lab-opencv_webcam.git
git@api.gitlife.ru:oschina-mirror/CV_Lab-opencv_webcam.git
oschina-mirror
CV_Lab-opencv_webcam
CV_Lab-opencv_webcam
master