版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
北京工業(yè)職業(yè)技術(shù)學(xué)院嵌入式系統(tǒng)應(yīng)用主講:
XXX老師二維碼識(shí)別學(xué)習(xí)目標(biāo)掌握了解熟悉嵌入式車(chē)型機(jī)器人二維碼功能實(shí)現(xiàn)軟件設(shè)計(jì)13二維碼的應(yīng)用二維碼的特點(diǎn)二維碼的API2嵌入式車(chē)型機(jī)器人的二維碼使用主講內(nèi)容主講內(nèi)容Speechcontent16.2二維碼設(shè)計(jì)案例16.1二維碼概述16.1.1二維碼簡(jiǎn)介二維碼(2-dimensionalbarcode)是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的、黑白相間的、記錄數(shù)據(jù)符號(hào)信息的圖形。二維碼在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的0、1比特流的概念,使用若干與二進(jìn)制相對(duì)應(yīng)的幾何形體來(lái)表示文字?jǐn)?shù)值信息,通過(guò)圖像輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理。它具有條碼技術(shù)的一些共性:每種碼制有其特定的字符集,每個(gè)字符占有一定的寬度,具有一定的校驗(yàn)功能等。同時(shí)還具有對(duì)不同行的信息自動(dòng)識(shí)別及處理圖形旋轉(zhuǎn)變化點(diǎn)功能。二維碼概述16.1.2二維碼API簡(jiǎn)介在Android中,一般使用Google公司提供的Zxing開(kāi)源庫(kù)解析二維碼。使用Zxing時(shí),首先要導(dǎo)入corejar包。導(dǎo)入完成以后,在項(xiàng)目中添加文件RGBLuminanceSource.java。該文件幫助用戶調(diào)節(jié)二維碼圖片像素的亮度,轉(zhuǎn)換為計(jì)算亮度較好的顏色。其中的代碼如下:二維碼概述importjava.io.FileNotFoundException;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importcom.google.zxing.LuminanceSource;publicclassRGBLuminanceSourceextendsLuminanceSource{ privatefinalbyte[]luminances; //類的重構(gòu)
publicRGBLuminanceSource(Bitmapbitmap){ super(bitmap.getWidth(),bitmap.getHeight()); //得到圖片的寬高二維碼概述intwidth=bitmap.getWidth(); intheight=bitmap.getHeight(); //得到圖片的像素
int[]pixels=newint[width*height]; // bitmap.getPixels(pixels,0,width,0,0,width,height); luminances=newbyte[width*height]; //得到圖片每點(diǎn)像素顏色二維碼概述for(inty=0;y<height;y++){ intoffset=y*width; for(intx=0;x<width;x++){ intpixel=pixels[offset+x]; intr=(pixel>>16)&0xff; intg=(pixel>>8)&0xff; intb=pixel&0xff; //已經(jīng)是灰度圖像,所以可選擇任何通道
if(r==g&&g==b){ luminances[offset+x]=(byte)r; }二維碼概述else{ luminances[offset+x]=(byte)((r+g+g+b)>>2); } } } } //類的重構(gòu)
publicRGBLuminanceSource(Stringpath)throwsFileNotFoundException{ this(loadBitmap(path));
}二維碼概述privatestaticBitmaploadBitmap(Stringpath)throwsFileNotFoundException{ Bitmapbitmap=BitmapFactory.decodeFile(path); if(bitmap==null){ thrownewFileNotFoundException("Couldn'topen"+path); } returnbitmap;
}二維碼概述@Override publicbyte[]getMatrix(){ returnluminances; } @Override publicbyte[]getRow(intarg0,byte[]arg1){ if(arg0<0||arg0>=getHeight()){ thrownewIllegalArgumentException( "Requestedrowisoutsidetheimage:"+arg0); }二維碼概述intwidth=getWidth(); if(arg1==null||arg1.length<width){ arg1=newbyte[width]; } System.arraycopy(luminances,arg0*width,arg1,0,width); returnarg1; }}二維碼概述
第一個(gè)方法中需要一個(gè)參數(shù)BinaryBitmap,字面理解為二進(jìn)制字節(jié)圖片,這就需要接著看com.google.zxing包中的BinaryBitmap類。BinaryBitmap(Binarizerbinarizer)-com.google.zxing.BinaryBitmap這也需要一個(gè)參數(shù),按照上面的思路實(shí)例化Binarizer類時(shí),發(fā)現(xiàn)只能處理黑色圖片,要求較高。查看其開(kāi)放的接口類,發(fā)現(xiàn)HybridBinarizer類混合二進(jìn)制類可以滿足需求,得到最終需要的參數(shù)BinaryBitmap。二維碼概述主講內(nèi)容主講內(nèi)容Speechcontent16.1二維碼概述16.2二維碼設(shè)計(jì)案例16.2.1AndroidUI設(shè)計(jì)結(jié)合嵌入式車(chē)型機(jī)器人的應(yīng)用,可以開(kāi)發(fā)一個(gè)簡(jiǎn)單的二維碼識(shí)別案例,二維碼演示案例UI界面如下圖。二維碼概述整個(gè)UI設(shè)計(jì)應(yīng)用了TextView、EditText、Button和ImageView四個(gè)控件,程序源碼見(jiàn)P143。16.2.2利用Android實(shí)現(xiàn)嵌入式車(chē)型機(jī)器人的二維碼的應(yīng)用二維碼解析開(kāi)發(fā)流程,核心為core.jar包中解析類的應(yīng)用,只要得到解析類需要的參數(shù),即可通過(guò)QRCodeReader類提供的解析方法實(shí)現(xiàn)對(duì)二維碼的解析。(1)在進(jìn)行二維碼開(kāi)發(fā)時(shí),要在項(xiàng)目中的libs文件夾下添加core.jar文件夾。其為谷歌提供的二維碼解析工具包。(2)MainActivity類中編寫(xiě)的布局功能
具體開(kāi)發(fā)參考代碼見(jiàn)P144-P146二
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三基中藥考試試題及答案
- 茶葉加工工(中級(jí))考試模擬題與參考答案
- cpa注冊(cè)會(huì)計(jì)師經(jīng)濟(jì)法真題試卷+答案
- 幼兒體育考試試題及答案
- 阿里巴巴校招試題及答案
- 2026自然語(yǔ)言處理工程師校招面試題及答案
- 城市環(huán)境管理試題及答案
- 2026黑龍江哈爾濱啟航勞務(wù)派遣有限公司派遣到哈爾濱工業(yè)大學(xué)機(jī)電工程學(xué)院機(jī)械設(shè)計(jì)系招聘?jìng)淇碱}庫(kù)附答案
- 會(huì)昌縣2025年縣直事業(yè)單位公開(kāi)選調(diào)一般工作人員考試備考題庫(kù)必考題
- 安義縣城市管理和綜合執(zhí)法局2025年公開(kāi)招聘編外工作人員備考題庫(kù)必考題
- 2026年開(kāi)封大學(xué)單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及完整答案詳解1套
- 北京市2025北京市體育設(shè)施管理中心應(yīng)屆畢業(yè)生招聘2人筆試歷年參考題庫(kù)典型考點(diǎn)附帶答案詳解(3卷合一)2套試卷
- 建筑施工現(xiàn)場(chǎng)材料采購(gòu)流程
- DB31∕T 1234-2020 城市森林碳匯計(jì)量監(jiān)測(cè)技術(shù)規(guī)程
- 園林綠化施工工藝及注意事項(xiàng)
- 2025年高中語(yǔ)文必修上冊(cè)《登泰山記》文言文對(duì)比閱讀訓(xùn)練(含答案)
- 2025年金蝶AI蒼穹平臺(tái)新一代企業(yè)級(jí)AI平臺(tái)報(bào)告-
- 2026屆山東菏澤一中高三化學(xué)第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- 2025中國(guó)機(jī)械工業(yè)集團(tuán)有限公司(國(guó)機(jī)集團(tuán))社會(huì)招聘19人筆試參考題庫(kù)附答案
- 二年級(jí)上冊(cè)100以內(nèi)的數(shù)學(xué)加減混合口算題500道-A4直接打印
- 2025年二級(jí)造價(jià)師《土建工程實(shí)務(wù)》真題卷(附解析)
評(píng)論
0/150
提交評(píng)論