版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、opencv的典型基礎(chǔ)應(yīng)例(附源碼和解釋)2.1-1彩標(biāo)追蹤: Camshiftint vmin = 10, vmax = 256, smin = 30;/ User draws box around object to track. This triggers CAMShift to start trackingstatic void onMouse(int event, int x, int y, int, void*)if (selectObject)switch (event)case EVENT_LBUTTONDOWN:origin = Point(x, y);selection =
2、 Rect(x, y, 0, 0);selectObject = true;break;case EVENT_LBUTTONUP:selectObject = false;if (selection.width 0 & selection.height 0)trackObject = -1; / Set up CAMShift properties in main() loopbreak;tb - switch to/from backprojection viewnth - show/hide object histogramntp - pause videonTo initialize t
3、racking, select the object with mousen;static void help(const char* argv)static void help(const char* argv)cout nThis is a demo that shows mean-shift based trackingnThis reads from video camera (0 by default, or the camera number the user entersncout argv0 camera numbern;help h | | show help message
4、camera_number| 0 | camera number;int main(int argc, const char* argv)if (!cap.isOpened()help(argv);return -1;cout frame;if (frame.empty()int _vmin = vmin, _vmax = vmax;histimg = Scalar:all(0);for (int i = 0; i hsize; i+)for (int i = 0; i hsize; i+)int val = saturate_cast(hist.at(i) * histimg.rows /
5、255);rectangle(histimg, Point(i * binW, histimg.rows),Point(i + 1) * binW, histimg.rows - val),Scalar(buf.at(i), -1, 8);/ Perform CAMShiftint cols = backproj.cols, rows = backproj.rows, r = (MIN(cols, rows) + 5) / 6;trackWindow = Rect(trackWindow.x - r, trackWindow.y - r,trackWindow.x + r, trackWind
6、ow.y + r) &Rect(0, 0, cols, rows);if (backprojMode)cvtColor(backproj, image, COLOR_GRAY2BGR);ellipse(image, trackBox, Scalar(0, 0, 255), 3, LINE_AA);case c:elsedefault:;return 0;法:根據(jù)標(biāo)框選區(qū)域的度光譜來進(jìn)攝像頭讀的視頻標(biāo)的跟蹤算法:Camshift算法(被稱為:連續(xù)適應(yīng)的MeanShift算法)2.1-2 光流 optical flow前圖像分析的重要法光流來表圖像中模式的運(yùn)動(dòng)速度2.1-3 點(diǎn)追蹤 lkdemot
7、r - auto-initialize trackingntc - delete all the pointsntn - switch the night mode on/offntn - switch the night mode on/offnstatic void onMouse( int event, int x, int y, int /*flags*/, void* /*param*/ )if( event = EVENT_LBUTTONDOWN )help();if( input.size() = 1 & isdigit(input0) )cap.open(input0 - 0)
8、;elsecap.open(input);if( !cap.isOpened() )cout Could not initialize capturing.n;namedWindow( LK Demo, 1 );setMouseCallback( LK Demo, onMouse, 0 );Mat gray, prevGray, image, frame;vector points2;for(;)frame.copyTo(image);cvtColor(image, gray, COLOR_BGR2GRAY);goodFeaturesToTrack(gray, points1, MAX_COU
9、NT, 0.01, 10, Mat(), 3, 3, 0, 0.04);cornerSubPix(gray, points1, subPixWinSize, Size(-1,-1), termcrit);for( i = k = 0; i points1.size(); i+ )circle( image, points1i, 3, Scalar(0,255,0), -1, 8);if( addRemovePt & points1.size() (size_t)MAX_COUNT )cornerSubPix( gray, tmp, winSize, Size(-1,-1), termcrit)
10、;points1.push_back(tmp0);addRemovePt = false;needToInit = false;imshow(LK Demo, image);char c = (char)waitKey(10);case r:case c:case n:std:swap(points1, points0);cv:swap(prevGray, gray);使說明:按r啟動(dòng)動(dòng)點(diǎn)追蹤2.1-4臉識別 objectDetectionint main( int argc, const char* argv )CommandLineParser parser(argc, argv,help
11、 h|face_cascade|data/haarcascades/haarcascade_frontalface_alt.xml|Path to face cascade.parser.about( nThis program demonstrates using the cv:CascadeClassifier class to detect objects (Face + eyes) in a video stream.nYou can use Haar or LBP features.nn );parser.printMessage();String face_cascade_name
12、 = samples:findFile( parser.get(face_cascade) );String eyes_cascade_name = samples:findFile( parser.get(eyes_cascade) );/- 1. Load the cascadesif( !face_cascade.load( face_cascade_name ) )cout -(!)Error loading face cascaden;return -1;if( !eyes_cascade.load( eyes_cascade_name ) )cout -(!)Error loadi
13、ng eyes cascaden;int camera_device = parser.get(camera);VideoCapture capture;/- 2. Read the video streamcapture.open( camera_device );if ( ! capture.isOpened() )Mat frame;cout -(!) No captured frame - Break!n;break;/- 3. Apply the classifier to the framedetectAndDisplay( frame );/* function detectAn
14、dDisplay */void detectAndDisplay( Mat frame )for ( size_t i = 0; i faces.size(); i+ )Point center( facesi.x + facesi.width/2, facesi.y + facesi.height/2 );ellipse( frame, center, Size( facesi.width/2, facesi.height/2 ), 0, 0, 360, Scalar( 255, 0, 255 ), 4 );Mat faceROI = frame_gray( facesi );/- In each face, detect eyesstd:vector eyes;eyes_cascade.detectMultiScale( faceROI, eyes );for ( size_t j = 0; j eyes.size(); j+ )Point eye_center( facesi.x + eyesj.x + eyes
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年三季度報(bào)天津地區(qū)A股資產(chǎn)總計(jì)排名前十大上市公司
- 課題申報(bào)參考:家庭與政府養(yǎng)老互動(dòng)視角下養(yǎng)老保險(xiǎn)改革的經(jīng)濟(jì)影響與政策優(yōu)化研究
- 2025年兩個(gè)責(zé)任學(xué)習(xí)心得樣本(4篇)
- 基于2025年度標(biāo)準(zhǔn)的智能交通系統(tǒng)設(shè)計(jì)與施工勞務(wù)分包合同
- 2025年個(gè)人數(shù)據(jù)安全保密與風(fēng)險(xiǎn)評估合同3篇
- 二零二五版網(wǎng)絡(luò)安全評估與整改服務(wù)合同2篇
- 基于2025年度市場預(yù)測的商品銷售框架協(xié)議3篇
- 2024系統(tǒng)采購合同
- 2024珠寶玉器買賣合同
- 2025版酒店客房裝修與綠色環(huán)保材料使用合同3篇
- 不同茶葉的沖泡方法
- 光伏發(fā)電并網(wǎng)申辦具體流程
- 建筑勞務(wù)專業(yè)分包合同范本(2025年)
- 企業(yè)融資報(bào)告特斯拉成功案例分享
- 五年(2020-2024)高考地理真題分類匯編(全國版)專題12區(qū)域發(fā)展解析版
- 《阻燃材料與技術(shù)》課件 第8講 阻燃木質(zhì)材料
- 低空經(jīng)濟(jì)的社會(huì)接受度與倫理問題分析
- 法考客觀題歷年真題及答案解析卷一(第1套)
- 央國企信創(chuàng)白皮書 -基于信創(chuàng)體系的數(shù)字化轉(zhuǎn)型
- 6第六章 社會(huì)契約論.電子教案教學(xué)課件
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件
評論
0/150
提交評論