国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python運用VideoCapture讀取錄像或監(jiān)控攝像頭然后進行儲存

89542767 / 746人閱讀

  此篇文章主要是給大家介紹一下OpenCV中cv2.VideoCapture函數(shù)的應(yīng)用,并通過cv2.VideoCapture讀取錄像或監(jiān)控攝像頭及其開展儲存幀圖象或者視頻,感興趣的朋友可以看看。


  一、詞法:cap=cv2.VideoCapture(0)


  表明:主要參數(shù)0表明默認筆記本電腦的內(nèi)嵌第一位監(jiān)控攝像頭,必要時載入已經(jīng)有的小視頻則主要參數(shù)改成錄像所屬途徑途徑,比如:cap=cv2.VideoCapture('video.mp4')


  二、詞法:cap.isOpened()


  表明:分辨錄像目標(biāo)成功與否載入,取得成功載入錄像目標(biāo)回到True。


  三、詞法:ret,frame=cap.read()


  表明:按幀載入錄像,傳參ret是布爾型,恰當(dāng)載入則回到True,載入不成功或載入視頻結(jié)尾往往會回到False。frame為每一秒的圖象,這兒圖象是三維立體引流矩陣,即frame.shape=(640,480,3),載入的圖象為BGR格式。


  四、詞法:key=cv2.waitKey(1)


  表明:等候數(shù)字鍵盤,主要參數(shù)1表明延遲1ms切換至下每幀,主要參數(shù)為0表明表明現(xiàn)階段幀,等同于中止。


  五、載入監(jiān)控攝像頭并儲存為視頻代碼講解


  import cv2
  def videocapture():
  cap=cv2.VideoCapture(0)#生成讀取攝像頭對象
  width=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))#獲取視頻的寬度
  height=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))#獲取視頻的高度
  fps=cap.get(cv2.CAP_PROP_FPS)#獲取視頻的幀率
  fourcc=int(cap.get(cv2.CAP_PROP_FOURCC))#視頻的編碼
  #定義視頻對象輸出
  writer=cv2.VideoWriter("video_result.mp4",fourcc,fps,(width,height))
  while cap.isOpened():
  ret,frame=cap.read()#讀取攝像頭畫面
  cv2.imshow('teswell',frame)#顯示畫面
  key=cv2.waitKey(24)
  writer.write(frame)#視頻保存
  #按Q退出
  if key==ord('q'):
  break
  cap.release()#釋放攝像頭
  cv2.destroyAllWindows()#釋放所有顯示圖像窗口
  if __name__=='__main__':
  videocapture()


  六、讀取視頻并按幀進行保存代碼演示:


  import numpy as np
  import cv2
  import os
  def video2image(video_dir,save_dir):
  cap=cv2.VideoCapture(video_dir)#生成讀取視頻對象
  n=1#計數(shù)
  width=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))#獲取視頻的寬度
  height=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))#獲取視頻的高度
  fps=cap.get(cv2.CAP_PROP_FPS)#獲取視頻的幀率
  fourcc=int(cap.get(cv2.CAP_PROP_FOURCC))#視頻的編碼
  #定義視頻輸出
  #writer=cv2.VideoWriter("teswellvideo_02_result.mp4",fourcc,fps,(width,height))
  i=0
  timeF=int(fps)#視頻幀計數(shù)間隔頻率
  while cap.isOpened():
  ret,frame=cap.read()#按幀讀取視頻
  #到視頻結(jié)尾時終止
  if ret is False:
  break
  #每隔timeF幀進行存儲操作
  if(n%timeF==0):
  i+=1
  print('保存第%s張圖像'%i)
  save_image_dir=os.path.join(save_dir,'%s.jpg'%i)
  print('save_image_dir:',save_image_dir)
  cv2.imwrite(save_image_dir,frame)#保存視頻幀圖像
  n=n+1
  cv2.waitKey(1)#延時1ms
  cap.release()#釋放視頻對象
  #讀取文件夾所有視頻,每個視頻按幀保存圖像
  def video2image_multi(video_path,save_path):
  video_list=os.listdir(video_path)
  for i in range(len(video_list)):
  video_dir=os.path.join(video_path,video_list<i>)
  cap=cv2.VideoCapture(video_dir)
  fps=cap.get(cv2.CAP_PROP_FPS)#視頻的幀率
  save_num=0
  n=1#計數(shù)
  timeF=int(fps)#視頻幀計數(shù)間隔頻率
  while cap.isOpened():
  ret,frame=cap.read()
  if ret is False:
  break
  #每隔timeF幀進行存儲操作
  if(n%timeF==0):
  save_num+=1
  save_image_dir=os.path.join(save_path,'%s_%s.jpg'%(i,save_num))
  cv2.imwrite(save_image_dir,frame)
  n=n+1
  cv2.waitKey(1)
  cap.release()
  print('讀取第%s個視頻完成!!!'%i)
  if __name__=='__main__':
  video_to_image(r'E:AIvideo.mp4',r'E:AIvideo2image')


  以上就是小編給大家介紹的,希望可以給大家?guī)硪欢◣椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/128696.html

相關(guān)文章

  • opencv python像頭獲取視頻/從文件獲取視頻 /保存視頻

    摘要:這次開始學(xué)習(xí)從攝像頭獲取視頻使用獲取視頻要獲取視頻,需要創(chuàng)建一個對象,參數(shù)可以是設(shè)備索引攝像頭索引或視頻文件的名稱。 這次開始學(xué)習(xí)Getting Started with Videos 1從攝像頭獲取視頻 使用cv2.VideoCapture()獲取視頻. cv2.VideoCapture(builtins.object) 要獲取視頻,需要創(chuàng)建一個VideoCapture對象,參數(shù)可以...

    netmou 評論0 收藏0
  • Python中使用OpenCV進行人臉檢測

    摘要:總結(jié)在本文中,我們學(xué)習(xí)了如何使用中的,即通過代碼寫了一個人臉檢測的程序。 OpenCV是如今最流行的計算機視覺庫,而我們今天就是要學(xué)習(xí)如何安裝使用OpenCV,以及如何去訪問我們的攝像頭。然后我們一起來看看寫一個人臉檢測程序是如何地簡單,簡單到只需要幾行代碼。 在開始之前,我假設(shè)你已經(jīng)對Python有一定的了解。當(dāng)然,如果你覺得你還不夠格,這里有推薦一些學(xué)習(xí)Python的電子書,你可以...

    stefanieliang 評論0 收藏0
  • 基于Opencv的手勢識別

    摘要:同時打印出了手上的每個結(jié)點的位置變化。解決方案使用國內(nèi)鏡像安裝這時候,考慮使用國內(nèi)鏡像安裝,會快很多。點擊下面的即可。 文章目錄 一、 效果(版本2的效果)二、全...

    曹金海 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<