zoukankan      html  css  js  c++  java
  • Opencv如何捕获摄像头视频-OpenCV步步精深

    捕获摄像头实时图像

    这一点非常非常重要,因为这一点关乎了以后我们进行各种各样的识别(人脸识别,车牌识别等等有趣的识别)。opencv提供了一个接口,可以轻松的让我们实现这个功能。我们先来看一段代码,根据上一篇的学习,希望大家先看代码,再来看后面的详细解释。


    # -*- coding:utf-8 -*-
    """

    Created on Sun Dec 27 13:44:57 2016

    @author: Y

    """
    import cv2
    import numpy as np

    cap = cv2.VideoCapture(0)

    while(True):
    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()

    下面我来详细的解释一下;

    首先要调用两个库,

    然后就是新的东西,我们用

    1. cap = cv2.VideoCapture(0)

    来进行捕获,我用的是笔记本,所以摄像头是默认的摄像头,参数为0;

    如果要用别的摄像头,可以设置别的参数来选择摄像头。现在还没有别的摄像头,日后装了新的摄像头,会具体研究一下参数问题。

    1. ret,frame = cap.read()

    我们用ret表示检测,用frame来表示帧, 用cap.read()函数来捕获摄像头出现的东西。

    1. gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

    上一章中提到过灰度检测,这句简单而言就是将摄像头捕获到的用帧的形式,将每一帧都转化成灰度图像,再联结起来,顾名思义,我们马上就要控制视频播放速度,有时换一个速度看这个世界,你就会发下很多你平时注意不到的东西。

    1.   cv2.imshow('frame',gray)

    imshow上一章也提过,这是显示图像的,只不过这一张显示帧,上一张显示图像。

    1. if cv2.waitKey(1) & 0xFF == ord('q'):
    2.     break

    上一章中cv2.waitKey()中的参数是0,当参数是1(1>0)的时候,这时我们等待键盘按键,当我们按下q的时候,退出视频捕获。

    然后要释放捕获,我们用cap.release()来释放。

    紧接着用cv2.destroyAllWindows()关闭所有窗口。

    今天就这一任务,这个是未来创造的关键与保证 。

  • 相关阅读:
    Pycharm中安装第三方库
    Cookie&Session区别
    在线AES加解密
    Python_base_正则表达式
    POST四种常见的传参区别
    SQL基础语法与规则
    SQL的4种连接
    Python_base_Log
    <11>Golang基础进阶——指针
    Shell脚本——特殊变量
  • 原文地址:https://www.cnblogs.com/yujiachen/p/7665904.html
Copyright © 2011-2022 走看看