工作室課題小車走迷宮-大連民族大學_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、工作室課題小車走迷宮,大連民族學院 電工電子實驗教學中心,課題介紹,計算機控制小車推球(☆☆☆)利用計算機自動發(fā)布指令控制小車將物體推到指定位置攝像頭監(jiān)控小車位置,通過圖像處理,對小車發(fā)布運動指令。計算機與小車之間的通信為串行通信(有線)或無線方式小車已有,可根據需要改進并編寫控制程序計算機控制小車走迷宮(☆☆☆☆)計算機控制小車走出迷宮其他與“小車推球”類似小車自動走迷宮(☆☆☆☆☆☆)沒有計算機,全部利用小車上

2、的處理器進行控制需要良好的硬件及軟件能力,時間充裕兩組限制,現有資源介紹,1、小車照片,,2、迷宮的圖片,現有資源介紹,電腦鼠的相關比賽,2006國際電腦鼠邀請賽表演(新加坡)第三屆上海市嵌入式系統(tǒng)創(chuàng)新設計應用競賽”——暨“IEEE標準電腦鼠走迷宮”邀請賽(長三角地區(qū) ) http://www.micromouse.com.cn/,相關背景知識,,,,USB線,無線通訊,傳感或拍攝,迷宮,,通訊協(xié)議,本地控制,圖像識別,遠

3、程控制,,Software,,系統(tǒng)組成與信息流程,相關背景知識,系統(tǒng)基本框圖,相關背景知識,計算機控制小車走迷宮系統(tǒng)結構圖,技術難點,圖像實時采集圖像處理——預處理,形狀檢測,小車跟蹤,攝像機標定最優(yōu)線路生成閉環(huán)控制算法小車電機控制單片機編程、通信,相關背景知識,提供的材料,玩具小車一部,采用直流電機驅動。小車驅動電路板(89S52板+電機控制板各一)USB-RS232線纜一根無線模塊一對。,課程組織形式及要求,基本要求

4、,小車可根據需要自行改裝,如加裝標志物品,車牌號碼等(加分),但不得做破壞性設計(扣分)。運行過程中不得故意劇烈沖撞迷宮(扣分)??墒褂萌我廛浖M行算法設計,但不得完全采用市場上已有的現成的可執(zhí)行程序(即應能提供源代碼),軟件算法應能適應變化的迷宮。小車與計算機的通訊可采用RS232串行通信模式,亦可采用無線模塊。,課程組織形式及要求,組長負責制組長負責組內成員的管理,組內任務分配,組員的考核,與教師和助教的溝通組長負責

5、組員的管理與考核與教師和助教的溝通助教助教的作用在于解決實驗室安排、儀器使用問題,并提供宏觀的、經驗的指導,不能負責具體細節(jié)支持。每組分配一名對口助教,有問題可以先于對口助教聯系,其他助教亦可咨詢。教師總體支持,協(xié)調,課程組織形式及要求,成績組成,小組成績( 80% )  – 作品(40%)(外觀、功能、軟件及硬件的易操作性等)  – 報告 (30%)(完整性、合理性、可讀

6、性、可參考性等)  – 每周進度文檔(5%) – 對其他組的貢獻(5%)  個人成績( 20% )  – 組長及助教對組員的評價 (10 +5 ) – 論壇貢獻度 (5%) 個人突出貢獻加分( <10% ,總成績不超過100),課程組織形式及要求,課程進度,1-3周:分組,選題4-8周:查找資料,方案設

7、計,同時開設講座9-15周:制作,功能實現16周:驗收17周:完成課程設計報告,課程組織形式及要求,課程講座,圖像處理基礎及軟件包(OPEN CV)的使用初步Labview使用基礎LabWindows/CVI使用基礎微處理器89S52及其Keil C使用基礎,根據小組選題或個人興趣選擇參加,提前1-2周網上公布講座時間及具體內容,參加講座不計入平時成績。,課程組織形式及要求,OpenCV圖像處理包簡介,OpenCV圖像處理軟

8、件包簡介,課題中的成像系統(tǒng)要求,光源亮度要足夠、均勻成像的投影關系鏡頭聚焦使整個場景清晰,OpenCV圖像處理包簡介,OpenCV 介紹,OpenCV = Open Source Computer Vision LibraryOpenCV是跨平臺的函數庫,獨立于操作系統(tǒng)/硬件/圖形管理器,支持Windows和Linux環(huán)境OpenCV的開發(fā)目的是實時應用,代碼效率高,運算速度快OpenCV為Integrated Perform

9、ance Primitives (IPP) 提供了透明接口,OpenCV圖像處理包簡介,OpenCV的功能,圖像數據的操作 ( 分配、釋放、復制、設置和轉換)圖像是視頻的輸入輸出I/O (文件與攝像頭的輸入、圖像和視頻文件輸出) 矩陣和向量的操作以及線性代數的算法程序(矩陣積、解方程、特征值以及奇異值等) 各種動態(tài)數據結構(列表、隊列、集合、樹、圖等),OpenCV圖像處理包簡介,OpenCV的功能,基本的數字圖像處理(濾波、邊緣

10、檢測、角點檢測、采樣與差值、色彩轉換、形態(tài)操作、直方圖、圖像金字塔等)結構分析(連接部件、輪廓處理、距離變換、各自距計算、模板匹配、Hough變換、多邊形逼近、直線擬合、橢圓擬合、Delaunay 三角劃分等)攝像頭定標(發(fā)現與跟蹤定標模式、定標、基本矩陣估計、齊次矩陣估計、立體對應),OpenCV圖像處理包簡介,OpenCV的功能,運動分析(光流、運動分割、跟蹤)目標識別(特征法、隱馬爾可夫模型:HMM)基本的GUI (圖像與

11、視頻顯示、鍵盤和鼠標事件處理、滾動條)圖像標注(線、二次曲線、多邊形、畫文字),OpenCV圖像處理包簡介,OpenCV的模塊,CV,Highgui,CXCORE,,,CV:圖像處理、視覺算法CXCORE:基本數據結構、運算Highgui:GUI,圖像、視頻接口,OpenCV圖像處理包簡介,例程1,1. #include 2. #include 3. #include 4. int main( int argc, char*

12、* argv ) {5. CvPoint center;6. double scale=-3;7. IplImage* image = argc==2 ? cvLoadImage(argv[1]) : 0;8. if(!image) return -1;9. center = cvPoint(image->width/2,image->height/2);10. for

13、(int i=0;iheight;i++)11. for(int j=0;jwidth;j++) {12. double dx=(double)(j-center.x)/center.x;13. double dy=(double)(i-center.y)/center.y;14. double weight=exp((dx*dx+dy*dy)*scale)

14、;15. uchar* ptr = &CV_IMAGE_ELEM(image,uchar,i,j*3);16. ptr[0] = cvRound(ptr[0]*weight);17. ptr[1] = cvRound(ptr[1]*weight);18. ptr[2] = cvRound(ptr[2]*weight); }19. cv

15、SaveImage( “copy.png”, image );20. cvNamedWindow( "test", 1 );21. cvShowImage( "test", image );cvWaitKey();cvReleaseImage(&image);23. return 0; },IplImage結構:int nChannels:1、2、3、4通道

16、depth:IPL_DEPTH_8U,IPL_DEPTH_32Fint origin:0 - 頂—左結構, 1 - 底—左結構int width:圖像寬像素數int height:圖像高像素數int imageSize:圖像數據大小int widthStep:排列的圖像行大小,以字節(jié)為單位char * imageData:指向排列的圖像數據對一幅灰度圖象,nChannels為1,對RGB圖像nChannels為

17、3或者4;depth通常為IPL_DEPTH_8U,即8位整型。I(x,y)c ~ ((T*)(img->imageData + img->widthStep*y))[x*N + c]OpenCV定義宏:I(x,y)c ~ CV_IMAGE_ELEM( img, T, y, x*N + c ),OpenCV圖像處理包簡介,例程1,安裝OpenCV 1.0版,選擇注冊環(huán)境變量打開VS2005,創(chuàng)建項目,編寫代碼,設置

18、OpenCV的路徑編譯運行,OpenCV圖像處理包簡介,OpenCV與Windows位圖,OpenCV -> Bitmap:例程// 利用OpenCV打開圖像image = cvLoadImage("lena.bmp");// 將IplImage結構轉換為位圖hBitmap = IplImage2DIB(image);//顯示BitBlt (hdc, 0, 0, image-

19、>width, image->height, hdcMem, 0, 0, SRCCOPY) ;,Bitmap->OpenCV例程// 打開位圖dBitmap.DibLoadImage(hWnd, true);// 將位圖轉為IplImage結構hdc = GetDC(hWnd);hBmpApi = dBitmap.CreateDDB(hdc);imageApi = hBitmap2Ipl(h

20、BmpApi);ReleaseDC(hWnd, hdc);// 顯示cvNamedWindow("OpenCV", 1);cvShowImage("OpenCV", imageApi);,利用OpenCV的Highgui訪問圖像、視頻、攝像頭,直接獲取OpenCV格式的圖像數據,進行圖像處理,最后轉為位圖在VC++程序中顯示利用WinAPI或MFC訪問圖像、數據、攝像頭,再將獲取

21、的數據轉換為OpenCV格式,用OpenCV進行圖像處理,最后再將結果轉換為位圖在VC++程序中顯示,OpenCV圖像處理包簡介,例程2,OpenCV圖像處理包簡介,例程3,CvCapture* capture = 0;IplImage * frame;capture = cvCaptureFromCAM(1);cvNamedWindow( "OpenCV", 1 );if(capture) {while

22、(1) {if( !cvGrabFrame( capture )) break;frame = cvRetrieveFrame( capture );if( !frame ) break;cvShowImage("OpenCV", frame);if( cvWaitKey( 5 ) >= 0 )

23、 break;}cvReleaseImage( &frame );cvReleaseCapture( &capture );}cvDestroyWindow("OpenCV");,OpenCV圖像處理包簡介,課外作業(yè),熟悉OpenCV,了解CxCore,CV庫編寫一個WinAPI或MFC或OpenCV程序直接調用VFW,或者調用OpenCV采集攝像頭圖像,顯示在Win

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論