72a0d77065 | ||
---|---|---|
utils | ||
.dockerignore | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
__init__.py | ||
opencv_webcam.py | ||
requirements.txt | ||
tutorial.ipynb | ||
v02.md |
README.md
OpenCV Webcam Script
基于OpenCV的Webcam程序,可用于视频帧采集、重塑尺寸等。具有安装便捷、操作简单等特点
更新走势
2022-01-01
⚡ opencv-webcam-script v0.1 发行版正式上线2021-12-31
⚡ opencv-webcam-script v0.1 docker版正式上线2021-12-29
⚡ opencv-webcam-script v0.1 PyPi版正式上线
安装教程
✅ 方法一:Linux Shell安装(开发版)
# 克隆项目
git clone https://gitee.com/CV_Lab/opencv_webcam.git
# 创建conda虚拟环境,以python 3.8为例
conda create -n ow python==3.8 # 虚拟环境名称为ow
conda activate ow # 激活虚拟环境
pip install -r ./requirements.txt -U # 安装OpenCV Webcam脚本
✅ 方法二:pip 快速安装(API版)
- 第一步:创建ow虚拟环境,参见方法一
- 第二步:执行pip指令
pip install opencv-webcam-script
- 第三步:编写python程序
from opencv_webcam.opencv_webcam import webcam_opencv
# 直接使用webcam_opencv
webcam_opencv(device_index=0, quit_key='q', is_autoSaveFrame=False, frame_saveDir='./webcam', frame_nSave=1, is_headSaveFrame=False, frame_capKey='a', is_resizeFrame=False, resize_frame=[640, 480], resizeRatio_frame=1.0)
✅ 方法三:docker 镜像安装(容器版)
sudo docker pull zengdockerdocker/opencv-webcam-script:v0.1 # 镜像拉取
xhost +local:root # 配置xhost
sudo docker run --ipc=host -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device=/dev/video0:/dev/video0 zengdockerdocker/opencv-webcam-script:v0.1 # 进入容器
python3 opencv_webcam.py # 运行脚本程序
使用教程
💡 常规调用
# 默认按q键退出
python opencv_webcam.py
💡 摄像头选择
# 多摄像头切换示例
python opencv_webcam.py -dev 1
python opencv_webcam.py -dev 2
💡 设置退出键
# 默认按q键退出
# 设置z键退出
python opencv_webcam.py -q z
# 设置k键退出
python opencv_webcam.py -q k
💡 自动保存帧
python opencv_webcam.py -isasf
💡 每隔n帧保存一次帧
# 每隔10帧保存一次帧
python opencv_webcam.py -isasf -fns 10
💡 手动保存帧
# 默认按a键捕获一帧
python opencv_webcam.py -ishsf
💡 自定义捕获键
# 设置z键为捕获键
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 # 以自动版为例
指令查询
python opencv_webcam.py --help
指令查询结果
usage: opencv_webcam.py [-h] [--device DEVICE] [--quit QUIT] [--is_autoSaveFrame] [--is_handSaveFrame] [--is_resizeFrame] [--frame_saveDir FRAME_SAVEDIR] [--frame_nSave FRAME_NSAVE]
[--frame_capKey FRAME_CAPKEY] [--resize_frame 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]
OpenCV Webcam Script
optional arguments:
-h, --help show this help message and exit
--device DEVICE, -dev DEVICE
device index for webcam
--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_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 [RESIZE_FRAME ...], -rf RESIZE_FRAME [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