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

正文內(nèi)容

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

2025-07-12 17:32本頁面
  

【正文】 ,分割后的圖像g(x,y) 用式()表示[16]:gx,y= 1 fx,y≥T 0 fx,yT ()還可以采用兩個閾值和作為灰度值的范圍,使目標(biāo)輪廓更清晰,分割后圖像g(x,y)用式()表示[17]:gx,y= 1 T1≤f(x,y)≤T20 其他 ()閾值T的選取是閾值分割技術(shù)的關(guān)鍵,如果把所有“1”值的像素集合作為我們 要進(jìn)一步處理的目標(biāo)對象,把所有具有“0”值的像素集合作為背景,當(dāng)T過大時,會誤認(rèn)很多目標(biāo)點;當(dāng)T過小時,又會增加很多假目標(biāo)點。這樣記錄下二維條碼的邊界,然后對二值化之前的灰度圖進(jìn)行裁減,去掉多余的部分,可以有效減小圖像處理的時間消耗,同時也可以去除一些噪聲和污點的影響。在預(yù)先知道區(qū)域形狀的條件下, 利用哈夫變換可以方便地得到邊界曲線而將不連續(xù)的邊緣像素點連接起來。利用哈夫變換還可以直接分割 出某些己知形狀的目標(biāo),并有可能確定邊界到亞像素精度。圖像變換前在圖像空間,變換后在參數(shù)空間。由此可知在圖像空間中共線的點對應(yīng)在參數(shù)空間里相交的線。這就是 點線的對偶性。哈夫變換就是把在圖像空間中的直線檢測問題 轉(zhuǎn)換到參數(shù)空間罩對應(yīng)點的檢測問題,通過在參數(shù)空間里進(jìn)行簡單的累加統(tǒng)計完 成檢測任務(wù)。因此需要首先要求出旋轉(zhuǎn)條碼的旋轉(zhuǎn)角度,或者四個點的坐標(biāo),以便于把條碼圖像旋轉(zhuǎn)正之后,把條碼圖像分割出來。在二維條碼傾角為零,即完全扶正的情況下,二維條碼的投影寬度最小。具體實現(xiàn)步驟為[22]:一、對二維條碼的四個頂點進(jìn)行投影,計算出各個點投影后最左邊的點到最右邊的點兩點間的最大距離d;二、對四個頂點分別進(jìn)行順時針旋轉(zhuǎn)角度θ和逆時針旋轉(zhuǎn)角度θ,得到四個新的頂點后,對這四個新頂點進(jìn)行投影,然后計算出各個點投影后最左邊的點到最右邊的點兩點間的最大投影距離d1和d2;三、比較d、d1和d2的大??;四、如果d d1,d d2說明圖像未傾斜,圖像無需旋轉(zhuǎn)。六、如果d d1,d d2,同步驟五,進(jìn)行逆時針旋轉(zhuǎn)。[23]:圖 旋轉(zhuǎn)后QR照片 二值形態(tài)濾波通常在圖像預(yù)處理中,對圖像中的噪聲進(jìn)行濾除是不可缺少的操作。開運(yùn)算可以消除圖像中比結(jié)構(gòu)元素小的顆粒噪聲,閉運(yùn)算可以填充比結(jié)構(gòu)元素小的孔洞。至于窗口尺寸,在邊緣提取的形態(tài)變換中,一般采用3x3, 5x5, 7x7的窗口尺寸。其中腐蝕和開運(yùn)算的結(jié)構(gòu)元素選為以中心為原點的3x3矩陣,分別為[24]:000101010 010101110,可采用形態(tài)學(xué)方法消除影響進(jìn)一步梯度特征的因素,背景圖像經(jīng)腐蝕后,變成少量的噪聲的圖像,而且濾除了毛邊,使二維條碼圖像的梯度特征更加明顯,運(yùn)算結(jié)果如圖38所示:圖 二值形態(tài)濾波后QR照片 本章小結(jié)本章首先對圖像預(yù)處理作了一個簡介,提出了在識讀QR碼過程中會遇到的一些問題,比如噪聲太大,QR碼主體不明顯,QR碼扭曲和旋轉(zhuǎn)等等,然后針對這些問題探討了圖像預(yù)處理的算法:圖像灰度化、圖像二值化、圖像校正、圖像濾波等等,并提出了兩次進(jìn)行二值化處理的優(yōu)化算法流程,通過對一張iPhone手機(jī)拍攝的辨認(rèn)難度較高的圖片逐步進(jìn)行處理,通過實驗結(jié)果證明,該算法具有很強(qiáng)的可用性。 圖像識別系統(tǒng)功能簡介本系統(tǒng)區(qū)別于傳統(tǒng)的二維碼識讀軟件,加入了文字識別和自動匹配搜索功能,同時在交互上將三者融為一體是本系統(tǒng)的創(chuàng)新點所在,但在識別的優(yōu)先級上有所區(qū)別,針對識別對象(圖片)的不同主要分為以下幾點:(一) 圖片有二維碼,可能有文字在這種情況下,點擊圖像識別按鈕,系統(tǒng)以攝像模式自動啟動iPhone攝像頭,用戶將攝像頭對準(zhǔn)圖片,靜止兩秒鐘以上,默認(rèn)用戶選定該識別區(qū)域,系統(tǒng)控制攝像頭自動對焦,同時將取到的一幀對焦清晰圖像返回給識別模塊進(jìn)行條碼識別,如果有識別結(jié)果,則馬上呈現(xiàn)給用戶,如果沒有識別結(jié)果,則開始識別文字,將識別對象上可能存在文字的區(qū)域截圖,返還給服務(wù)端進(jìn)行識別。(三) 沒有識別出條碼,也沒有識別出文字區(qū)域提示用戶本地識別失敗,用戶可以點擊拍照按鈕,將整張圖片上傳服務(wù)端進(jìn)行識別,服務(wù)端返還二維碼和文字識別結(jié)果。為了實現(xiàn)上述功能,需要實現(xiàn)以下功能模塊:攝像頭控制模塊,來啟動和關(guān)閉攝像頭,并且能夠切換攝像和拍照模式;陀螺儀控制模塊,通過陀螺儀的加速度來判斷手機(jī)是否靜止,該模塊直接控制QR碼采集功能模塊進(jìn)行圖像采集;QR碼采集功能模塊,進(jìn)行圖像采集;圖像預(yù)處理模塊,主要是對采集到的圖片進(jìn)行灰度化、二值化、圖像裁剪、投影、圖像旋轉(zhuǎn)、二值形態(tài)濾波等一系列處理得到清晰可識別的QR碼圖片;QR碼識別模塊,對QR碼圖片進(jìn)行解碼,得出解碼結(jié)果;網(wǎng)絡(luò)請求和解析模塊,同服務(wù)端進(jìn)行交互,將得出的解碼結(jié)果上傳至服務(wù)器,返還相應(yīng)的搜索結(jié)果并且解析出來;將文字識別模塊獲取的文字區(qū)域圖片上傳至服務(wù)器進(jìn)行識別,返還相應(yīng)的識別結(jié)果并且解析出來;文字識別模塊,在QR碼識別模塊不能識別出QR碼時,開始檢測可能存在文字的區(qū)域,并且截圖,上傳至網(wǎng)絡(luò)模塊。:圖 陀螺儀控制模塊流程圖 圖像采集模塊設(shè)計圖像采集模塊主要是進(jìn)行圖像采集,步驟為:當(dāng)手機(jī)加速度靜止時間超過2秒時,將手機(jī)當(dāng)前狀態(tài)置為靜止;判斷當(dāng)前手機(jī)是否具有自動對焦模塊,如果有的話自動對焦;啟動定時器NSTimer,設(shè)定一個單位時間間隔T,每隔時間T,從當(dāng)前返回的視頻流當(dāng)中取一幀圖像,載入內(nèi)存臨時保存,同時拋棄其他返回的圖像幀,以節(jié)省內(nèi)存; 判斷該圖像幀是否已經(jīng)對焦,曝光值是否準(zhǔn)確,如果是清晰圖像,則停止計時器,將該圖片發(fā)送至圖像預(yù)處理模塊,等待處理結(jié)果,如果返回識別失敗,則重啟計時器,重新開始步驟2。步驟如下: 獲取來自iPhone手機(jī)攝像頭拍攝的圖像幀,該圖像幀是24位位圖,去掉54個字節(jié)的位圖文件頭和信息頭以后,即可得到該位圖的數(shù)據(jù),這些數(shù)據(jù)就是每個像素的RGB值,將這些數(shù)據(jù)存儲在一個多維數(shù)組當(dāng)中; ,將圖像灰度化,把彩色圖像轉(zhuǎn)換為灰度圖像,新的灰度圖像存儲在計算后的多維數(shù)組中; 對于步驟2當(dāng)中得到的灰度圖像數(shù)組進(jìn)行處理,所以不需要再存在一個多維數(shù)組里,可以將其簡化為一維數(shù)組,這樣新數(shù)組大小變成了原來的1/3。 :圖 圖像預(yù)處理模塊流程圖 QR碼識別模塊設(shè)計當(dāng)程序執(zhí)行到QR碼識別模塊時,說明已經(jīng)得到了清晰的QR碼圖像,現(xiàn)在可以開始進(jìn)行譯碼,在第二章中已經(jīng)詳細(xì)敘述了QR碼的編碼過程,就是將數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制流,然后將二進(jìn)制流轉(zhuǎn)換為條碼的符號矩陣,那么譯碼就是反其道而行之:首先通過前面圖像識別得到的條碼矩陣,將該條碼矩陣轉(zhuǎn)換位二進(jìn)制流,然后通過糾錯機(jī)制來糾正和替換二進(jìn)制流當(dāng)中的錯誤和拒讀信息,直到數(shù)據(jù)長度到達(dá)糾錯的規(guī)定長度,這樣我們就得到了正確的條碼信息的二進(jìn)制流。:圖 QR碼識別模塊流程圖 文字識別模塊設(shè)計該模塊的文字識別庫是調(diào)用的第三方靜態(tài)C庫,主要功能是對整張圖片進(jìn)行掃描,確定可能存在文字的區(qū)域,然后返回該區(qū)域的坐標(biāo)數(shù)組,最后通過該坐標(biāo)數(shù)組進(jìn)行截圖,發(fā)送服務(wù)器進(jìn)行識別。:圖 文字識別模塊流程圖 拍照識別模塊設(shè)計該模塊是在QR碼識別和文字識別均失敗的情況下,會讓用戶選擇是否拍攝整張圖片,發(fā)送給服務(wù)器進(jìn)行識別,步驟如下:將攝像頭模式從攝像切換成拍照,同時隱藏系統(tǒng)默認(rèn)的切換動效,這樣用戶就不會感覺出不一樣的體驗了; 停止QR碼識別進(jìn)程,停止QR碼識別周期定時器,釋放相關(guān)資源;停止文字識別進(jìn)程,停止文字識別周期定時器,釋放相關(guān)資源;用戶點擊拍照,通過NSCamera接口獲取照片,同時將該照片在視圖上縮小,顯示一個動畫效果;網(wǎng)絡(luò)請求模塊將圖片的二進(jìn)制數(shù)據(jù)存入請求的body中,發(fā)送給服務(wù)器; 服務(wù)器返回識別后的json數(shù)據(jù);通過第三方j(luò)son庫解析步驟6返回的json數(shù)據(jù),并輸出。本系統(tǒng)的各界面設(shè)計圖如下所示:啟動前過度場景,因為啟動鏡頭需要一定時間,所以點擊圖像識別按鈕后,出現(xiàn)一張等待動畫,直到鏡頭啟動完成:圖 啟動前過度場景圖實時檢測界面,如果靜止超過2秒,開始啟動檢測流程:圖 實時檢測界面對焦不準(zhǔn)界面,通過后臺程序判斷當(dāng)前圖片是否反光或者對焦不準(zhǔn),提示用戶移動鏡頭或者圖片位置:圖 對焦不準(zhǔn)界面實時識別界面,在該節(jié)目,文字和條碼一并識別,雖然后臺程序是兩套流程,但是對于用戶體驗來講是一致的:圖 實時識別界面識別結(jié)果界面,同時出現(xiàn)文字和條碼識別結(jié)果:圖 識別結(jié)果界面拍照界面,當(dāng)識別失敗時,提醒用戶進(jìn)行拍照,拍照時會有一個框從打到小縮進(jìn)的動畫,:圖 拍照界面框選文字區(qū)域界面,當(dāng)檢測出文字區(qū)域后,會顯示出區(qū)域框,并截圖:圖 文字框選區(qū)域界面 本章小結(jié)本章首先介紹了項目中用到技術(shù)的一些背景,然后根據(jù)項目的需求,給出了整個系統(tǒng)的結(jié)構(gòu)設(shè)計,最后針對該架構(gòu)中的功能模塊的實現(xiàn)設(shè)計與界面設(shè)計,一一給出說明。 iOS開發(fā)平臺簡介iOS是運(yùn)行于iPhone、iPod touch以及 iPad設(shè)備的操作系統(tǒng),它管理設(shè)備硬件并為手機(jī)本地應(yīng)用程序的實現(xiàn)提供基礎(chǔ)技術(shù)。iOS架構(gòu)和Mac OS的基礎(chǔ)架構(gòu)相似。iOS的應(yīng)用程序不能直接訪問硬件,而需要和系統(tǒng)接口進(jìn)行交互。這樣的抽象可以防止iOS應(yīng)用程序改變底層硬件,比如,iPad和iPod touch不能打開包含電話號碼的URL但是iPhone則可以。底層為所有應(yīng)用程序提供基礎(chǔ)服務(wù),高層則包含一些復(fù)雜巧妙的服務(wù)和技術(shù)。高層框架為底層構(gòu)造提供面向?qū)ο蟮某橄?。雖說高層框架是對底層構(gòu)造進(jìn)行抽象,但是它并沒有把底層技術(shù)屏蔽起來。圖 iOS層級圖 iPhone SDK簡介在使用Intel芯片的Macintosh計算機(jī)開發(fā)iOS應(yīng)用程序所需的全部接口、工具以及資源全都包含于iPhone SDK。一個框架就是一個目錄,它包含一個動態(tài)共享庫以及使用這個庫所需的資源(例如頭文件、圖像以及幫助應(yīng)用程序等)。除了使用框架,蘋果公司還通過標(biāo)準(zhǔn)共享庫的形式來發(fā)布某些技術(shù)。SDK提供編寫應(yīng)用程序所需的軟件,而且Xcode和Instruments允許直接與綁定設(shè)備進(jìn)行交互,在目標(biāo)硬件運(yùn)行并調(diào)試代碼。SDK包含如下重要組件[26]:(一) Xcode工具提供iOS應(yīng)用程序開發(fā)工具,包括Xcode,Interface Builder,Instruments。是一個集成開發(fā)環(huán)境,它負(fù)責(zé)管理應(yīng)用程序工程。Xcode還集成了許多其他工具,它是開發(fā)過程中使用到的主要應(yīng)用程序;Interface Builder通過Interface Builder創(chuàng)建出來的接口對象將會保存到某種特定格式的資源文件,并且在運(yùn)行時加載到應(yīng)用程序;Instruments可以通過 Instruments 收集應(yīng)用程序運(yùn)行時的行為信息,并利用這些信息來確認(rèn)可能存在的問題。(三) iOS參考庫SDK默認(rèn)包含iOS的參考文檔。通過選擇Help Developer Documentation就可以看到參考庫。上至實現(xiàn)應(yīng)用程序可視界面,下至與高級系統(tǒng)服務(wù)交互,都需要該層技術(shù)提供底層基礎(chǔ)。 Cocoa Touch層高級特性(一) 多任務(wù)如果應(yīng)用程序構(gòu)建于iPhone SDK (且運(yùn)行于iOS ),則點擊Home鍵的時候,應(yīng)用程序不會結(jié)束,而是切換到后臺。讓應(yīng)用程序駐留在后臺可以避免以后的重新啟動過程,應(yīng)用程序可以直接將自己激活,這在很大程度上改善了整體用戶體驗。盡管應(yīng)用程序進(jìn)入后臺就會被掛起,但可以通過下述的技術(shù)讓其在后臺繼續(xù)運(yùn)行[27]: 應(yīng)用程序可以請求一定的時間完成某些重要的任務(wù)。 應(yīng)用程序可以使用本地通告在指定時間向用戶發(fā)通知。不管應(yīng)用程序是被掛起還是在后臺運(yùn)行,支持多任務(wù)不需要付出額外的工作。因此,應(yīng)用程序應(yīng)該可以在任何時候退出。這就要求在應(yīng)用程序委托中實現(xiàn)一些新的方法以響應(yīng)程序的狀態(tài)切換。如果應(yīng)用程序指定某個文件受保護(hù),系統(tǒng)會以加密格式將該文件保存在磁盤。如需實現(xiàn)數(shù)據(jù)保護(hù),應(yīng)用程序應(yīng)在待保護(hù)數(shù)據(jù)的創(chuàng)建和管理方式下一些功夫。(三) 蘋果推送通知服務(wù)iOS ,不管應(yīng)用程序是否運(yùn)行,蘋果推送通知服務(wù)可用于通知用戶某個應(yīng)用程序具有新信息。這樣用戶就知道他們應(yīng)該打開應(yīng)用程序接收相關(guān)信息。首先,iOS應(yīng)用程序需要請求系統(tǒng)向其發(fā)送通知,然后要合理配置應(yīng)用程序委托使其可以對通知進(jìn)行恰當(dāng)處理。第二,開發(fā)者需要提供一個服務(wù)器端進(jìn)程用于產(chǎn)生最初的通知。(四) 本地通知iOS 。當(dāng)有重要的事件發(fā)生時,后臺應(yīng)用程序可以利用本地通知獲得用戶關(guān)注。應(yīng)用程序也可以安排在未來的某個時刻向用戶發(fā)送本地通知,而且發(fā)送這些通知并不要求應(yīng)用程序處于運(yùn)行狀態(tài)。一旦某個通知被安排好后,系統(tǒng)會負(fù)責(zé)通知發(fā)送。(五) 手勢識別器iOS 。將手勢識別器綁定到視圖后,開發(fā)者可以告訴它某個手勢發(fā)生的時候執(zhí)行何種動作。在引入手勢識別器前,如果要識別一個手勢,開發(fā)者需要跟蹤視圖的原始觸摸事件流,然后再使用復(fù)雜的試探方法來判斷這些事件是否表示某種手勢。類,它定義了所有手勢識別器的基本行為。(六) 文件共享支持應(yīng)用程序可以使用文件共享讓用戶訪問程序的用戶數(shù)據(jù)文件。這樣,用戶就可以在iPad和桌面計算機(jī)來回移動文件。如果希望在程序間共享文件,請使用剪貼板或者文檔交互控制器對象。用戶可以使用點對點連接啟動與某個鄰近設(shè)備的通訊會話,也可用它實現(xiàn)多種多玩家游戲的常見特性。(八) 標(biāo)準(zhǔn)系統(tǒng)視圖控制器Cocoa Touch層許多框架含有展現(xiàn)標(biāo)準(zhǔn)系統(tǒng)界面的視圖控制器。 Cocoa Touch層包含的框架(一) Address Book UI 框架Address Book UI 框架()是一套ObjectiveC的編程接口,可以顯示創(chuàng)建或者編輯聯(lián)系人的標(biāo)準(zhǔn)系統(tǒng)界面。(二) Event Kit UI 框架iOS Kit UI框架(),它提供一個視圖控制鍵可以展現(xiàn)查看并編輯事件的標(biāo)準(zhǔn)系統(tǒng)界面。(三) Game Kit 框架iOS Kit框架()。點對點連接以及游戲內(nèi)語音功能在多玩家的游戲中非常普遍,不過也可以將其加入到非游戲應(yīng)用程序。(四) iAd 框架iOS
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1