【190411】VC++ 摄像头画面的实时捕捉并保存为avi源代码

源码下载简介

VC++ 摄像头画面的实时捕捉并保存为avi,可捕捉单帧画面或捕捉连续视频,并保存为avi文件。

源码下载地址:点击下载

备用下载地址:点击下载

VC++ 摄像头画面的实时捕捉并保存为avi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用OpenCV从摄像头获取图像并进行压缩保存的Python代码,附有详细注释: ```python import cv2 # 打开摄像头 cap = cv2.VideoCapture(0) # 设置图像编解码器 fourcc = cv2.VideoWriter_fourcc(*'XVID') # 设置保存视频的文件名和编解码器、帧率以及分辨率 out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) while True: # 读取摄像头捕获的帧 ret, frame = cap.read() # 缩小图像尺寸 frame = cv2.resize(frame, (320, 240)) # 将帧写入输出视频 out.write(frame) # 显示帧 cv2.imshow('frame', frame) # 如果按下q键,则退出 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放摄像头和输出视频 cap.release() out.release() # 关闭所有OpenCV窗口 cv2.destroyAllWindows() ``` 逐行解释: 1. 导入OpenCV模块 ```python import cv2 ``` 2. 打开摄像头 ```python cap = cv2.VideoCapture(0) ``` 其中,参数0表示打开默认的摄像头设备,如果有多个摄像头,则可以使用不同的数字来表示不同的设备。 3. 设置图像编解码器 ```python fourcc = cv2.VideoWriter_fourcc(*'XVID') ``` OpenCV中的VideoWriter_fourcc函数用于设置视频编解码器,常用的编解码器包括XVID、MJPG、DIVX等。 4. 设置保存视频的文件名和编解码器、帧率以及分辨率 ```python out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) ``` 其中,参数'output.avi'表示保存视频的文件名,fourcc表示编解码器,20.0表示帧率,(640, 480)表示视频的分辨率。 5. 循环读取摄像头捕获的帧 ```python while True: ret, frame = cap.read() ``` 其中,cap.read()函数返回两个值:ret表示是否成功读取到帧,frame表示读取到的帧。 6. 缩小图像尺寸 ```python frame = cv2.resize(frame, (320, 240)) ``` 使用cv2.resize函数将读取到的帧缩小为320x240的尺寸,以减小输出视频的大小。 7. 将帧写入输出视频 ```python out.write(frame) ``` 使用out.write函数将读取到的帧写入输出视频。 8. 显示帧 ```python cv2.imshow('frame', frame) ``` 使用cv2.imshow函数显示读取到的帧,其中'frame'表示窗口的名称,frame表示要显示的帧。 9. 如果按下q键,则退出 ```python if cv2.waitKey(1) & 0xFF == ord('q'): break ``` 使用cv2.waitKey函数等待键盘输入,如果按下q键,则退出循环。 10. 释放摄像头和输出视频 ```python cap.release() out.release() ``` 使用cap.release()函数和out.release()函数释放摄像头和输出视频资源。 11. 关闭所有OpenCV窗口 ```python cv2.destroyAllWindows() ``` 使用cv2.destroyAllWindows()函数关闭所有OpenCV窗口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值