關于opencv
OpenCV 是 Intel 開源計算機視覺庫 (Computer Version) 。它由一系列 C 函數和少量 C++ 類構成,實現了圖像處理和計算機視覺方面的很多通用算法。
OpenCV 擁有包括 300 多個 C 函數的跨平臺的中、高層 API 。它不依賴于其它的外部庫 —— 盡管也可以使用某些外部庫。 OpenCV 對非商業應用和商業應用都是免費 的。同時 OpenCV 提供了對硬件的訪問,可以直接訪問攝像頭,并且 opencv 還提供了一個簡單的 GUI(graphics user interface) 系統 :highgui 。 我們就通過 OpenCV 提供的一些方法來構造出這個人臉檢測 ( face detection ) 程序來。
opencv的python包裝
OpenCV 本身是有 C/C++ 編寫的,如果要在其他語言中使用,我們可以通過對其動態鏈接庫文件進行包裝即可,幸運的是, Python 下有很多個這樣的包裝,本文中使用的是 Cvtypes 。
事實上,在 Python 中很多的包都是來自第三方的,比如 PIL(Python Image Library) 即為 C 語言實現的一個圖形處理包,被包裝到了 Python 中,這些包裝可以讓你像使用 Python 的內建函數一樣的使用這些 API 。
這個例子使用python編程:用opencv按一定間隔截取視頻幀,并保存為圖片。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import cv2 vc = cv2.VideoCapture( 'Test.avi' ) #讀入視頻文件 c = 1 if vc.isOpened(): #判斷是否正常打開 rval , frame = vc.read() else : rval = False timeF = 1000 #視頻幀計數間隔頻率 while rval: #循環讀取視頻幀 rval, frame = vc.read() if (c % timeF = = 0 ): #每隔timeF幀進行存儲操作 cv2.imwrite( 'image/' + str (c) + '.jpg' ,frame) #存儲為圖像 c = c + 1 cv2.waitKey( 1 ) vc.release() |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。