zoukankan      html  css  js  c++  java
  • 视频的读取

    学完图片的基本操作,来学一下视频的读取

    首先还是导入常用的包

    1 import cv2
    2 import matplotlib.pyplot as plt
    3 import numpy as np
    4 %matplotlib inline

    然后用VideoCapture()来读取视频

    1 vc=cv2.VideoCapture('test.mp4')

    先检测视频是否正常打开

    1 if vc.isOpened():
    2     open,frame=vc.read()
    3 else:
    4     open=False

    read()是来一帧一帧地读取视频中的图片

    返回的第一个参数open是bool值,用来表示视频是否正常打开

    第二个参数frame保存的是每一帧的图片

    如果视频能正常打开,则对每一帧图片进行处理(转化为灰度图)

     1 while open:
     2     ret,frame=vc.read()
     3     if frame is None:
     4         break
     5     if ret==True:
     6         gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
     7         cv2.imshow('vedio',gray)
     8         if cv2.waitKey(10) & 0xFF==27:  #27代表ESC键
     9             break;
    10 vc.release()
    11 cv2.destroyAllWindows()

    注:一开始将cvtColor()函数处的语句用如下语句代替了:

      gray=cv2.imread(frame,cv2.IMREAD_GRAYSCALE);

    这里出现了错误,因为我已经在循环中用read()一帧一帧地读进来了,不能再用imread()去读取,这里要做的只是要将颜色做一个转变

    那么就要说到imread()和cvtColor()的区别了:

      imread()是在将图片读取进来的过程中进行灰度图的转换,适用于还没读取图片的时候

      cvtColor()是图片已经读取进来了,只是要做一个颜色空间的转换

  • 相关阅读:
    Spring 学习笔记
    Java Web整合开发(33) -- SSH和SSJ
    2、常用操作
    jsonp使用
    PHP curl 封装 GET及POST方法很不错的
    浅谈CSRF攻击方式 转
    谷歌插件请求ci 解决CI框架的Disallowed Key Characters错误提示
    phpstorm10.0.3 下载与激活
    Mysql全文搜索match against的用法
    CentOS 6.4下编译安装MySQL 5.6.14 (转)
  • 原文地址:https://www.cnblogs.com/program-ai-cv-ml-se-fighting/p/11679197.html
Copyright © 2011-2022 走看看