![手機(jī)照相對戰(zhàn)嵌入式課程設(shè)計(jì)報告_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd1.gif)
![手機(jī)照相對戰(zhàn)嵌入式課程設(shè)計(jì)報告_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd2.gif)
![手機(jī)照相對戰(zhàn)嵌入式課程設(shè)計(jì)報告_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd3.gif)
![手機(jī)照相對戰(zhàn)嵌入式課程設(shè)計(jì)報告_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd4.gif)
![手機(jī)照相對戰(zhàn)嵌入式課程設(shè)計(jì)報告_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/22/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd/31576a80-63bc-4c40-a64b-9ca4e8ad1cfd5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科學(xué)生課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目嵌入式系統(tǒng)課程設(shè)計(jì)學(xué)院計(jì)算機(jī)學(xué)院專業(yè)計(jì)算機(jī)網(wǎng)絡(luò)工程年級2008已知參數(shù)和設(shè)計(jì)要求:1、 通過嵌入式系統(tǒng)課程設(shè)計(jì),了解使用底層api訪問手機(jī)硬件及手機(jī)上的各種傳感器。2、 掌握獲取手機(jī)上電話、短信、攝像頭等各種功能的編寫。.3、 掌握利用android平臺人臉識別功能的使用。要求每組學(xué)生(3-4人/組)設(shè)計(jì)一套android手機(jī)對戰(zhàn)游戲。游戲進(jìn)行時,通過使用手機(jī)攝像頭拍照捕捉人臉,記錄成功捕捉并識別人臉的次數(shù)。要求學(xué)生獨(dú)立完成系統(tǒng)的功能設(shè)計(jì)和實(shí)現(xiàn),使所實(shí)現(xiàn)的系統(tǒng)可以能夠包含主要的內(nèi)容要求,并要求學(xué)生必須在報告中明確具體分工情況。學(xué)生應(yīng)完成的工作:分組 3-4人/
2、組。語言:java。 內(nèi)容:android手機(jī)對戰(zhàn)游戲開發(fā)。包括但不限于:1) 使用android手機(jī)平臺攝像頭功能的實(shí)現(xiàn);2) 使用android平臺人臉識別功能的實(shí)現(xiàn);目前資料收集情況(含指定參考資料):1) android應(yīng)用開發(fā)揭秘 楊豐盛 機(jī)械工業(yè)出版社 2010年3月2) android核心技術(shù)與實(shí)例詳解 吳亞峰 電子工業(yè)出版社 2010年10月課程設(shè)計(jì)的工作計(jì)劃:1需求分析(說明系統(tǒng)目的,要求,操作流程,開發(fā)工具與開發(fā)平臺)2總體設(shè)計(jì)(描述系統(tǒng)功能,系統(tǒng)架構(gòu),模塊化分)3詳細(xì)設(shè)計(jì)(建立系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),協(xié)議結(jié)構(gòu),數(shù)據(jù)流程圖)4系統(tǒng)實(shí)現(xiàn)編碼(用所選開發(fā)工具完成應(yīng)用系統(tǒng))課程設(shè)計(jì)任務(wù)分
3、工:李?。喝四樧R別函數(shù)(該函數(shù)并非調(diào)用,是自己原創(chuàng))黃進(jìn):手機(jī)攝像功能調(diào)用,設(shè)計(jì)報告王博君:sd卡文件操作,設(shè)計(jì)報告任務(wù)下達(dá)日期 2011 年 6 月 20 日完成日期 2011 年 6 月 24 日指導(dǎo)教師 (簽名)學(xué) 生 李健,黃進(jìn),王博君 說明:1、學(xué)院、專業(yè)、年級均填全稱,如:光電工程學(xué)院、測控技術(shù)、2003。2、本表除簽名外均可采用計(jì)算機(jī)打印。本表不夠,可另附頁,但應(yīng)在頁腳添加頁碼。正文目錄摘要及關(guān)鍵詞61 需求分析7 1.1系統(tǒng)目的7 1.2 系統(tǒng)要求7 1.3操作流程7 1.4 開發(fā)工具與開發(fā)平臺. .82 總體設(shè)計(jì). . . . . . . . . . . . . . . .
4、. . .8 2.1 系統(tǒng)功能描述.8 2.2 系統(tǒng)模塊劃分10 2.3 系統(tǒng)程序流圖103 詳細(xì)設(shè)計(jì)113.1系統(tǒng)數(shù)據(jù)結(jié)構(gòu)11 4系統(tǒng)實(shí)現(xiàn)編碼12 4.1 圖像建模函數(shù).12 4.2 攝像功能函數(shù)調(diào)用.13 5 測試結(jié)果 . . 16 6 實(shí)驗(yàn)總結(jié) . . . 177 參考文獻(xiàn) . . . 17摘要隨著信息化,智能化,網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得廣闊的發(fā)展空間。進(jìn)入20世紀(jì)90年代,嵌入式技術(shù)全面展開,目前已成為通信和消費(fèi)類產(chǎn)品的共同發(fā)展方向。android是基于linux開放性內(nèi)核的操作系統(tǒng),是google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)。目前已獲得大部分市場。本次嵌入
5、式課程設(shè)計(jì),要求使用java語言基于android平臺完成一個手機(jī)對戰(zhàn)游戲開發(fā),主要要完成利用攝像頭獲取照片,然后對照片進(jìn)行人臉識別,并統(tǒng)計(jì)識別出的人臉的個數(shù)并通知用戶。通過完成此次課程設(shè)計(jì),我們了解了使用底層api訪問手機(jī)硬件及手機(jī)上的各種傳感器,掌握獲取手機(jī)上電話、短信、攝像頭等各種功能的編寫。同時,我們還自己設(shè)計(jì)了人臉識別函數(shù)以及計(jì)分函數(shù),完成游戲勝負(fù)的判定。整過過程,在eclipse集成開發(fā)環(huán)境中編寫程序代碼,利用android模擬器進(jìn)行調(diào)試測試。關(guān)鍵詞:android 底層api 傳感器 人臉識別 一.需求分析1.1 系統(tǒng)目的本系統(tǒng)要求使用java語言基于android平臺完成一個對
6、戰(zhàn)游戲開發(fā),主要要完成利用攝像頭獲取照片,然后對照片進(jìn)行人臉識別,并統(tǒng)計(jì)識別出的人臉的個數(shù)并通知用戶。1.2 系統(tǒng)要求1. 獲取攝像頭詳細(xì)信息和圖片信息。2. 對圖片信息進(jìn)行人臉識別。3. 如果識別成功則記錄相應(yīng)分?jǐn)?shù),表示“擊中”。4. 游戲結(jié)束根據(jù)分?jǐn)?shù)高低結(jié)算游戲。1.3 操作流程進(jìn)入游戲界面如下:點(diǎn)擊確定,開始攝像頭,轉(zhuǎn)到下一界面:點(diǎn)擊計(jì)算結(jié)果,獲得結(jié)果:1.4 開發(fā)工具與開發(fā)平臺開發(fā)工具:使用eclipse集成開發(fā)環(huán)境,并在其中安裝adt開發(fā)工具。開發(fā)平臺:android開發(fā)平臺。二.總體設(shè)計(jì)2.1 描述系統(tǒng)功能利用手機(jī)的攝像頭,進(jìn)行該多人對戰(zhàn)游戲。玩家利用手機(jī)攝像頭捕捉對方臉部信息,并
7、拍照存檔于sd卡中。照片的文件名以“人臉個數(shù)+當(dāng)前系統(tǒng)時間”進(jìn)行命名,以避免重復(fù)。系統(tǒng)分析照片中捕捉到的人臉個數(shù),調(diào)用相應(yīng)的計(jì)分函數(shù),進(jìn)行計(jì)分統(tǒng)計(jì)。最后通過分?jǐn)?shù)高低,決定玩家的勝負(fù)。系統(tǒng)中設(shè)定的計(jì)分函數(shù)為f(x)=x2 。2.2系統(tǒng)功能模塊劃分拍照對戰(zhàn)游戲拍照照片存儲識別計(jì)分自 動 調(diào) 焦設(shè) 定 拍 照 鍵sd 卡 的 判 定文 件 命 名 規(guī) 則人 臉 識 別計(jì) 分 規(guī) 則 設(shè) 計(jì)人臉識別并計(jì)分顯示是否繼續(xù)開始起始頁拍攝照片sd卡空間判定sd卡是否存在顯示照片等待識別請插入sd卡請刪除一些內(nèi)容返回結(jié)束nynyyn2.3 系統(tǒng)程序流程圖三.詳細(xì)設(shè)計(jì)3.1 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)public class
8、gameragame extends activity /* called when the activity is first created. */camera camera; /cameraprivate camerapreview preview; /camera viewprivate date today; /datetime private string filename; / file nameprivate simpledateformat sdf=new simpledateformat(yyyymmddhhmmss);private button surebtn; /su
9、re buttonprivate imageview textview; public class photoview extends activity private static imageswitcher mswitcher;private static button returnbutton;private static button nextbutton;private static button resultbutton;private static list pholist;private string newfilepath=;static list picfiles=new
10、arraylist();private imageview imageview;private imageview imageafter;private static int picid=0;private string path;private bitmap sourcebmp;private byte data;int width;int height;int num;/讀取圖像文件private boolean facemodel(int cr,int cb) final double cx= 114.38; /cb的系數(shù)常量 final double cy=160.02;/cr的系數(shù)常
11、量 final double theta= 2.53;/角度常量 final double ecx=1.60;/x軸線和y軸線的兩個常量 final double ecy=2.41; final double a=25.39;/長軸 final double b=14.03;/短軸 final double judge=0.5;/相似度常量 /計(jì)算得到x軸數(shù)值 double x = math.cos(theta)*(cb-cx)+math.sin(theta)*(cr-cy); /y軸數(shù)值 double y = -math.sin(theta)*(cb -cx)+math.cos(theta)
12、*(cr-cy); /計(jì)算離心率 double temp = math.pow(x-ecx,2)/math.pow(a,2)+math.pow(y-ecy,2)/math.pow(b,2); /如果滿足要求返回真,否則假 if(math.abs(temp-1.0)judge) return true; else return false; 四.系統(tǒng)編碼實(shí)現(xiàn)4.1圖像建模函數(shù)/圖像建模 private bitmap test(bitmap bmp) width=bmp.getwidth(); height=bmp.getheight(); int r,g,b=0; int pixel=new i
13、ntwidth*height; flag=new booleanheightwidth; bmp.getpixels(pixel, 0, width, 0, 0, width, height); for(int i=0;iheight;i+) for(int j=0;jwidth;j+) flagij=false; for(int i=0;iheight;i+) for(int j=0;j16)&0xff; g=(pixeli*width+j8)&0xff; b=pixeli*width+j&0xff; if(r95&g40&b20) if(math.abs(r-g)15|math.abs(r
14、-b)15|math.abs(g-b)15) if(math.abs(r-g)15&rg&rb) flagij=true; for(int i=0;iheight;i+) for(int j=0;jwidth;j+) if(flagij=true) r=g=b=255; else r=g=b=0; pixeli*width+j=0xff000000|(r16)|(g8)|b; bmp.setpixels(pixel, 0,width, 0, 0, width, height); return bmp; 4.2攝像功能函數(shù)調(diào)用class camerapreview extends surface
15、view implements surfaceholder.callback surfaceholder holder;public camerapreview(context context) super(context);/ todo auto-generated constructor stubholder=this.getholder();holder.addcallback(this);holder.settype(surfaceholder.surface_type_push_buffers);overridepublic void surfacechanged(surfaceho
16、lder holder, int format, int width,int height) / todo auto-generated method stubtrycamera.parameters parameters=camera.getparameters();/parameters.setpicturesize(width, height);parameters.setpictureformat(pixelformat.jpeg);if(getwindowmanager().getdefaultdisplay().getorientation()=0)parameters.setpr
17、eviewsize(height,width);待添加的隱藏文字內(nèi)容1elseparameters.setpreviewsize(width, height);parameters.setpicturesize(1024,786);camera.setparameters(parameters);camera.startpreview();camera.autofocus(new autofocuscallback()overridepublic void onautofocus(boolean success, camera camera) / todo auto-generated met
18、hod stubif(success);catch(exception e)overridepublic void surfacecreated(surfaceholder holder) / todo auto-generated method stubcamera=camera.open();trycamera.setpreviewdisplay(holder);catch(ioexception e)camera.release();camera=null;overridepublic void surfacedestroyed(surfaceholder holder) / todo
19、auto-generated method stubcamera.stoppreview();camera.release();camera=null; 4.3 sd卡文件操作private void checkmystorage() if(environment.getexternalstoragestate().equals(environment.media_mounted) if(new file(/sdcard).canread() file file=new file(sdcard/fatalityupload); if(!file.exists() file.mkdir(); f
20、ile=new file(sdcard/fatalityupload/fatality); file.mkdir(); else new alertdialog.builder(this).setmessage(檢查到?jīng)]有存儲卡,請插入手機(jī)存儲卡再開啟本應(yīng)用).setpositivebutton(確定, new dialoginterface.onclicklistener() overridepublic void onclick(dialoginterface dialog, int which) / todo auto-generated method stubfinish();).show(); private static list readfiles(string path)file dir=new file(path);file files=dir.listfiles();if(files!=null)for(in
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河北省職教高考《語文》考前沖刺模擬試題庫(附答案)
- 2025年河北石油職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年江西工商職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年江蘇護(hù)理職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年梅河口康美職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 山東省濟(jì)南市高三語文上學(xué)期開學(xué)考試語文試卷(含答案)
- 專題07 名篇名句默寫(講練)
- 2025年工業(yè)研發(fā)設(shè)計(jì)軟件市場前景與趨勢預(yù)測
- 企業(yè)勞務(wù)外包簡單合同范本
- 貸款買房購房合同范本
- 2025年上半年長沙市公安局招考警務(wù)輔助人員(500名)易考易錯模擬試題(共500題)試卷后附參考答案
- 2025河北邯鄲世紀(jì)建設(shè)投資集團(tuán)招聘專業(yè)技術(shù)人才30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 慈溪高一期末數(shù)學(xué)試卷
- 《基于新課程標(biāo)準(zhǔn)的初中數(shù)學(xué)課堂教學(xué)評價研究》
- 貴州省黔東南州2024年七年級上學(xué)期數(shù)學(xué)期末考試試卷【附答案】
- 醫(yī)院廉潔自律承諾書
- 企業(yè)招聘技巧培訓(xùn)
- 學(xué)校校本課程《英文電影鑒賞》文本
- 華為HCSA-Presales-IT售前認(rèn)證備考試題及答案
- 重大事故隱患判定標(biāo)準(zhǔn)與相關(guān)事故案例培訓(xùn)課件
- 2024年度節(jié)后復(fù)工建筑施工安全培訓(xùn)交底
評論
0/150
提交評論