


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
OpenCV控制攝像頭實現(xiàn)
拍照功能注意注釋局部,其中使用的比擬生疏的API包括
cvPyrDown
,
cvCreateCameraCapture以及
cvCopy
和
cvSaveImage下面就來一一解釋這幾個API的具體使用:void
cvPyrDown(constCvArr*src,CvArr*dst,intfilter=CV_GAUSSIAN_5x5);其中src為CvArr*類型,這里順便解釋一下OpenCV根本上是用C實現(xiàn)的,當(dāng)然其中包括一定的C++成分,但是OpenCV中仍然也使用了面向?qū)ο蟮乃枷?,即有以下的繼承關(guān)系:所以在實際使用當(dāng)中,完全可以使用〞子類〞CvMat或者是IplImage來代替CvArr,也就是說在參數(shù)中完全可以傳入一個IplImage類型,src代表的就是源圖像,即傳入函數(shù)的圖像,而dst那么是輸出圖像,即縮放一倍后的圖像,但是需要注意的是,在這里傳入的dst圖像必須是在初始化以后才能傳入,對于這一點,在下面的Demo中可以看到。而至于卷積濾波器的類型那么一般采用默認(rèn)類型即可。CvCapture*
cvCreateCameraCapture(intindex);大伙應(yīng)該還記得
cvCreateFileCapture
這個函數(shù)嗎?其實對于
cvCreateFileCapture
來說,其是根據(jù)一個指定的視頻文件來初始化,而對于
cvCreateCameraCapture
那么不同,其是通過初始化一個視頻設(shè)備(也可以看做就是一個攝像頭),初始化以后,便可以從這個攝像設(shè)備中獲取視頻了。至于參數(shù)index的話,如果您的電腦上連接了多個攝像設(shè)備,那么需要通過這個
index
來指定到底要使用哪一個攝像頭。void
cvCopy(constCvArr*src,CvArr*dst,constCvArr*mask=NULL);這個函數(shù)的作用是拷貝一個數(shù)組到另一個數(shù)組,而根據(jù)前面的繼承關(guān)系,IplImage
繼承自
CvMat,而CvMat又是繼承于
CvArr,所以在此處可以直接傳入一個
IplImage
來實現(xiàn)拷貝,很明顯,src是傳入的數(shù)組,而dst那么是復(fù)制完成后返回的結(jié)果數(shù)組,而至于mask這個數(shù)組呢,比擬變態(tài),它指定了數(shù)組src中哪些元素需要拷貝到dst數(shù)組中,哪些元素不能夠拷貝到dst數(shù)組中,mask數(shù)組中標(biāo)記為非0的那么可以拷貝到dst中,標(biāo)記為0的那么不會拷貝到dst數(shù)組當(dāng)中去。這里需要注意的是,dst數(shù)組和src數(shù)組必須是相同的類型,并且具有相同的維數(shù)和大小,否那么整個程序會崩潰。int
cvSaveImage(constchar*filename,constCvArr*image);這個函數(shù)的作用很明顯,即保存圖片到文件,而至于保存的圖片的文件那么看
filename
這個參數(shù)指定的后綴名是什么了。[cpp]viewplaincopyprint?#include
"stdafx.h"#include"cv.h"#include"highgui.h"#include"stdio.h"http://
實現(xiàn)將拍下來的圖片縮放一倍IplImage*
DoPyrDown(IplImage*
image,
int
filter
=
IPL_GAUSSIAN_5x5)
{
//
設(shè)置大小縮小一倍
CvSize
size
=
cvSize(image->width
/
2,image->height
/
2);
//初始化圖片
IplImage*
outImage
=
cvCreateImage(size,image->depth,image->nChannels);
//實現(xiàn)縮放
cvPyrDown(image,outImage);
cvReleaseImage(&image);
return
outImage;
}
int
main(int
argc,
char**
argv)
{
cvNamedWindow("vedio");
CvCapture*
capture;
//
首先是要通過攝像設(shè)備來得到一個CvCapture對象if(1
==
argc)
{
capture
=
cvCreateCameraCapture(0);
}
else
{
capture
=
cvCreateCameraCapture(atoi(argv[1]));
}
assert(NULL
!=
capture);
IplImage*
frame;
char
keyCode;
//
每隔30ms捕捉一次視頻圖像//
可以設(shè)為while(1)
使得實時捕捉視頻畫面while((keyCode
=
cvWaitKey(30)))
{
//表示按下了ESC鍵,退出if(keyCode
==
27)
{
break;
}
//表示按下了回車鍵,此時應(yīng)當(dāng)保存照片if(keyCode
==
13)
{
//初始化一張圖片
IplImage*
outImage
=
cvCreateImage(cvGetSize(frame),frame->depth,frame->nChannels);
//
將原圖拷貝過來
cvCopy(frame,outImage,NULL);
//實現(xiàn)縮放操作
outImage
=
DoPyrDown(outImage);
//設(shè)置保存的圖片名稱和格式char*
outImageName
=
"test.jpg";
//保存圖片
cvSaveImage(outImageName,outImage);
cvReleaseImage(&outImage);
printf("
恭喜你,保存圖片成功!\n");
}
//
得到攝像設(shè)備的下一幀圖像
frame
=
cvQueryFrame(capture);
if(!frame)
{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題開題報告:道德與法治課培育學(xué)生核心素養(yǎng)研究
- 課題開題報告:大學(xué)生學(xué)習(xí)特點與學(xué)習(xí)評價研究
- 課題開題報告:大思政下立德樹人的育人模式研究
- 課題開題報告:從族別到中華民族共同體:我國民族傳統(tǒng)體育研究范式的新時代重構(gòu)研究
- 課題開題報告:初中階段拔尖創(chuàng)新人才的識別與培養(yǎng)研究
- 全棉褲企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 二零二五年度農(nóng)村房產(chǎn)買賣合同(含農(nóng)業(yè)用地租賃權(quán))
- 酸性粒子元青企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 2025年度跨區(qū)域借調(diào)人員管理與協(xié)作協(xié)議
- 臨床試驗受試者招募與管理企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費管理工作指引》專題講座
- 龍門吊安裝及拆除安全專項施工方案
- 2024年江蘇省中小學(xué)生金鑰匙科技競賽(高中組)考試題庫(含答案)
- 理療課件教學(xué)課件
- 2024解析:第十二章滑輪-講核心(解析版)
- 《非精密進(jìn)近》課件
- 人教PEP版(一起)(2024)一年級上冊英語全冊教案(單元整體教學(xué)設(shè)計)
- 2024 年下半年數(shù)學(xué)一年級數(shù)學(xué)思維挑戰(zhàn)試卷
- 網(wǎng)絡(luò)試運(yùn)行方案
- 艾滋病信息管理制度
- 語文修改語病-五年(高考2020至2024)修改病句真題詳盡解析
評論
0/150
提交評論