温馨提示:本文最后更新于
2025-06-11 19:53:59
,某些文章具有时效性,若有错误或已失效,请在下方留言。采集图片
# 通过OpenCV采集图片
import cv2
def capture_image():
# 创建一个VideoCapture对象,参数0表示使用默认摄像头
cap = cv2.VideoCapture(0)
# 检查摄像头是否成功打开
while cap.isOpened():
# 预热,丢弃前10帧,避免获取的第一帧为纯黑色的问题
for _ in range(10):
cap.read()
# 读取摄像头的一帧
ret, frame = cap.read()
# 如果成功读取到帧, 保存为图片
if ret:
# 将数据帧保存为图片文件
cv2.imwrite('captured_image.jpg', frame)
break
# 释放摄像头资源
cap.release()
# 调用函数进行图片采集
capture_image()
采集到的图像,如下所示

采集视频
import cv2
def capture_video():
# 创建一个VideoCapture对象,参数0表示使用默认摄像头
cap = cv2.VideoCapture(0)
# 设置视频编码格式和输出文件名
# 获取摄像头的分辨率
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 使用avc1编码格式
fourcc = cv2.VideoWriter_fourcc(*'avc1')
# 创建VideoWriter对象,参数为输出文件名、编码格式、帧率和分辨率
# 分辨率不是随便设置的,必须与摄像头的分辨率一致
out = cv2.VideoWriter('./output.mp4', fourcc, 30.0, (frame_width, frame_height))
i = 0
# 检查摄像头是否成功打开
while cap.isOpened():
ret, frame = cap.read()
if ret:
if i <= 120:
out.write(frame)
else:
break
i += 1
else:
print('视频采集失败')
break
# 释放资源
cap.release()
out.release()
# 调用函数进行视频采集
capture_video()
注意:分辨率不是随便设置的,必须与摄像头的分辨率一致
© 版权声明
THE END
暂无评论内容