freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于ios平臺的qr碼識別系統(tǒng)的設(shè)計與實現(xiàn)碩士學位論文-資料下載頁

2025-06-27 17:32本頁面
  

【正文】 5度,90度),這樣就可以確定QR碼的方位;識讀格式信息;識讀版本信息,得到版本信息,如果符號版本小于等于6,則對版本信息1進行檢查和糾錯,如果糾錯信息超過容量,則對版本信息2進行譯碼;通過步驟2當中的格式信息,得出糾錯等級和掩膜圖形,然后用掩膜圖形對QR碼編碼區(qū)域進行異或處理,消除掩膜;根據(jù)QR碼的符號排列規(guī)則,確定符號碼字,并且恢復編碼數(shù)據(jù)和糾錯碼字;通過糾錯等級信息匹配糾錯碼字,如果有錯誤,就通過糾錯機制替換錯誤信息;按照模式指示符,重新對二進制數(shù)據(jù)流進行分段,并且將每一段數(shù)據(jù)流對應的字符解析出來。:圖 QR碼識別模塊流程圖 文字識別模塊設(shè)計該模塊的文字識別庫是調(diào)用的第三方靜態(tài)C庫,主要功能是對整張圖片進行掃描,確定可能存在文字的區(qū)域,然后返回該區(qū)域的坐標數(shù)組,最后通過該坐標數(shù)組進行截圖,發(fā)送服務器進行識別。步驟如下:將照片的二進制數(shù)據(jù)發(fā)送給文字識別庫;若文字識別庫返回為空,則提示用戶識別失敗,可以進行拍下整張照片進行識別;若返回坐標數(shù)組,則繼續(xù)進行步驟3;根據(jù)坐標數(shù)組在圖片劃出文字區(qū)域,截圖,發(fā)送給網(wǎng)絡請求模塊;網(wǎng)絡請求模塊將圖片的二進制數(shù)據(jù)存入請求的body中,發(fā)送給服務器;服務器返回識別后的json數(shù)據(jù);通過第三方json庫解析步驟5返回的json數(shù)據(jù),并輸出。:圖 文字識別模塊流程圖 拍照識別模塊設(shè)計該模塊是在QR碼識別和文字識別均失敗的情況下,會讓用戶選擇是否拍攝整張圖片,發(fā)送給服務器進行識別,步驟如下:將攝像頭模式從攝像切換成拍照,同時隱藏系統(tǒng)默認的切換動效,這樣用戶就不會感覺出不一樣的體驗了; 停止QR碼識別進程,停止QR碼識別周期定時器,釋放相關(guān)資源;停止文字識別進程,停止文字識別周期定時器,釋放相關(guān)資源;用戶點擊拍照,通過NSCamera接口獲取照片,同時將該照片在視圖上縮小,顯示一個動畫效果;網(wǎng)絡請求模塊將圖片的二進制數(shù)據(jù)存入請求的body中,發(fā)送給服務器; 服務器返回識別后的json數(shù)據(jù);通過第三方json庫解析步驟6返回的json數(shù)據(jù),并輸出。:圖 拍照識別模塊流程圖 圖像識別系統(tǒng)界面設(shè)計,本系統(tǒng)具有與目前市面上其他二維碼識別系統(tǒng)不同的創(chuàng)新之處,在交互上將條碼識別和文字識別合為一體,不需用戶繁瑣的去選擇文字還是條碼,也不需要用戶做很多的操作步驟,只需講攝像頭對準待識別對象即可完成大部分步驟,如果識別不出來,才需要用戶去拍下照片發(fā)送服務器識別。本系統(tǒng)的各界面設(shè)計圖如下所示:啟動前過度場景,因為啟動鏡頭需要一定時間,所以點擊圖像識別按鈕后,出現(xiàn)一張等待動畫,直到鏡頭啟動完成:圖 啟動前過度場景圖實時檢測界面,如果靜止超過2秒,開始啟動檢測流程:圖 實時檢測界面對焦不準界面,通過后臺程序判斷當前圖片是否反光或者對焦不準,提示用戶移動鏡頭或者圖片位置:圖 對焦不準界面實時識別界面,在該節(jié)目,文字和條碼一并識別,雖然后臺程序是兩套流程,但是對于用戶體驗來講是一致的:圖 實時識別界面識別結(jié)果界面,同時出現(xiàn)文字和條碼識別結(jié)果:圖 識別結(jié)果界面拍照界面,當識別失敗時,提醒用戶進行拍照,拍照時會有一個框從打到小縮進的動畫,:圖 拍照界面框選文字區(qū)域界面,當檢測出文字區(qū)域后,會顯示出區(qū)域框,并截圖:圖 文字框選區(qū)域界面 本章小結(jié)本章首先介紹了項目中用到技術(shù)的一些背景,然后根據(jù)項目的需求,給出了整個系統(tǒng)的結(jié)構(gòu)設(shè)計,最后針對該架構(gòu)中的功能模塊的實現(xiàn)設(shè)計與界面設(shè)計,一一給出說明。43浙江大學碩士學位論文 第5章iOS平臺的圖像識別系統(tǒng)的實現(xiàn)與測試第5章 iOS平臺的圖像識別系統(tǒng)的實現(xiàn)與測試本章對圖像識別系統(tǒng)的關(guān)鍵模塊代碼的實現(xiàn)和開發(fā)中遇到的技術(shù)問題進行說明,并且對本系統(tǒng)的識別效率和成功率進行測試。 iOS開發(fā)平臺簡介iOS是運行于iPhone、iPod touch以及 iPad設(shè)備的操作系統(tǒng),它管理設(shè)備硬件并為手機本地應用程序的實現(xiàn)提供基礎(chǔ)技術(shù)。根據(jù)設(shè)備不同,操作系統(tǒng)具有不同的系統(tǒng)應用程序,例如Phone、Mail以及Safari,這些應用程序可以為用戶提供標準系統(tǒng)服務。iOS架構(gòu)和Mac OS的基礎(chǔ)架構(gòu)相似。站在高級層次來看,iOS扮演底層硬件和應用程序(顯示在屏幕上的應用程序)的中介。iOS的應用程序不能直接訪問硬件,而需要和系統(tǒng)接口進行交互。系統(tǒng)接口轉(zhuǎn)而又去和適當?shù)尿?qū)動打交道。這樣的抽象可以防止iOS應用程序改變底層硬件,雖然應用程序通常會和底層硬件隔離,但是應用程序代碼仍需考慮設(shè)備之間的某些差異。比如,iPad和iPod touch不能打開包含電話號碼的URL但是iPhone則可以。圖 iOS平臺架構(gòu)圖iOS實現(xiàn)可以看作是多個層的集合。底層為所有應用程序提供基礎(chǔ)服務,高層則包含一些復雜巧妙的服務和技術(shù)。在編寫代碼的時候,應該盡可能地使用高層框架,而不要使用底層框架。高層框架為底層構(gòu)造提供面向?qū)ο蟮某橄蟆_@些抽象可以減少需編寫的代碼行數(shù),同時還對諸如socket和線程這些復雜功能進行封裝,從而讓編寫代碼變得更加容易。雖說高層框架是對底層構(gòu)造進行抽象,但是它并沒有把底層技術(shù)屏蔽起來。如果高層框架沒有為底層框架的某些功能提供接口,開發(fā)者可以直接使用底層框架[25]。圖 iOS層級圖 iPhone SDK簡介在使用Intel芯片的Macintosh計算機開發(fā)iOS應用程序所需的全部接口、工具以及資源全都包含于iPhone SDK。蘋果公司將大部分系統(tǒng)接口發(fā)布在框架這種特殊的數(shù)據(jù)包。一個框架就是一個目錄,它包含一個動態(tài)共享庫以及使用這個庫所需的資源(例如頭文件、圖像以及幫助應用程序等)。如果要使用某個框架,則需要將其鏈接到應用程序工程,這一點和使用其他共享庫相似。除了使用框架,蘋果公司還通過標準共享庫的形式來發(fā)布某些技術(shù)。 由于iOS以UNIX為基礎(chǔ),操作系統(tǒng)底層的許多技術(shù)都源自開源技術(shù),這些技術(shù)的許多接口可以從標準庫和接口目錄訪問。SDK提供編寫應用程序所需的軟件,而且Xcode和Instruments允許直接與綁定設(shè)備進行交互,在目標硬件運行并調(diào)試代碼。如果需要在實際設(shè)備上開發(fā),必須加入蘋果公司的收費iPhone開發(fā)者計劃,并將設(shè)備配置成開發(fā)用途。SDK包含如下重要組件[26]:(一) Xcode工具提供iOS應用程序開發(fā)工具,包括Xcode,Interface Builder,Instruments。Xcode是一個集成開發(fā)環(huán)境,它負責管理應用程序工程。開發(fā)者可以通過它來編輯、編譯、運行以及調(diào)試代碼。Xcode還集成了許多其他工具,它是開發(fā)過程中使用到的主要應用程序;Interface Builder是以可視化方式組裝用戶接口的工具。通過Interface Builder創(chuàng)建出來的接口對象將會保存到某種特定格式的資源文件,并且在運行時加載到應用程序;Instruments是運行時性能分析和調(diào)試工具??梢酝ㄟ^ Instruments 收集應用程序運行時的行為信息,并利用這些信息來確認可能存在的問題。(二) iPhone模擬器iPhone模擬器是Mac OS X平臺應用程序,它對iOS技術(shù)棧進行模擬,以便于在基于Intel的Macintosh計算機上測試iOS應用程序。(三) iOS參考庫SDK默認包含iOS的參考文檔。另外,如果文檔庫有更新,則更新會被自動下載到本地。通過選擇Help Developer Documentation就可以看到參考庫。 Cocoa Touch層簡介,Cocoa Touch層包含創(chuàng)建 iOS應用程序所需的關(guān)鍵框架。上至實現(xiàn)應用程序可視界面,下至與高級系統(tǒng)服務交互,都需要該層技術(shù)提供底層基礎(chǔ)。按照蘋果官方者文檔要求,在開發(fā)應用程序的時候,盡可能不要使用更底層的框架,盡可能使用Cocoa Touch層的框架。 Cocoa Touch層高級特性(一) 多任務如果應用程序構(gòu)建于iPhone SDK (且運行于iOS ),則點擊Home鍵的時候,應用程序不會結(jié)束,而是切換到后臺。對于大多數(shù)應用程序來說,進入后臺,它們就會進入掛起狀態(tài)。讓應用程序駐留在后臺可以避免以后的重新啟動過程,應用程序可以直接將自己激活,這在很大程度上改善了整體用戶體驗。另外,將應用程序掛起也可以改善系統(tǒng)性能,因為掛起應用程序可以最小化電能使用,并可讓前臺應用程序獲得更多的執(zhí)行時間。盡管應用程序進入后臺就會被掛起,但可以通過下述的技術(shù)讓其在后臺繼續(xù)運行[27]: 應用程序可以請求一定的時間完成某些重要的任務。 應用程序可以聲明自身支持的某種服務需要獲得定期后臺執(zhí)行時間。 應用程序可以使用本地通告在指定時間向用戶發(fā)通知。這種方式對于應用程序是否運行沒有要求。不管應用程序是被掛起還是在后臺運行,支持多任務不需要付出額外的工作。但是在某些情況(例如內(nèi)存不足)下,應用程序可能會被結(jié)束運行。因此,應用程序應該可以在任何時候退出。這就意味著許多在退出應用程序時需要執(zhí)行的任務必須改為在應用程序切換到后臺的時候執(zhí)行。這就要求在應用程序委托中實現(xiàn)一些新的方法以響應程序的狀態(tài)切換。(二) 數(shù)據(jù)保護和敏感用戶數(shù)據(jù)打交道的應用程序可以使用設(shè)備內(nèi)建加密功能(有些設(shè)備可能不提供內(nèi)建加密功能)對數(shù)據(jù)進行保護。如果應用程序指定某個文件受保護,系統(tǒng)會以加密格式將該文件保存在磁盤。當設(shè)備鎖住的時候,應用程序以及其他潛在的闖入者都不能訪問該文件,而當用戶解鎖設(shè)備后,系統(tǒng)會生成一份密鑰以便應用程序訪問該文件。如需實現(xiàn)數(shù)據(jù)保護,應用程序應在待保護數(shù)據(jù)的創(chuàng)建和管理方式下一些功夫。它必須能夠在數(shù)據(jù)創(chuàng)建之時保證其安全,而且需要適配設(shè)備上鎖或未上鎖造成的文件可訪問性的變化。(三) 蘋果推送通知服務iOS ,不管應用程序是否運行,蘋果推送通知服務可用于通知用戶某個應用程序具有新信息。利用這項服務,開發(fā)者可以向系統(tǒng)推送文本通知,可以觸發(fā)聲音提醒或者在應用程序圖標上添加一個數(shù)字化標記。這樣用戶就知道他們應該打開應用程序接收相關(guān)信息。從設(shè)計角度看,讓應用程序支持推送通知包含兩個部分。首先,iOS應用程序需要請求系統(tǒng)向其發(fā)送通知,然后要合理配置應用程序委托使其可以對通知進行恰當處理。這些工作可以通過應用程序委托以及UIApplication對象合作完成。第二,開發(fā)者需要提供一個服務器端進程用于產(chǎn)生最初的通知。該進程運行在開發(fā)者自己的本地服務器,它和蘋果推送通知服務協(xié)同工作以產(chǎn)生最初的通知。(四) 本地通知iOS 。本地通知是對已有推送通知的補充,通用程序可以通過它在本地生成通知,不再需要依賴外部服務器。當有重要的事件發(fā)生時,后臺應用程序可以利用本地通知獲得用戶關(guān)注。舉個例子,運行于后臺的導航應用程序可以使用本地通知提醒用戶要轉(zhuǎn)彎。應用程序也可以安排在未來的某個時刻向用戶發(fā)送本地通知,而且發(fā)送這些通知并不要求應用程序處于運行狀態(tài)。本地通知的優(yōu)點是它獨立于應用程序。一旦某個通知被安排好后,系統(tǒng)會負責通知發(fā)送。而且在發(fā)送通知的時候,應用程序無需處于運行狀態(tài)。(五) 手勢識別器iOS 。手勢識別器是一個綁定到視圖的對象,用于檢測常見的手勢類型。將手勢識別器綁定到視圖后,開發(fā)者可以告訴它某個手勢發(fā)生的時候執(zhí)行何種動作。之后,手勢識別器就可以對原始事件進行跟蹤,根據(jù)系統(tǒng)定義的試探方式識別手勢。在引入手勢識別器前,如果要識別一個手勢,開發(fā)者需要跟蹤視圖的原始觸摸事件流,然后再使用復雜的試探方法來判斷這些事件是否表示某種手勢。UIKit框架中包含一個UIGestureRecognizer類,它定義了所有手勢識別器的基本行為。開發(fā)者可以使用自定義的手勢識別器子類或者系統(tǒng)定義的某個子類處理下面這些標準手勢:拍擊 (任意次數(shù)的拍擊)、向里或向外捏 (用于縮放)、搖動或者拖拽、擦碰 (以任意方向)、旋轉(zhuǎn) (手指朝相反方向移動)、長按等等。(六) 文件共享支持應用程序可以使用文件共享讓用戶訪問程序的用戶數(shù)據(jù)文件。文件共享允許應用程序通過iTunes向用戶顯露應用程序/Documents目錄的內(nèi)容。這樣,用戶就可以在iPad和桌面計算機來回移動文件。但是,該功能不允許應用程序和同一設(shè)備上的其他應用程序共享文件。如果希望在程序間共享文件,請使用剪貼板或者文檔交互控制器對象。(七) 點對點服務在iOS 及后續(xù)版本,Game Kit框架支持經(jīng)由藍牙進行點對點連接。用戶可以使用點對點連接啟動與某個鄰近設(shè)備的通訊會話,也可用它實現(xiàn)多種多玩家游戲的常見特性。雖然點對點連接主要應用于游戲,但也可將之應用于其他類型應用程序。(八) 標準系統(tǒng)視圖控制器Cocoa Touch層許多框架含有展現(xiàn)標準系統(tǒng)界面的視圖控制器。蘋果公司建議開發(fā)者在應用程序中使用這些視圖控制器,這樣可以讓程序和系統(tǒng)具有一致的用戶體驗。 Cocoa Touch層包含的框架(一) Address Book UI 框架Address Book UI 框架()是一套ObjectiveC的編程接口,可以顯示創(chuàng)建或者編輯聯(lián)系人的標準系統(tǒng)界面。該框架簡化了應用程序顯示聯(lián)系人信息所需的工作,另外它也可以確保應用程序使用的界面和其他應用程序相同,進而保證跨平臺一致性。(二) Event Kit UI 框架iOS Kit UI框架(),它提供一個視圖控制鍵可以展現(xiàn)查看并編輯事件的標準系統(tǒng)界面。Event Kit框架的事件數(shù)據(jù)是該框架的構(gòu)建基礎(chǔ)。(三) Game Kit 框架iOS Kit框架()。該框架支持點對點連接及游戲內(nèi)語音功能,可以通過該框架為應用程序增加點對點網(wǎng)絡功能。點對點連接以及游戲內(nèi)語音功能在多玩家的游戲中非常普遍,不過也可以將其加入到非游戲應用程序。此框架通過一組建構(gòu)于Bonjour之上的簡單而強大的類提供網(wǎng)絡功能,這些類將許多網(wǎng)絡細節(jié)抽象出來,從而讓沒有網(wǎng)絡編程經(jīng)驗的開發(fā)者可以更加容易地將網(wǎng)絡功能整合到應用程序。(四) iAd 框架iOS ()??梢?
點擊復制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1