代码拉取完成,页面将自动刷新
同步操作将从 CV_Lab/OpenCV-Webcam 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# 创建conda虚拟环境,以python 3.8为例
conda create -n ows python==3.8 # 虚拟环境名称为ows
conda activate ows # 激活虚拟环境
pip install opencv-webcam-script==0.9.1 # 以0.9.1为例
❗ 注意:==
后面一定要加版本号。如果执行pip install opencv-webcam-script
可能安装为测试版,会影响使用。
from opencv_webcam.opencv_webcam import webcam_opencv
webcam_opencv() # 常规调用
webcam_opencv(is_autoSaveFrame=True) # 自动保存帧
webcam_opencv(is_autoSaveFrame=True, is_compress=True) # 压缩帧
webcam_opencv() # 常规调用
# 多摄像头切换示例,默认为0
webcam_opencv(device_index=0)
webcam_opencv(device_index=1)
webcam_opencv(device_index=2)
# RTSP
webcam_opencv(device_index="rtsp://username:password@xxx.xxx.xxx")
# 默认按q键退出
webcam_opencv(quit_key="z") # 设置z键退出
webcam_opencv(quit_key="k") # 设置k键退出
webcam_opencv(is_autoSaveFrame=True)
# 每隔10帧保存一次帧
webcam_opencv(is_autoSaveFrame=True, frame_nSave=10)
# 默认按a键捕获一帧
webcam_opencv(is_handSaveFrame=True)
# 设置z键为捕获键,默认为a键
webcam_opencv(is_handSaveFrame=True, frame_capKey="z")
# 重塑宽度300 高度200
webcam_opencv(
is_autoSaveFrame=True, is_resizeFrame=True, resize_frame="640,480"
) # 自动版,v0.5
webcam_opencv(
is_handSaveFrame=True, is_resizeFrame=True, resize_frame="640,480"
) # 手动版,v0.5
webcam_opencv(
is_autoSaveFrame=True, is_resizeFrame=True, resize_frame=[640, 480]
) # 自动版,v0.4之前
webcam_opencv(
is_handSaveFrame=True, is_resizeFrame=True, resize_frame=[640, 480]
) # 手动版,v0.4之前
# 宽高缩放比为0.5
webcam_opencv(is_autoSaveFrame=True, is_resizeFrame=True, resizeRatio_frame=0.5) # 自动版
webcam_opencv(is_handSaveFrame=True, is_resizeFrame=True, resizeRatio_frame=0.5) # 手动版
# 设置保存路径,默认保存路径为WebcamFrame
webcam_opencv(is_autoSaveFrame=True, frame_saveDir="custom_dir") # 以自动版为例
# 设置帧目录名称,默认保存路径为frames
webcam_opencv(is_autoSaveFrame=True, frame_dirName="frames_custom") # 以自动版为例
# 设置帧图片的前缀名称
webcam_opencv(is_autoSaveFrame=True, frame_namePrefix="webcam") # 以自动版为例
# 设置JPG质量为100,默认为95
webcam_opencv(is_autoSaveFrame=True, frame_saveStyle="jpg", jpg_quality=100) # 以自动版为例
# 设置PNG质量为5,默认为3
webcam_opencv(is_autoSaveFrame=True, frame_saveStyle="png", png_quality=5) # 以自动版为例
# 设置w键为暂停键,默认为p键
webcam_opencv(pause_key="w") # 按任意键继续
# 设置保存100帧
webcam_opencv(is_autoSaveFrame=True, auto_frameNum=100)
# 手动调整窗体尺寸(v0.9)
webcam_opencv(is_resizeWindow=True)
# 日志文件默认保存在项目根目录,ows.log
webcam_opencv()
# 设置日志文件名称及类型,类型包括.log、.txt、.data
webcam_opencv(logName="ows02.txt")
# 设置日志保存方式,,默认为追加模式
webcam_opencv(logMode="w") # 设置为覆盖模式
# 常规压缩,默认ows.zip(以自动版为例)
webcam_opencv(is_autoSaveFrame=True, is_compress=True)
# 自定义压缩文件名称
webcam_opencv(is_autoSaveFrame=True, is_compress=True, compressName="ows02")
# 自动命名压缩文件
webcam_opencv(is_autoSaveFrame=True, is_compress=True, is_autoCompressName=True)
# 自定义压缩模式,默认为写覆盖
webcam_opencv(
is_autoSaveFrame=True, is_compress=True, compressStyle="tar", compressMode="w:gz"
) # tar压缩
webcam_opencv(
is_autoSaveFrame=True, is_compress=True, compressMode="a"
) # 追加模式(a模式仅限zip) 注:该指令仅限v0.4
# 去除背景色,默认为绿色
webcam_opencv(is_autoSaveFrame=True, is_rmbgColor=True)
# 选择背景色模式
webcam_opencv(is_autoSaveFrame=True, is_rmbgColor=True, rmbgColorMode="green") # 抠绿
webcam_opencv(is_autoSaveFrame=True, is_rmbgColor=True, rmbgColorMode="blue") # 抠蓝
opencv_webcam.py
源码def webcam_opencv(
device_index="0", # 设备号
quit_key="q", # 退出键
pause_key="p", # 暂停键
is_autoSaveFrame=False, # 自动保存帧
frame_saveDir="WebcamFrame", # 帧保存路径
frame_dirName="frames", # 帧目录
frame_nSave=1, # 每隔n帧保存一次
auto_frameNum=0, # 自动保存最大帧数
is_handSaveFrame=False, # 手动保存帧
frame_capKey="a", # 设置帧捕获键
is_resizeFrame=False, # 重塑帧
resize_frame="640,480", # 自定义帧尺寸
resizeRatio_frame=1.0, # 自定义帧缩放比
frame_namePrefix="frame", # 自定义帧前缀
frame_saveStyle="jpg", # 帧保存类型
jpg_quality=95, # jpg质量系数
png_quality=3, # png质量系数
logName="ows.log", # 日志名称
logMode="a", # 日志模式
is_compress=False, # 压缩帧
compressStyle="zip", # 压缩类型
is_autoCompressName=False, # 自动命名压缩文件
compressName="ows", # 自定义压缩文件名称
compressMode="w", # 压缩模式
is_rmbgColor=False, # 去除背景色
rmbgColorMode="green", # 背景色模式
is_resizeWindow=False, # 调整窗体大小
):
from rich import inspect
from opencv_webcam import opencv_webcam
print(inspect(opencv_webcam, methods=True))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。