Opencv 面向Python (17) —— 视频处理

视频处理

本章任务

  • 捕获摄像头文件
  • 播放视频文件
  • 保存视频文件

1. VideoCapture类介绍

1.1 类函数介绍

捕获对象 = cv2.VideoCapture("摄像头ID")

程序中参数介绍:

  • ID = -1时,表示随机取一个摄像头
  • ID = 0 时,表示获取第一个摄像头
  • ID = 1 时,表示获取第二个摄像头

若只有一个摄像头,ID为“0”或者“-1”都可以

要求:使用cv2.VideoCapture类捕获摄像头

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(cap.isOpened()):
    ret, frame = cap.read()
    cv2.imshow('frame', frame)
    c = cv2.waitKey(1)
    if c==27:         # ESC键
        break
cap.release()
cv2.destroyAllWindows()

1.2 播放视频


程序中参数介绍:

要求:播放视频

import numpy as np
import cv2
cap = cv2.VideoCapture('news1.avi')
while(cap.isOpened()):
    ret, frame = cap.read()
    cv2.imshow('frame', frame)
    c = cv2.waitKey(1)
    if c==27:
        break
cap.release()
cv2.destroyAllWindows()

1.3 保存视频


程序中参数介绍:

要求:保存视频

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc('I', '4,','2', '0')
out = cv2.VideoWriter('output.avi',fourcc,20,(640,480))
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        out.write(frame)
        cv2.imshow('frame', frame)
        if cv2.waitKey(1) == 27:
            break
    else :
        break
cap.release()
out.release()
cv2.destroyAllWindows()

1.4 视频操作基础

要求:提取视频帧

import numpy as np
import cv2
cap = cv2.VideoCapture('output.avi')
while(cap.isOpened):
    ret, frame = cap.read()
    frame = cv2.Canny(frame, 100, 200)
    cv2.imshow('frame', frame)
    c = cv2.waitKey(30)
    if c==27:
        break
cap.release()
cv2.destroyWindows()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值