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 通过 socket 发送文件的实例代码

python 通过 socket 发送文件的实例代码

目录结构: client: #!/usr/bin/env python # -*-coding:utf-8 -*- import socket, struct, json down...

解决PySide+Python子线程更新UI线程的问题

在我开发的系统,需要子线程去运行,然后把运行的结果发给UI线程,让UI线程知道运行的进度。 首先创建线程很简单 def newThread(self): d = Data() p...

python tkinter实现屏保程序

本文实例为大家分享了python tkinter实现屏保程序的具体代码,供大家参考,具体内容如下 该脚本摘录自:2014年辛星tkinter教程第二版 #!/usr/bin/env...

PyCharm2019安装教程及其使用(图文教程)

PyCharm2019安装教程及其使用(图文教程)

下载PyCharm PyCharm官网下载:https://www.jetbrains.com/pycharm/download/ 安装PyCharm 1、双击exe,进入“欢迎...