代码拉取完成,页面将自动刷新
# 首先手动创建虚拟环境
# conda create -n ows python==3.8 # 虚拟环境名称为ows
# conda activate ows # 激活虚拟环境
# 克隆
!git clone https://gitee.com/CV_Lab/opencv_webcam.git
%cd opencv_webcam
# 安装
%pip install -qr requirements.txt -U
%pip install ipywidgets jupyterlab_code_formatter black isort -U
❗ 注意:安装完成后,将ows_jupyter.ipynb
放入opencv_webcam
目录中进行下面的操作
%matplotlib inline
from ipywidgets import (
BoundedIntText,
Checkbox,
Dropdown,
FloatSlider,
IntRangeSlider,
IntSlider,
IntText,
Text,
ToggleButtons,
interact_manual,
interactive,
)
from opencv_webcam import webcam_opencv
# -------------------------------组件设置-------------------------------
device_index = Text(
value="0", placeholder="0,1,2 or RTSP", disabled=False, description="设备编号:"
)
quit_key = Text(value="q", placeholder="退出键", disabled=False, description="退出键:")
pause_key = Text(value="p", placeholder="暂停键", disabled=False, description="暂停键:")
is_autoSaveFrame = Checkbox(
value=False, disabled=False, indent=False, description="自动保存帧:"
)
frame_saveDir = Text(
value="WebcamFrame", placeholder="帧保存路径", disabled=False, description="帧保存路径:"
)
frame_dirName = Text(
value="frames", placeholder="帧目录名称", disabled=False, description="帧目录名称:"
)
frame_nSave = BoundedIntText(
value=1, min=1, step=1, description="n帧保存一次:", disabled=False
)
auto_frameNum = BoundedIntText(
value=0, min=0, step=1, description="帧最大数:", disabled=False
)
is_handSaveFrame = Checkbox(
value=False, disabled=False, indent=False, description="手动保存帧:"
)
frame_capKey = Text(value="a", placeholder="帧捕获键", disabled=False, description="帧捕获键:")
is_resizeFrame = Checkbox(value=False, disabled=False, indent=False, description="重塑帧:")
resize_frame = Text(
value="640,480", placeholder="重塑帧", disabled=False, description="自定义帧尺寸:"
)
resizeRatio_frame = FloatSlider(
min=0.0,
max=1.0,
value=1.0,
step=0.1,
continuous_update=False,
description="自定义帧缩放比:",
orientation="horizontal",
readout=True,
readout_format=".1f",
)
frame_namePrefix = Text(
value="frame", placeholder="帧名前缀", disabled=False, description="帧前缀:"
)
frame_saveStyle = Text(
value="jpg", placeholder="jpg or png", disabled=False, description="帧保存类型:"
)
jpg_quality = IntSlider(
min=0,
max=100,
value=95,
step=1,
continuous_update=False,
description="jpg质量系数:",
orientation="horizontal",
readout=True,
readout_format="d",
)
png_quality = IntSlider(
min=0,
max=9,
value=3,
step=1,
continuous_update=False,
description="png质量系数:",
orientation="horizontal",
readout=True,
readout_format="d",
)
# 日志管理
logName = Text(value="ows.log", placeholder="日志名称", disabled=False, description="日志名称:")
logMode = Text(value="a", placeholder="日志模式", disabled=False, description="日志模式:")
# 帧压缩
is_compress = Checkbox(value=False, disabled=False, indent=False, description="压缩帧")
compressStyle = Text(
value="zip", placeholder="压缩类型", disabled=False, description="压缩类型:"
)
is_autoCompressName = Checkbox(
value=False, disabled=False, indent=False, description="自动压缩命名:"
)
compressName = Text(
value="ows", placeholder="压缩名称", disabled=False, description="压缩名称:"
)
compressMode = Text(value="w", placeholder="压缩模式", disabled=False, description="压缩模式:")
# 去除背景色
is_rmbgColor = Checkbox(value=False, disabled=False, indent=False, description="去除背景色:")
rmbgColorMode = Text(
value="green", placeholder="绿色", disabled=False, description="背景颜色模式"
)
# 调整窗体大小
is_resizeWindow = Checkbox(
value=False, disabled=False, indent=False, description="调整窗体大小:"
)
# -------------------------------交互设置-------------------------------
interact_manual(
webcam_opencv,
device_index=device_index,
quit_key=quit_key,
pause_key=pause_key,
is_autoSaveFrame=is_autoSaveFrame,
frame_saveDir=frame_saveDir,
frame_dirName=frame_dirName,
frame_nSave=frame_nSave,
auto_frameNum=auto_frameNum,
is_handSaveFrame=is_handSaveFrame,
frame_capKey=frame_capKey,
is_resizeFrame=is_resizeFrame,
resize_frame=resize_frame,
resizeRatio_frame=resizeRatio_frame,
frame_namePrefix=frame_namePrefix,
frame_saveStyle=frame_saveStyle,
jpg_quality=jpg_quality,
png_quality=png_quality,
logName=logName,
logMode=logMode,
is_compress=is_compress,
compressStyle=compressStyle,
is_autoCompressName=is_autoCompressName,
compressName=compressName,
compressMode=compressMode,
is_rmbgColor=is_rmbgColor,
rmbgColorMode=rmbgColorMode,
is_resizeWindow=is_resizeWindow,
)
# 默认按q键退出
!python opencv_webcam.py
# 多摄像头切换示例,默认为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://username:password@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
# 默认按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 # 自动版,v0.5
!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 -pq 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
# 设置日志文件名称及类型,类型包括.log、.txt、.data
!python opencv_webcam.py -ln ows.txt
# 设置日志保存方式,,默认为追加模式
!python opencv_webcam.py - lm w # 设置为覆盖模式
# 常规压缩,默认ows.zip(以自动版为例)
!python opencv_webcam.py - isasf - isc
# 自定义压缩文件名称
!python opencv_webcam.py -isasf -isc -cn ows02
# 自动命名压缩文件
!python opencv_webcam.py -isasf -isc -isacn
# 自定义压缩模式,默认为写覆盖
!python opencv_webcam.py -isasf -isc -cs tar -cm w:gz # tar压缩
!python opencv_webcam.py -isasf -isc -cm a # 追加模式(a模式仅限zip) 注:该指令仅限v0.4
# 去除背景色,默认为绿色
!python opencv_webcam.py -isasf -isrbgc
# 选择背景色模式
!python opencv_webcam.py -isasf -isrbgc -rbgcm green # 抠绿
!python opencv_webcam.py -isasf -isrbgc -rbgcm blue # 抠蓝
# 查询脚本参数
!python opencv_webcam.py --help
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。