Программа для веб-камеры на основе OpenCV, подходящая для сбора данных компьютерного зрения, сбора видеокадров в реальном времени и т. д.
Она отличается удобной установкой, простой эксплуатацией и кроссплатформенностью.
Программа для веб-камеры на базе OpenCV, подходит для сбора данных в области компьютерного зрения, записи видео в реальном времени и других задач.
Отличается удобством установки, простотой использования и кросс-платформенностью.
Характеристики:
Далее идёт текст без перевода:
2022-07-26
⚡ opencv-webcam-script v0.9 release versionofficially launched
2022-07-26
⚡ opencv-webcam-script v0.9 Podman versionofficially launched
2022-07-26
⚡ opencv-webcam-script v0.9 docker versionofficially launched
2022-07-26
⚡ opencv-webcam-script v0.9.1 PyPI versionofficially launched
2022-07-26
⚡ opencv-webcam-script v0.9 Jupyter versionofficially launched
.
├── 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: Клонирование проекта
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
❗ Совет: Система рассчитывает максимальное количество предварительно сохранённых изображений в соответствии с размером изображений, сохранённых камерой, и ёмкостью локального диска.
# Сохранять кадр каждые 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
# 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, 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.
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.
📌 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 )