OpenCV 调用摄像头并进行视频抽帧

最近在学习opencv时用到将视频抽帧的问题。用opencv模块可以很方便的做一些跟视频图像分析的研究。下面我借鉴了opencv项目的开源代码改成了demo脚本。
github资源地址

# -*- coding:utf-8 -*-
'''
Simple Cam Test - BGR and Gray
    Create by pythonprogramming.net ==> See the tutorial here:
    https://pythonprogramming.net/loading-video-python-opencv-tutorial
Adapted by Marcelo Rovai - MJRoBot.org @8Feb18
'''

import numpy as np
import cv2
from hashlib import md5
import os

cap = cv2.VideoCapture(0)
cap.set(1, int(cap.get(7)/2)) #获取视频的中间帧

'''
在当前执行文件环境下,创建抽帧图片存储文件夹
'''
path='facetmp'
os.mkdir(path)

'''
从摄像头获取视频流
'''
while(True):
    ret, frame = cap.read()
    #print(ret,frame)
    frame = cv2.flip(frame, 1)
    #print(frame)
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    cv2.imshow('welcome', frame)
    cv2.imshow('Gray Windows', gray)
    filepath='facetmp/{}.{}'.format(md5(frame).hexdigest(),'jpg')
    cv2.imwrite(filepath, frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

timg.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,341评论 25 709
  • 旺旺年已经来了,以前从没坚持完成一件事儿的我,想在旺旺年坚持做以下几件事,有想做的吗?我们一起加油! 1,每天跑步...
    coldplay0714阅读 1,274评论 0 0
  • 人生中会有多少流星划过。总有几颗,尾巴拖得很长。 小学一年级下半学期的一开学,班里来了一个留级生。班主任并没有给他...
    二十五月阅读 2,701评论 2 0
  • Martin(Bob大叔)曾在《代码整洁之道》一书打趣地说:当你的代码在做 Code Review 时,审查者要是...
    liuzhijun阅读 3,902评论 0 10
  • 归类分组 人类的大脑对于那些零碎的东西是无感的,所以必须将其组织起来才便于被人理解。归类分组的目的是将那些零碎的知...
    Evenan阅读 1,702评论 0 0

友情链接更多精彩内容