当前位置:   article > 正文

VideoCapture_read.py cap.read() 返回一个布尔值(True/False)_cap.read()返回false

cap.read()返回false

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 3 21:06:22 2014

@author: duan
"""

import numpy as np
import cv2

cap = cv2.VideoCapture(1)
if cap.isOpened():
  while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()
    if ret==True:
      # Our operations on the frame come here
      gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

      # Display the resulting frame
      cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
     break

  # When everything done, release the capture
  cap.release()
  cv2.destroyAllWindows()
else:
  print 'cap is not Opened!'


cap.read() 返回一个布尔值(True/False)。如果帧读取的是正确的,
就是True。所以最后你可以通过检查他的返回值来查看视频文件是否已经到
了结尾。
有时cap 可能不能成功的初始化摄像头设备。这种情况下上面的代码会报
错。你可以使用cap.isOpened(),来检查是否成功初始化了。如果返回值是
True,那就没有问题。否则就要使用函数cap.open()。
你可以使用函数cap.get(propId) 来获得视频的一些参数信息。这里
propId 可以是0 到18 之间的任何整数。每一个数代表视频的一个属性,见
下表
其中的一些值可以使用cap.set(propId,value) 来修改,value 就是
你想要设置成的新值。
例如,我可以使用cap.get(3) 和cap.get(4) 来查看每一帧的宽和高。
默认情况下得到的值是640X480。但是我可以使用ret=cap.set(3,320)
和ret=cap.set(4,240) 来把宽和高改成320X240。
注意:当你的程序报错时,你首先应该检查的是你的摄像头是否能够在其他程
序中正常工作(比如linux 下的Cheese)。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/280266
推荐阅读
相关标签
  

闽ICP备14008679号