翻譯|使用教程|編輯:陳津勇|2019-10-16 12:12:13.317|閱讀 625 次
概述:本文主要介紹了創(chuàng)建一個(gè)簡(jiǎn)單的python條碼讀取器來(lái)讀取DPM DataMatrix代碼的方法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
直接零件標(biāo)記(DPM)是一種使用某些信息(例如條形碼)永久標(biāo)記設(shè)備的過(guò)程。典型的DPM條形碼符號(hào)包括DataMatrix和QR碼。從7.2版開(kāi)始,Dynamsoft Barcode Reader SDK已能夠解碼DPM條碼。在本文中,小編將分享如何創(chuàng)建一個(gè)簡(jiǎn)單的python條碼讀取器來(lái)讀取DPM DataMatrix代碼。
點(diǎn)擊下載Dynamsoft Barcode Reader正式版
如何使用Python解碼直接零件標(biāo)記數(shù)據(jù)矩陣
獲取使用Dynamsoft Barcode Reader C/C ++ SDK構(gòu)建的Python條碼擴(kuò)展的源代碼。
按照README.MD文件構(gòu)建并安裝適用于Windows、Linux或macOS的Python擴(kuò)展。
要解碼圖像文件中的條形碼,我們可以使用以下代碼:
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">從dbr導(dǎo)入DynamsoftBarcodeReader</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> dbr = DynamsoftBarcodeReader()</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> dbr.initLicense('LICENSE-KEY')</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 結(jié)果= dbr.decodeFile(fileName,dbr.BF_ALL)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 結(jié)果:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 打印(“條形碼格式:'+結(jié)果[0])</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> print('條形碼值:'+結(jié)果[1])</font></font><font></font>
注意:注冊(cè)Dynamsoft帳戶(hù)即可獲得免費(fèi)的試用許可證密鑰。
這是DPM DataMatrix圖像:
如果我們運(yùn)行上面的代碼來(lái)解碼DPM圖像,它將無(wú)法獲取條形碼結(jié)果。原因是默認(rèn)設(shè)置不支持DPM解碼。您必須針對(duì)DPM情況調(diào)整參數(shù)。
根據(jù)在線文檔,我們可以使用以下C代碼打開(kāi)DPM模式:
runtimeSettings.furtherModes.dpmCodeReadingModes[0] = DPMCRM_GENERAL;runtimeSettings.localizationModes[0] = LM_STATISTICS_MARKS;
Dynamsoft Barcode Reader SDK支持輸入json格式的參數(shù)模板。我們可以先查看默認(rèn)參數(shù),找到相關(guān)屬性:
params = dbr.getParameters()print(params)
要更新參數(shù)設(shè)置:
1、將參數(shù)JSON字符串轉(zhuǎn)換為JSON對(duì)象:
import jsonjson_obj = json.loads(params)
2、更新與DPM相關(guān)的屬性值:
templateName = json_obj['ImageParameter']['Name']<font></font> json_obj['ImageParameter']['DPMCodeReadingModes'][0]['Mode'] = 'DPMCRM_GENERAL'<font></font> json_obj['ImageParameter']['LocalizationModes'][0]['Mode'] = 'LM_STATISTICS_MARKS'<font></font>
3、將JSON對(duì)象轉(zhuǎn)換為字符串并更新參數(shù)以?xún)?yōu)化條形碼算法:
params = json.dumps(json_obj)<font></font> ret = dbr.setParameters(params)<font></font>
現(xiàn)在我們可以成功解碼直接零件標(biāo)記數(shù)據(jù)矩陣代碼:
完整代碼:
from dbr import DynamsoftBarcodeReader<font></font> dbr = DynamsoftBarcodeReader()<font></font> dbr.initLicense('LICENSE-KEY')<font></font> <font></font> params = dbr.getParameters()<font></font> print(params)<font></font> <font></font> import json<font></font> json_obj = json.loads(params)<font></font> # Update JSON object<font></font> templateName = json_obj['ImageParameter']['Name']<font></font> # DPM<font></font> json_obj['ImageParameter']['DPMCodeReadingModes'][0]['Mode'] = 'DPMCRM_GENERAL'<font></font> json_obj['ImageParameter']['LocalizationModes'][0]['Mode'] = 'LM_STATISTICS_MARKS'<font></font> # Convert JSON object to string<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 參數(shù)= json.dumps(json_obj)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> #設(shè)置參數(shù)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ret = dbr.setParameters(參數(shù))</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 結(jié)果= dbr.decodeFile('dpm.jpg',dbr.BF_ALL)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 結(jié)果:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 打印(“條形碼格式:'+結(jié)果[0])</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> print('條形碼值:'+結(jié)果[1])</font></font><font></font> <font></font>
*想要獲得Dynamsoft Barcode Reader更多資源或正版授權(quán)的朋友,可以咨詢(xún)了解哦~
慧都網(wǎng)·1024程序員節(jié),DevExpress、MyEclipse、Axure RP、Aspose、FastReport等產(chǎn)品限時(shí)放“價(jià)”,給你專(zhuān)屬寵愛(ài)!點(diǎn)擊下方圖片查看活動(dòng)詳情↓↓↓
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: