1. 程式人生 > >“毛星雲OpenCV3程式設計入門之python實現”第三篇讀取視訊+呼叫攝像頭

“毛星雲OpenCV3程式設計入門之python實現”第三篇讀取視訊+呼叫攝像頭

1.6.1讀取視訊+呼叫攝像頭

# -*- coding: gbk -*-
__author__ = 'sunzhilong'

import cv2
#讀取視訊,以幀顯示
cap = cv2.VideoCapture("E:/Study/python/OpenCV_study/img/1.avi")

while(1):
	ret, frame = cap.read()
	cv2.imshow("capture" ,frame)
	if cv2.waitKey(50) & 0xFF == ord('q'):
		break
cap.release()
cv2.destroyAllWindows()
#呼叫攝像頭讀取視訊資訊 #讀取視訊,以幀顯示 cap = cv2.VideoCapture(0) while(1): ret, frame = cap.read() cv2.imshow("capture" ,frame) if cv2.waitKey(50) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()

原書中C++程式碼:


//--------------------------------------【程式說明】-------------------------------------------
// 程式說明:《OpenCV3程式設計入門》OpenCV3版書本配套示例程式06 // 程式描述:使用VideoCapture類進行視訊讀取和播放 // 開發測試所用作業系統: Windows 7 64bit // 開發測試所用IDE版本:Visual Studio 2010 // 開發測試所用OpenCV版本: 3.0 beta // 2014年11月 Created by @淺墨_毛星雲 // 2014年11月 Revised by @淺墨_毛星雲 // 2015年11月 Second Revised by @淺墨_毛星雲 //------------------------------------------------------------------------------------------------
//---------------------------------【標頭檔案、名稱空間包含部分】---------------------------- // 描述:包含程式所使用的標頭檔案和名稱空間 //------------------------------------------------------------------------------------------------- #include <opencv2\opencv.hpp> using namespace cv; //-----------------------------------【main( )函式】-------------------------------------------- // 描述:控制檯應用程式的入口函式,我們的程式從這裡開始 //------------------------------------------------------------------------------------------------- int main( ) { //【1】讀入視訊 VideoCapture capture("1.avi"); //【2】迴圈顯示每一幀 while(1) { Mat frame;//定義一個Mat變數,用於儲存每一幀的影象 capture>>frame; //讀取當前幀 //若視訊播放完成,退出迴圈 if (frame.empty()) { break; } imshow("讀取視訊",frame); //顯示當前幀 waitKey(30); //延時30ms } //【1】從攝像頭讀入視訊 VideoCapture capture(0); //【2】迴圈顯示每一幀 while(1) { Mat frame; //定義一個Mat變數,用於儲存每一幀的影象 capture>>frame; //讀取當前幀 imshow("讀取視訊",frame); //顯示當前幀 waitKey(30); //延時30ms } return 0; }