day7 opencv+python 讀取視頻,沒有東西


 

1.讀取視頻man.avi,

    報錯。

  我的視頻和文件在同一目錄下.

 

#coding=utf-8
import numpy as np
import cv2
cap = cv2.VideoCapture('man.avi')
while(cap.isOpened()):
    # 從攝像頭讀取一幀,ret是表明成功與否
    ret, frame = cap.read()
    if ret:
        #處理得到的幀,這里將其翻轉
        frame = cv2.flip(frame,0)
        cv2.imshow('frame',frame)
    else:
        break
    # 監聽鍵盤,按下q鍵退出
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break
##釋放
cap.release()
cv2.destroyAllWindows()

 

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file C:\build\master_winpack-bindings-win32-vc14-static\opencv\modules\highgui\src\window.cpp, line 325
Traceback (most recent call last):
  File "C:/PycharmProjects11/day5 ����/2 MOG2��ϸ�˹ģ��.py", line 18, in <module>
    cv2.imshow('frame',fgmask)
cv2.error: C:\build\master_winpack-bindings-win32-vc14-static\opencv\modules\highgui\src\window.cpp:325: error: (-215) size.width>0 && size.height>0 in function cv::imshow

 

2. 有些博客寫的是絕對路徑

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

import cv2
import numpy as np
from matplotlib import pyplot as plt

#1.讀入avi對象
cap = cv2.VideoCapture('C:\\PycharmProjects11\\video\\people.avi')

#2.視頻有多少秒
fps = cap.get(cv2.CAP_PROP_FPS)
print fps

#3.視頻的width,height
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print size

    顯示根本沒有讀取進來視頻      

    無效

 

 3.缺少ffmpeg.dll文件

  參考博客:http://blog.csdn.net/djcxym/article/details/52177220

  解決方案:(親測可行),

   如果獲取失敗的話,可能是因為缺少ffmpeg的dll,

    搜索文件用Everything(推薦),下載地址:https://www.so.com/s?ie=utf-8&src=360se7_addr&q=Everything

    

    

 

    把opencv目錄下的ffmepg.dell文件復制到python27目錄下

      我的是:C:\opencv\build\bin到C:\Python27

         

 

4.重新執行程序成功

    

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM