python+opencv打开摄像头,保存视频、拍照功能的实现方法

yipeiwu_com6年前Python基础

以下代码是保存视频

# coding:utf-8
import cv2
import sys
reload(sys)
sys.setdefaultencoding('utf8')
cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)
cap.set(1, 10.0)
#此处fourcc的在MAC上有效,如果视频保存为空,那么可以改一下这个参数试试, 也可以是-1
fourcc = cv2.cv.CV_FOURCC('m', 'p', '4', 'v')
# 第三个参数则是镜头快慢的,10为正常,小于10为慢镜头
out = cv2.VideoWriter('/opt/code/video/output2.avi', fourcc,10,(640,480))
while True:
 ret,frame = cap.read()
 if ret == True:
  frame = cv2.flip(frame, 1)
  a = out.write(frame)
  cv2.imshow("frame", frame)
  if cv2.waitKey(1) & 0xFF == ord('q'):
   break
 else:
  break
cap.release()
out.release()
cv2.destroyAllWindows()

以下代码是拍照,在按q之后,保存图片并退出。

import cv2

cap = cv2.VideoCapture(0)
while(1):
 # get a frame
 ret, frame = cap.read()
 # show a frame
 cv2.imshow("capture", frame)
 if cv2.waitKey(1) & 0xFF == ord('q'):
  cv2.imwrite("/opt/code/image/fangjian2.jpeg", frame)
  break
cap.release()
cv2.destroyAllWindows()

以上这篇python+opencv打开摄像头,保存视频、拍照功能的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python:面向对象编程

面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度 python...

Python yield 小结和实例

一个带有 yield 的函数就是一个 generator,它和普通函数不同,生成一个 generator 看起来像函数调用,但不会执行任何函数代码,直到对其调用 next()(在 for...

python sys模块sys.path使用方法示例

python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性 复制代码 代码如下:import sysprint d...

python字符串分割及字符串的一些常规方法

字符串分割,将一个字符串分裂成多个字符串组成的列表,可以理解为字符串转列表,经常会用到 语法:str.split(sep, [,max]),sep可以指定切割的符号,max可以指定切割...

python 对类的成员函数开启线程的方法

如下所示: # -*- coding: utf-8 -*- import threading import thread import time class Test(objec...