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