《AI硬件與Pyhthon編程實踐》10計算機視覺與條碼識別寫字字帖_第1頁
《AI硬件與Pyhthon編程實踐》10計算機視覺與條碼識別寫字字帖_第2頁
《AI硬件與Pyhthon編程實踐》10計算機視覺與條碼識別寫字字帖_第3頁
《AI硬件與Pyhthon編程實踐》10計算機視覺與條碼識別寫字字帖_第4頁
《AI硬件與Pyhthon編程實踐》10計算機視覺與條碼識別寫字字帖_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機視覺與條碼識別人工智能開源硬件與python編程實踐情境導(dǎo)入自助借還書機可自行完成對條形碼讀者卡的識別、圖書的條形碼掃描、圖書的充消磁作業(yè)等功能,讀者只需要按照屏幕顯示的操作步驟進(jìn)行操作,十幾秒鐘便可完成整個借還書的過程。條形碼不僅可以應(yīng)用在圖書館、超市、倉庫等場所,在校園里也有很多應(yīng)用。任務(wù)與目標(biāo)了解圖像處理及條形碼識別技術(shù)的基本原理、相關(guān)算法和應(yīng)用框架;掌握運用人工智能開源硬件設(shè)計智能應(yīng)用系統(tǒng)的方法,掌握Python語言的編程方法;應(yīng)用人工智能開源硬件和Python相關(guān)算法模塊設(shè)計條形碼掃描與識別應(yīng)用系統(tǒng);利用Python編程,編寫條形碼提取及識別算法,實現(xiàn)對條形碼的識別解碼功能,針對生活應(yīng)用場景,進(jìn)一步創(chuàng)新設(shè)計具有實用價值的二維碼應(yīng)用系統(tǒng)。知識拓展:條形碼條形碼是將寬度不等的多個黑條和空白,按照一定的編碼規(guī)則排列,用以表達(dá)一組信息的圖形標(biāo)識符。條形碼可以用來標(biāo)出物品的制造廠家、商品名稱、生產(chǎn)日期、圖書編號、郵政快遞編號、設(shè)備編號等豐富信息。知識拓展:條形碼的構(gòu)成靜區(qū):靜區(qū)也叫空白區(qū),分為左空白區(qū)和右空白區(qū),左空白區(qū)是讓掃描設(shè)備做好掃描準(zhǔn)備,右空白區(qū)是保證掃描設(shè)備正確識別條碼的結(jié)束標(biāo)記。起始字符:第一位字符,具有特殊結(jié)構(gòu),當(dāng)掃描器讀取到該字符時,便開始正式讀取代碼了。數(shù)據(jù)字符:條形碼的主要內(nèi)容。校驗字符:檢驗讀取到的數(shù)據(jù)是否正確。不同編碼規(guī)則可能會有不同的校驗規(guī)則。終止字符:最后一位字符,一樣具有特殊結(jié)構(gòu),用于告知代碼掃描完畢,同時還起到只是進(jìn)行校驗計算的作用。知識拓展:碼制區(qū)分條形碼的碼制有很多種編碼模式,常用的包括EAN碼、UPC碼、39碼、128碼、Codabar庫德巴碼等;EAN碼/UPC碼(統(tǒng)一產(chǎn)品代碼)。是國際通用的編碼體系,是一種長度固定、無含義的條碼,所表達(dá)的信息全部為數(shù)字,主要應(yīng)用于國際商品標(biāo)識;Codabar(庫德巴碼)??杀硎緮?shù)字0-9,字符$、+、-、還有只能用作起始/終止符的a,b,cd四個字符,可變長度,沒有校驗位,空白區(qū)比窄條寬10,非連續(xù)性條形碼,每個字符表示為4條3空;39碼和128碼:ASCII字符集編碼,美國國防部和汽車行業(yè)最先使用,我國目前為企業(yè)內(nèi)部自定義碼制,根據(jù)需要確定條碼的長度和信息,可以是數(shù)字,也可包含字母。知識拓展:條形碼的掃描與識別

掃描。條形碼的掃描需要掃描器,掃描器利用自身光源照射條形碼,再利用光電轉(zhuǎn)換器接受反射的光線,將反射光線的明暗轉(zhuǎn)換成數(shù)字信號。譯碼。白條、黑條的寬度不同,相應(yīng)的電信號持續(xù)時間長短也不同。譯碼器通過測量脈沖數(shù)字電信號0、1的數(shù)目來判別條和空的數(shù)目。通過測量0、1信號持續(xù)的時間來判別條和空的寬度。然后根據(jù)條碼對應(yīng)的編碼規(guī)則,將條形符號換成相應(yīng)的數(shù)字、字符信息。設(shè)計與實踐圖像梯度與邊緣檢測條形碼的輪廓檢測設(shè)定條碼的碼制條碼識別Python編程實現(xiàn)及結(jié)果分析圖像梯度與邊緣檢測圖像邊緣的檢測一般是通過對圖像進(jìn)行梯度運算來實現(xiàn)的。圖像梯度運算理解成對圖像數(shù)據(jù)從各個方向(橫向、縱向、斜方向等)進(jìn)行求導(dǎo),從而提取出圖像的邊緣。常用的圖像梯度計算方法有Sobel算子、scharr算子與laplacian算子條形碼的輪廓檢測

獲取包含條形碼的圖像并轉(zhuǎn)換為灰度圖;利用Sobel或Scharr算子計算水平x方向和垂直y方向上的梯度幅值,得到條形碼圖像的梯度表示;從梯度表示圖中,初步提取包含高水平梯度和低豎直梯度的圖像區(qū)域;模糊并二值化圖像。然后將模糊化后的圖形進(jìn)行二值化,梯度圖中任何小于等于255的像素設(shè)為0(黑色),其余設(shè)為255(白色);對二值化后的圖像應(yīng)用數(shù)學(xué)形態(tài)學(xué)中的閉運算,消除條形碼豎條之間的縫隙;連續(xù)進(jìn)行若干次數(shù)學(xué)形態(tài)學(xué)中的的腐蝕及膨脹運算。找到圖像中的最大輪廓,就是檢測到的條形碼區(qū)域。設(shè)定條碼的碼制

定義一個函數(shù),設(shè)計碼制選擇功能,供主程序調(diào)用。defbarcode_name(code):if(code.type()==image.EAN2):return"EAN2"if(code.type()==image.EAN5):return"EAN5"if(code.type()==image.UPCE):return"UPCE"if(code.type()==image.ISBN10):return"ISBN10"if(code.type()==image.CODABAR):return"CODABAR"if(code.type()==image.CODE39):return"CODE39"

條碼識別設(shè)計

image.find_barcodes([roi])方法,用來查找roi內(nèi)所有一維條形碼并返回一個image.barcode對象列表。條形碼是線性一維圖像,只需在一個方向上有較高分辨率,而在另一方向上只需較低分辨率。該函數(shù)進(jìn)行水平和垂直掃描,所以可使用寬40/80/160、長480的窗口。支持所有一維條形碼:EAN2、EAN5、EAN8、UPCE、ISBN10、UPCA、EAN13、ISBN13、I25、DATABAR(RSS-14)、DATABAR_EXP(RSS-Expanded)、CODABAR、CODE39、PDF417、CODE93、CODE128等。編程及實現(xiàn)

img=sensor.snapshot()codes=img.find_barcodes()#利用人工智能開源控制板固化的Python計算機視覺算法進(jìn)行條形碼的識別while(True):clock.tick()img=sensor.snapshot()

codes=img.find_barcodes()forcodeincodes:img.draw_rectangle(code.rect())print_args=(barcode_name(code),code.payload(),(180*code.rotation())/math.pi,code.quality(),clock.fps())

print("Barcode%s,Payload\"%s\",rotation%f(degrees),quality%d,FPS%f"%print_args)ifnotcodes:print("FPS%f"%clock.fps())驗證及完善

調(diào)試過程中,利用串口終端顯示區(qū)觀察條形碼的識別情況。print(“Barcode%s,Payload\”%s\“,rotation%f(degrees),quality%d,FPS%f”%print_args)函數(shù)把識別出的條形碼的屬性和內(nèi)容全部顯示出來。分析與思考互聯(lián)網(wǎng)上有很多在線條形碼生成器,了解他們的功能和用法,看看能否生成一批你所需要的條形碼。了解人工智能開源硬件板的對外接口,利用人工智能開源硬件板

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論