opencv摄像头捕获视频

1、ord()函数:它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

2、cap.read()返回一个布尔值,如果帧读取的是正确的,就是True,可以通过检查返回值来看视频文件是否已经到了结尾

3、cap.isOpened()可以用来检查是否成功初始化,如果返回值是true那就没有问题

否则就要使用cap.open()

4、可以使用函数cap.get(propId)来获得视频的一些参数信息。这里的propId可以是0-18之间的任何整数,每一个数代表视频的一个属性

5、cap.set(propId,value)来修改,value是想设置成的新值

6、cap.get(3)和cap.get(4)查看每一帧的宽和高。默认是640*480

7、一定要注意:注意缩进!尤其是有while的时候

8、为了获取视频,先创建一个VideoCapture()对象

import cv2
import numpy as np

cap = cv2.VideoCapture(0)#0是内置摄像头,1或其他的来选择别的摄像头

while 1:
    ret, frame=cap.read()
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    cv2.imshow(‘frame‘, gray)
    if cv2.waitKey(1) & 0xFF == ord(‘q‘):
        break
cap.release()
cv2.destroyAllWindows()

原文地址:https://www.cnblogs.com/h694879357/p/12266735.html

时间: 2024-07-30 01:31:21

opencv摄像头捕获视频的相关文章

win32 摄像头捕获系统vfw

[html] view plaincopy //win32 摄像头捕获系统vfw [html] view plaincopy //  VideoRecord.h ///  用于定义一些资源ID [html] view plaincopy #include "resource.h" //#define EXIT  104 #define HELP  105 #define MINIMIZE 106 //#define DISPLAY  107 #define BUTTONSIZE  15

从摄像头录制视频实现

收藏两个摄像头录制视频的demo之一:基于opencv实现 QT PRO文件需要加入:LIBS +=   -lopencv_core -lopencv_highgui,或者使用g++ 利用这个参数来编译非QT环境的代码. #include <QCoreApplication> #include <QtGui/QCloseEvent> #include<opencv/cv.h> #include<opencv/highgui.h> void closeEven

opencv之从视频帧中截取图片

最近在训练一个人脸识别的模型,而项目训练需要大量真实人脸图片样本. 刚好项目用到opencv识别人脸,可以把每一帧图片保存下来,用此方法可以方便的获取大量的脸部样本,大约20分钟可以获取到10000张. #-*- encoding:utf8 -*- import cv2 import os import sys import random # 获取分类器 classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml

基于opencv下对视频的灰度变换,高斯滤波,canny边缘检测处理,同窗体显示并保存

如题:使用opencv打开摄像头或视频文件,实时显示原始视频,将视频每一帧依次做灰度转换.高斯滤波.canny边缘检测处理(原始视频和这3个中间步骤处理结果分别在一个窗口显示),最后将边缘检测结果保存为一个视频avi文件. 这里问题综合性比较大,这里进行分治. 该类问题可分为四个方面的处理: (1)打开 视频或者是摄像头,并播放视频 (2)对视频的每一帧做处理 (3)同窗体显示四个结果 (4)保存视频文件 以下分为这三个方面进行处理: (1)打开 视频或者摄像头,并播放视频 这个利用opencv

如何根据Sip协议的SDP和onvif摄像头进行视频媒体能力的协商 (1)

最近一段时间在从事onvif/rtsp转sip协议的研发工作,那到底为什么要在这两种协议之间进行相互转换呢?因为我公司的软交换系统目前仅仅支持sip协议,而大部分的网络摄像头仅仅支持onvif/rtsp协议,所以公司的软交换系统不支持onvif摄像头的接入,为了扩展公司的软交换系统支持更多的视频接入协议,所以公司决定通过增加视频网关的方式来完成onvif/rtsp协议和sip协议的转换,使公司的软交换系统支持更多的视频接入协议.在协议转换过程中,有一个十分关键的技术问题,那就是要解决如果根据si

win8 metro 调用摄像头录制视频并将视频保存在相应的位置

上一篇文章介绍了在win8 metro 调用摄像头拍摄照片并将照片保存在相应的位置的功能,那么这一片文章主要介绍了的就是录制视频了,其实这个差不多,所用的思想也是一样的,因为图片和视频都可以转化为流文件,那么它们本质上都是一样的,但是还是有个别地方时不同的,接下来我们就介绍一下这个别地方的不同吧 下面是metro UI的代码: <Page x:Class="Camera1.MainPage" xmlns="http://schemas.microsoft.com/win

OpenCV 播放mkv视频

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/33371013 一.一个简单的OpenCV程序,用于播放硬盘中的视频文件 #include "opencv\highgui.h" int main() { cvNamedWindow("生活大爆炸.mkv",CV_WINDOW_AUTOSIZE); CvCapture* capture = cvCreateFileCapture("生活大

opencv 摄像头

VideoCapture cap(0); if(!cap.isOpened()) return -1; Mat frame, edges; namedWindow("edges",1); for(;;) { cap >> frame; cvtColor(frame, edges, CV_BGR2GRAY); GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5); Canny(edges, edges, 0, 30, 3); imsh

Opencv——摄像头设置

VideoCapture capture(0);/*设置摄像头参数 不要随意修改capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度 capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度capture.set(CV_CAP_PROP_FPS, 30);//帧数capture.set(CV_CAP_PROP_BRIGHTNESS, 1);//亮度 1capture.set(CV_CAP_PROP_CONTRAST,