基于計算機(jī)視覺虛擬鼠標(biāo)設(shè)計_第1頁
基于計算機(jī)視覺虛擬鼠標(biāo)設(shè)計_第2頁
基于計算機(jī)視覺虛擬鼠標(biāo)設(shè)計_第3頁
基于計算機(jī)視覺虛擬鼠標(biāo)設(shè)計_第4頁
基于計算機(jī)視覺虛擬鼠標(biāo)設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1.1背景研究1.2研究意義1.2研究現(xiàn)狀1.4研究成果2.4階段 第一部分:研究綜鼠標(biāo),又稱為識,只不過不需要專業(yè)頭,僅僅通過現(xiàn)在筆記本自帶的頭即可實現(xiàn)。由于時間有限,本次研究當(dāng)中所取得的成果和設(shè)計出的模型是使用某單塊作為特征識別物,利用計算機(jī)大有提高,亦有望解決1.2中所述的諸多實際問題。第二部分研究步驟VisualStudio2012OpenCV3.0開源庫,實立了一個簡單的人機(jī)交互系統(tǒng)?;谟嬎銠C(jī)視覺的手勢與識別流程圖見圖1-1。表示所研究的對象。輸入對象的信息是二維圖像,可以用矩陣MAT或IplImage類來表示二31、獲得判斷色塊的閾值數(shù)據(jù)不便。采用6組滑條,分別控制HSV的最大最小值,并放棄了該設(shè)計方案。但提出了使用MFC并占用一個不常用按鍵的解決思路。第一次測

桌子 桌子 尺子 尺子.regline1Y1of F(ProbF=R-=AdjR-=Root=t[95%-.---.R- F(1,ProbofF(1,ProbofF====R-AdjR-11t[95%-.---.R- .regline4Y1.=F(ProbF==.R-=AdjR-=Root=t[95%-.---.R- F(ProbF(ProbofF=====R-AdjR-11.t[95%-.---.R- (1)桌上實驗,前三次實驗中平均=(2)尺上實驗,后兩次實驗中平均結(jié)論=<后兩次尺上實驗表明,xy成高度線性關(guān)系,R^2=0.99991,鼠標(biāo)“走直線”性能手拿245.00250.00255.00260.00265.00270.00275.00280.00285.00手2 結(jié)論:20*20個像素點內(nèi),其大小和一個圖標(biāo)大小相當(dāng),做一般的操作還第三部分研究結(jié)論第四部分組員的合作分方論,圖別代,第五部分原始數(shù)據(jù)和參考文獻(xiàn)附錄一#include<iostream>#include"cv.h"#include"highgui.h"#include"c.h"usingnamespacestd;#include"opencv2/opencv.hpp"#include<afx.h>usingnamespacevoidAreaExtract(intpos);//色塊提取函數(shù)intFirstUse(void);//初始化函數(shù)voidmousecontral(CvBox2Dbox,doublesarea);//鼠標(biāo)控制函數(shù)intUse(void);//實際使用函數(shù)Matframe,Area;//原始圖像和提取的圖intintflag1=0;intinttimeremin=0,mark=0,mark2=0;//timeremin,markdoubles;doublethet;POINTpt_pre,pt_fix,pt_curintmain(intargc,char* {charflag;printf("歡迎使 鼠標(biāo)軟件\n是否繼續(xù){else{return0;{}}printf(Mattip;if(tip.empty()){cout<<"error";return-1;} 按任意鍵繼續(xù)");tip=imread("3.jpg");if(tip.empty()){cout<<"error";return-1;} return0;}}int{FILE*fp;//文件操作,初始化數(shù)據(jù)doublesarea=0;printf("cannotopendata\nPleasetryagain!\n");fscanf(fp,"%d%d%d%d%d%d%lf\n",&hmix,&hmax,&smix,&smax,&vmixCapture // if {return-1;}while //并處理頭來的圖{capture>>frame;ifArea.create(frame.rows,frame.cols,CV_8UC1);//將區(qū)域的信息result=&IplImage(Area);//數(shù)據(jù)類型轉(zhuǎn)換,將mat轉(zhuǎn)換為//cvNamedWindow("Contour",//cvShowImage("Contour",result);IplImage*dst=NULL;CvMemStorage*storage1=cvCreateMemStorage(0);CvMemStorage*storage2=cvCreateMemStorage(0);CvSeq*contour1=0;CvSeq*contour2=0;intcontours1=0;intcontours2=0;CvScalarexternal_color;CvScalarhole_color;CvBox2Dbox;dstcvCreateImage(cvGetSize(result),result->depth,result->nChannels);//初始化contours1=cvFindContours(result,storage1,&contour1,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_NONE);doublefor(;contour1!=0;contour1=contour1-{}contours2=cvFindContours(result,storage2,&contour2,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_NONE);for(;contour2!=0;contour2=contour2-{{0,2,

external_color=CV_RGB(rand()&255,rand()&255,hole_color=CV_RGB(rand()&255,rand()&255,rand()&255);box=cvMinAreaRect2(contour2);CvPoint2D32fpoint[4];inti;for(i=0;i<4;{point[i].x=point[i].y=}cvBoxPoints(box,point);CvPointpt[4];for(i=0;i<4;{pt[i].x=pt[i].y=}cvLine(dst,pt[0],pt[1],CV_RGB(255,0,0),2,8,0cvLine(dst,pt[1],pt[2],CV_RGB(255,0,0),2,8,0cvLine(dst,pt[2],pt[3],CV_RGB(255,0,0),2,8,0cvLine(dst,pt[3],pt[0],CV_RGB(255,0,0),2,8,0}}cvNamedWindow("Contour",1); cvShowImage("Contour",dst);//imshow("show_img", // 的數(shù)if(cvWaitKey(20)==27)}return0;}int{Capture inti=0;doublesarea=0; if {return-1;}while //并處理頭來的圖{capture>>frame;if

rows,frame.cols,CV_8UC1);//將區(qū)域 信cvNamedWindow("參數(shù)設(shè)置,完成過后按Esc退出",1);IplImage*result;IplImage*dst;result=&IplImage(Area);//數(shù)據(jù)類型轉(zhuǎn)換,將mat轉(zhuǎn)換為CvMemStorage*storage1=cvCreateMemStorage(0);CvMemStorage*storage2=cvCreateMemStorage(0);CvSeq*contour1=0;CvSeq*contour2=0;intcontours1=0;intcontours2=0;CvScalarhole_color;CvBox2Dbox;dstcvCreateImage(cvGetSize(result),result->depth,result->nChannels);//初始化contours1=cvFindContours(result,storage1,&contour1,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_NONE);doublefor(;contour1!=0;contour1=contour1-{}contours2=cvFindContours(result,storage2,&contour2,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_NONE);for(;contour2!=0;contour2=contour2-{{

external_color=CV_RGB(rand()&255,hole_color=CV_RGB(rand()&255,rand()&255,rand()&255);cvDrawContours(dst,contour2,external_color,0,2,8);//box=cvMinAreaRect2(contour2);CvPoint2D32fpoint[4];inti;for(i=0;i<4;{point[i].x=point[i].y=}cvBoxPoints(box,point);CvPointpt[4];for(i=0;i<4;{pt[i].x=pt[i].y=}cvLine(dst,pt[0],pt[1],CV_RGB(255,0,0),2,8,0cvLine(dst,pt[1],pt[2],CV_RGB(255,0,0),2,8,0cvLine(dst,pt[2],pt[3],CV_RGB(255,0,0),2,8,0cvLine(dst,pt[3],pt[0],CV_RGB(255,0,0),2,8,0}}cvShowImage("參數(shù)設(shè)置,完成過后按Esc退出",if(cvWaitKey(20)==27)}FILE*fp;{printf("cannot}fprintf(fp,"%d%d%d%d%d%d%lf\n",hmix,hmax,smix,smax,vmix,vmareturn0;}voidAreaExtract(int{Mathsv;vector<Mat>cvtColor(frame,hsv,CV_BGR2HSV);split(hsv,planes);//運用迭代器矩陣元MatIterator_<uchar>it_s=planes[1].begin<uchar>(),it_s_end=planes[1].end<uchar>();MatIterator_<uchar>it_v=planes[2].begin<uchar>();MatIterator_<uchar>it_h=planes[0].begin<uchar>();MatIterator_<uchar>it_skin=Area.begin<uchar>();for(;it_s!=it_s_end;++it_v,++it_s,++it_h,{if(vmix<=*it_v&&*it_v<=vmax&&smix<=*it_s&&*it_ssmax&&hmix<=*it_h&&*it_h<=*it_skin=255;*it_skin=}(“斑點”噪聲dilate(Area,Area,Mat(5,5,CV_8UC1),Point(-1,-erode(Area,Area,Mat(5,5,CV_8UC1),Point(-1,-}voidmousecontral(CvBox2Dbox,double{{} %d\n",thet,timeremin);POINTmax;if(s>0.4*sarea||(timeremin>0)){{{{}}elseif(thet>(-70)&&thet<(-20))//{}}else{{{}{}}{{mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0}{mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0mouse_ev

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論