當前位置:首頁 » 編程語言 » c語言調用攝像頭win
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言調用攝像頭win

發布時間: 2023-07-15 16:00:10

c語言 C 獲取攝像頭的幾個簡單方法

網頁鏈接

這里有相關方法

㈡ 求C語言從攝像頭獲取數據的代碼

你到畫圖面版里把你的BMP圖打開,另存為的時候改成JPG格式,或者在你的電腦中打開文件夾選項把帶有後綴的文件名的勾去掉,在BMP的圖片後面更改成你需要的格式

㈢ c語言 與opencv相關程序出錯。

int
main(
int
argc,
char**
argv
)
{
//========================================================
//
CvCapture
是一個結構體,用來保存圖像捕獲所需要的信息。
//
opencv提供兩種方式從外部捕獲圖像,一種是從攝像頭中,一種
//
是通過解碼視頻得到圖像。兩種方式都必須從第一幀開始一幀一幀
//
的按順序獲取,因此每獲取一幀後都要保存相應的狀態和參數。
//
比如從視頻文件中獲取,需要保存視頻文件的文件名,相應的解碼器
//
類型,下一次如果要獲取將需要解碼哪一幀等。
這些信息都保存在
//
CvCapture結構中,每獲取一幀後,這些信息都將被更新,獲取下一幀
//
需要將新信息傳給獲取的api介面
//=======================================================
CvCapture*
capture
=
0;
//===========================================================
//
IplImage
是結構體類型,用來保存一幀圖像的信息,也就是一幀
//
圖像的所有像素值構成的一個矩陣
//===========================================================
IplImage
*frame,
*frame_
=
0;
//
創建一個窗口,用「result」作為窗口的標識符
cvNamedWindow(
"result",
1
);
//
==========================================
//
初始化一個視頻捕獲操作。
//
告訴底層的捕獲api我想從
Capture1.avi中捕獲圖片,
//
底層api將檢測並選擇相應的解碼器並做好准備工作
//==============================================
capture
=
cvCaptureFromFile("c:\\Capture1.avi")
//
如果
初始化失敗,那麼capture為空指針,程序停止,
//
否則進入捕獲循環
if(
capture
)
{
//
捕獲循環
for(;;)
{
//
調用cvGrabFrame,讓底層api解碼一幀圖像
//
如果解碼失敗,就退出循環
//
如果成功,解碼的圖像保存在底層api的緩存
if(
!cvGrabFrame(
capture
))
break;
//
將解碼得到圖像信息從緩存中轉換成IplImage格式放在frame中
frame
=
cvRetrieveFrame(
capture
);
//
如果獲取緩存或轉換失敗,則退出循環
if(
!frame
)
break;
//
將frame中的圖像信息在窗口result中顯示
cvShowImage(
"result",
frame
);
//
暫停一會兒,讓你看一下圖像
Sleep(66.9);
//
如果你敲了鍵盤,就退出程序,否則繼續捕獲下一幀
if(
cvWaitKey(
10
)
>=
0
)
break;
}
//
退出程序之前要清理一下堆棧中的內存,免得內存泄露
cvReleaseImage(
&frame_
);
//
退出之前結束底層api的捕獲操作,免得它們占著茅坑不拉屎
//
比如會使得別的程序無法訪問已經被它們打開的文件
cvReleaseCapture(
&capture
);
}
cvDestroyWindow("result");
return
0;
}
夠清楚了吧,good
luck