Python OpenCV使用攝像頭捕獲視頻

2020-12-08 python高手養成

我們知道,OpenCV是一款強大的跨平臺的計算機視覺庫,使用它能完成我們對於圖像和視頻處理的很多功能,今天,我們使用OpenCV來捕獲計算機攝像頭的視頻。

使用OpenCV捕獲攝像頭視頻

我們知道,視頻是將一系列靜態影像以電信號的方式加以捕捉、記錄、處理、儲存、傳送與重現的各種技術。OpenCV恰好提供了對於視頻的捕捉、記錄、處理、存儲、傳送等功能。這一系列動作通過cv2.VideoCapture類來實現。它的原理基本上就是通過獲取視頻中的一系列禎來實現對於視頻的各種操作。

要進行視頻處理捕獲視頻是前提

下面,我們通過一個例子來展示Python使用OpenCV庫來捕獲攝像頭視頻的功能。

#!/usr/bin/env python

# coding:utf-8

import numpy as np

import cv2

capture = cv2.VideoCapture(0)

while True:

ret, frame = capture.read()

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

cv2.imshow('frame', gray)

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

break

capture.release()

cv2.destroyAllWindows()

前面的導入模塊內容不用解釋了

capture = cv2.VideoCapture(0)

這一句表示調用計算機內置攝像頭來獲取視頻,如果傳入參數為1時,表示調用計算機外置攝像頭,比如usb連接的攝像頭等。VideoCapture對象也可以傳入視頻文件地址。

ret, frame = capture.read()

這裡使用一個循環表示持續獲取攝像頭數據,VideoCapture對象的read()方法返回兩個值。

第一個值一般為ret,它是一個布爾值,表示是否獲取到了圖像數據,如果獲取成功返回True,獲取失敗返回False,這一句後可以判斷ret是否為True,如果為True則向下執行,False則執行相應的操作,這樣可以使得我們的應用程式更加健壯。它還有一個功能就是驗證獲取到的視頻是否到達結尾部分。

第二個值表示獲取到的一幀的圖像數據。下一步我們將這個圖像數據直接轉化為灰度圖像進行了處理。

後面的代碼就不用解釋,關於OpenCV的處理鍵盤事件方法可以參照我的另一篇博文(使用Python OpenCV處理圖像之詳解使用OpenCV處理鍵盤滑鼠事件)。

由於我的電腦攝像頭被我拆掉了,這裡就不演示捕獲的具體內容了,感興趣的朋友們自己測試下上述代碼吧。

好了,今天的內容就到這裡了,後續我們會推出關於視頻處理的一些應用。歡迎大家持續關注,感興趣的朋友們要多練哦。

轉載請註明出處,百家號:Python高手養成

相關焦點

  • 使用OpenCV和Python構建自己的車輛檢測模型
    utm_source=blog&utm_medium=vehicle-detection-opencv-python)目錄視頻中運動目標檢測的思想視頻中目標檢測的真實世界用例視頻目標檢測的基本概念 幀差分 圖像閾值 檢測輪廓 圖像膨脹利用OpenCV構建車輛檢測系統視頻中運動目標檢測的思想目標檢測是計算機視覺中一個引人入勝的領域。
  • 基於TensorFlow 、OpenCV 和 Docker 的實時視頻目標檢測
    翻譯 | 於志鵬  徐普     校對 | 陶玉龍     整理 | 孔令雙在本文中,我將介紹如何在 Docker 容器中使用 Tensorflow Object-detection API 來執行實時(網絡攝像頭)和視頻的目標檢測。
  • opencv-python獲取圖像:面向對象與面向過程
    運行環境:win10系統 python==3.6 opencv-contrib-python== 4.1.0第一行「# -*- coding: utf-8 -*-」 告訴Python解釋器,按照UTF-8編碼讀取原始碼"""import cv2image=cv2.imread('lena.JPG') #讀取本地圖片,
  • 如何快速簡單的安裝opencv-python
    >pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python這樣就會從清華鏡像安裝opencv-contrib-python庫。
  • 電腦攝像頭視頻是如何被獲取和保存的,使用Python OpenCV來實現
    Python OpenCV使用攝像頭捕獲視頻),對於視頻的獲取,我們使用了OpenCV中的VideoCapture類的read()方法,該方法返回兩個結果回顧下前面的內容【播放視頻原理解釋】我們知道,從攝像頭中捕獲的每一幀的圖像信息是通過獲取每一幀的圖像來實現的
  • Python中如何利用Opencv打開視頻或圖像並用PyQt控制項顯示
    OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS作業系統上,使用起來十分方便,把它與PyQt結合起來,就可以順利的操作視頻、圖像了。具體安裝請自行百度,這裡介紹使用方法。
  • 「python opencv視覺零基礎」十四、直方圖反向投影
    前文提醒:博主正在參加博客之星評比,成功入選Top200,現在暫居第九歡迎各位點擊了解更多幫我投票,非常感謝~目錄「python opencv 計算機視覺零基礎實戰」 第一節「python opencv視覺入門到實戰」二、格式與攝像頭「python opencv 視覺入門到實戰」 三、圖像編輯「python
  • 「python opencv計算機視覺零基礎到實戰」九模糊
    一、學習目標了解什麼是卷積了解模糊的使用方法與應用目錄「python opencv 計算機視覺零基礎實戰」 第一節「python opencv視覺入門到實戰」二、格式與攝像頭「python opencv 視覺入門到實戰」 三、圖像編輯「python opencv視覺入門到實戰」 第四節色彩空間
  • 「python opencv視覺零基礎」十、圖片效果毛玻璃
    一、學習目標了解高斯模糊的使用方法了解毛玻璃的圖片效果添加了解如何自己做一個噪聲圖片目錄「python opencv 計算機視覺零基礎實戰」 第一節「python opencv視覺入門到實戰」二、格式與攝像頭「python opencv 視覺入門到實戰」 三、圖像編輯「python opencv視覺入門到實戰
  • 「python opencv視覺零基礎實戰」七邏輯運算應用
    一、學習目標了解opencv中圖像的邏輯運算了解opencv中邏輯運算的應用如有錯誤歡迎指出~目錄「python opencv 計算機視覺零基礎實戰」 第一節「python opencv視覺入門到實戰」二、格式與攝像頭「python opencv 視覺入門到實戰」 三、圖像編輯「python
  • 「python opencv視覺零到實戰」八、圖片選區操作
    一、學習目標了解什麼是ROI了解floodFill的使用方法如有錯誤歡迎指出~目錄「python opencv 計算機視覺零基礎實戰」 第一節「python opencv視覺入門到實戰」二、格式與攝像頭「python opencv 視覺入門到實戰」 三、圖像編輯「python opencv視覺入門到實戰
  • opencv-python圖像預處理-濾波
    使用的方法可以分為空間域處理和頻率域處理兩類。空間域指圖像平面本身,這類圖像處理方法用各種模板直接與圖像進行卷積運算,實現對圖像的處理。頻率域是指從函數的頻率角度出發分析函數,對圖像進行傅立葉變換可以將圖像由圖像空間轉換到頻域空間,然後在頻率域中對圖像的頻譜作分析處理,以改變圖像的頻率特徵。
  • OpenCV中的快速直線檢測
    本文介紹該功能的使用方法其輸出結果剖析。本文範例運行環境FastLineDetectors運行必要條件FastLineDetectors屬於opencv-contrib中的模塊,需要安裝opencv-contrib-python。
  • 資料| Practical Python and OpenCV 一周時間帶你入門CV
  • 基於python+OpenCV模塊的人臉識別定位技術
    本文將基於OpenCV模塊,在windows作業系統上,利用python語言,進行人臉識別技術的研究。當然OpenCV的應用領域很廣,除了人臉識別之外,它還支持圖像分割、動作識別、視頻處理等技術。代碼第1行導入opencv模塊。代碼的第3行(以上圖為準,空行也算一行),導入別人已經訓練好的臉部識別資料庫。這裡用到的數據是在github上開源的已經訓練好的分類器,如圖所示:需要將對應的數據文件(.xml文件)下載到指定目錄(代碼中的示例,展示的是與.py文件同一目錄下)。
  • 20行Python代碼實現視頻字符化
    ,主要就是將一個視頻轉換成字符的樣子展現出來。 看起來是非常高端,但是實際實現起來確實非常簡單,我們只需要接觸opencv模塊,就能很快的實現視頻字符化。 OpenCV的安裝及圖片讀取 在Python中我們只需要用pip安裝即可,我們在控制臺執行下列語句: pip install opencv-python 安裝完成就可以開始使用
  • 基於opencv 的圖像處理入門教程
    /代碼和樣例圖片的地址:https://github.com/ccc013/CodesNotes/tree/master/opencv_noteshttps://github.com/ccc013/CodesNotes/blob/master/opencv_notes/opencv_image_process_tutorial.ipynb
  • Python第三方庫安裝
    pypi.org其中PyPI: Python Package Index是由PSF維護的展示全球Python計算生態的主站如要安裝圖像處理opencv-python庫可以搜索 opencv,但結果如下:
  • 用Python做特效,分分鐘碾壓五毛黨
    >2、模塊安裝我們需要使用到的模塊主要有如下幾個:pillowopencvmoviepypaddlehub>都可以直接用pip安裝:pip install pillowpip install opencv-pythonpip install moviepy其中OpenCV有一些適配問題,建議選取3.0以上版本。
  • 基於OpenCv 和 Python 的手指識別及追蹤
    翻譯 | 餘杭 Lamaric 校對 | 吳曉曼 審核 | 餘杭詳細代碼參考:https://github.com/amarlearning/opencv手指追蹤是許多計算機視覺應用的重要特徵。在該應用中,使用基於直方圖的方法將手與背景幀分離。