opencv學習筆記(七)從電腦攝像頭讀入資料

2021-07-25 14:59:15 字數 1340 閱讀 7776

#include"highgui.h"

#include"cv.h"

//從攝像頭中讀入資料

int main(int argc,char** argv)

//注:《學習opencv》中此處用cvcreatecameracapture為錯

else

assert(capture!=null);  

//斷言(assert)使用,檢查capture是否為空指標,為假時程式退出,並列印錯誤訊息 

iplimage* frame;

while(1)

cvreleasecapture(&capture);//釋放記憶體

cvdestroywindow("example1");

cvcapture *cvcapturefromcam( int index );

index:要使用的攝像頭索引。如果只有乙個攝像頭或者用哪個攝像頭也無所謂,那使用引數-1應該便可以。

一般index=0

我試了下,隨便寫個數都可以——可能是因為只有乙個攝像頭的緣故。

首先說明一下:什麼是命令列

dos系統下,輸入要執行的程式名,再輸入引數:

program pram1 pram2...

argc 為 引數個數

+1

argv[0] 為

"program "

argv[1] 為

"pram1 "

——argv[1]就是第乙個引數

argv[2] 為

"pram2 "

命令列

就是原來稱之為「dos

」的操作方式。那時的程式執行不像現在只需點點滑鼠,而是需要在提示符下鍵入命令的,這種操作方式就叫做命令列。

當windows95以後,

dos就退居二線了,在

win9x

下點「開始-程式

-msdos

方式」、

win2000/xp/2003

下在「開始

-執行」視窗中輸入「

cmd」命令,就可以進入

dos視窗,執行行命令方式。

其實,在「開始-

執行」中鍵入命令的方式,本身就是一種行命令方式。

總結一下:argv[1]就是程式執行時傳入的第乙個引數。

這裡為什麼是(argv[1])呢?

我試了下,寫成argv[i]都可以,但是不可以寫成 capture=cvcreatefilecapture(),裡面必須有乙個為引數,否則提示出錯。

OpenCV學習筆記之七

iplimage cvloadimage const char filename,int flags cv load image color 第二個引數 flags 的選擇有三個,cv load image color 預設 1 以三通道彩色影象顯示。原圖若是gary,原來的某點畫素值,複製到bgr...

學習筆記 從MATLAB到OpenCV

2.用到的一些函式 最近需要將matlab中的 轉為c 主要依靠opencv3.1.0庫實現,於是在此記錄用到的一些操作,主要包括mat和一些函式的使用方法,希望可以方便後邊回顧。與matlab中變數聯絡最為緊密的就是opencv中的mat型變數了,該變數是 影象的容器 亦可視為矩陣對待。using...

OpenCV學習筆記七 關於Mat類

1 建立乙個mat物件僅僅是建立了資訊頭部分,並沒有複製影象矩陣,而是通過矩陣指標指向某一位址而實現。eg mat a,c 僅建立資訊頭部分 mat b a 使用拷貝建構函式 c a 賦值運算子 以上建立的所有mat物件最終都指向同乙個也是唯一的乙個資料矩陣。雖然資訊頭不同,但是通過任何乙個物件所做...