翻譯|使用教程|編輯:楊鵬連|2020-07-03 11:35:42.097|閱讀 262 次
概述:在本文中,我將以Code39為例,演示如何使用Dynamsoft Barcode Reader SDK解碼非標(biāo)準(zhǔn)一維條形碼。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Dynamic Web TWAIN是一個專為Web應(yīng)用程序設(shè)計(jì)的TWAIN掃描識別控件。你只需在TWAIN接口寫幾行代碼,就可以用兼容TWAIN的掃描儀掃描文檔或從數(shù)碼相機(jī)/采集卡中獲取圖像。然后用戶可以編輯圖像并將圖像保存為多種格式,用戶可保存圖像到遠(yuǎn)程數(shù)據(jù)庫或者SharePoint。這個TWAIN控件還支持上傳和處理本地圖像。
點(diǎn)擊下載Dynamic Web TWAIN試用版
起始和終止字符被定義為線性條形碼(一維條形碼)標(biāo)準(zhǔn)的一部分。但是,您可能會遇到一些非標(biāo)準(zhǔn)的一維條形碼符號,其中開始和結(jié)束字符有所更改。在本文中,我將以Code39為例,演示如何使用Dynamsoft Barcode Reader SDK解碼非標(biāo)準(zhǔn)一維條形碼。
開發(fā)環(huán)境
Dynamsoft條形碼閱讀器SDK僅支持Python3.x。
pip install dbr非標(biāo)準(zhǔn)一維條形碼識別
為了進(jìn)行比較,我準(zhǔn)備了三個Code39圖像,它們的起始和終止字符不同。
標(biāo)準(zhǔn)代碼39符號(*)
非標(biāo)準(zhǔn)Code39符號體系(+)
非標(biāo)準(zhǔn)Code39符號體系(-)
以下是用于解碼標(biāo)準(zhǔn)一維條形碼圖像的代碼段:
from dbr import * license_key = "LICENSE-KEY" # //www.dynamsoft.com/CustomerPortal/Portal/Triallicense.aspx reader = BarcodeReader() reader.init_license(license_key) try: text_results = reader.decode_file(filename) if text_results != None: for text_result in text_results: print('Barcode Format:') print(text_result.barcode_format_string) print('') print('Barcode Text:') print(text_result.barcode_text) print('') print('Localization Points:') print(text_result.localization_result.localization_points) print('------------------------------------------------') print('') except BarcodeReaderError as bre: print(bre)在運(yùn)行代碼之前,您需要獲得免費(fèi)的試用許可證。
如果您使用非標(biāo)準(zhǔn)的1D條形碼符號符號運(yùn)行代碼,則不會有結(jié)果。根據(jù)在線文檔,非標(biāo)準(zhǔn)條形碼在EnumBarcodeFormat_2中定義為擴(kuò)展格式。
因此,您需要對上面的代碼進(jìn)行一些更改:
print(text_result.barcode_format_string_2)
另外,您必須設(shè)置與條形碼類型相關(guān)的開始和結(jié)束字符。一種簡單的方法是加載JSON格式的參數(shù)模板文件:
{ "ImageParameter": { "BarcodeFormatIds_2": [ "BF2_NONSTANDARD_BARCODE" ], "FormatSpecificationNameArray": [ "FormatSpecification1" ], "DeblurLevel": 9, "Description": "", "ExpectedBarcodesCount": 0, "LocalizationModes": [ { "Mode": "LM_CONNECTED_BLOCKS" }, { "Mode": "LM_SCAN_DIRECTLY", "ScanStride": 0 }, { "Mode": "LM_STATISTICS" }, { "Mode": "LM_LINES" } ], "Name": "Test", "Timeout": 1000000 }, "FormatSpecification": { "Name": "FormatSpecification1", "BarcodeFormatIds_2": [ "BF2_NONSTANDARD_BARCODE" ], "StandardFormat": "BF_CODE_39", "HeadModuleRatio": "131113131", "TailModuleRatio": "131113131" }, "Version": "3.0" }
對于非標(biāo)準(zhǔn)條形碼,您只需要修改以下部分:
"StandardFormat": "BF_CODE_39", "HeadModuleRatio": "131113131", "TailModuleRatio": "131113131"
現(xiàn)在,您可以創(chuàng)建一個自定義模板文件并將其加載到Python代碼中:
json_file = None if special_character == '+': json_file = r"template_plus.json" if special_character == '-': json_file = r"template_minus.json" if json_file == None: return error = reader.init_runtime_settings_with_file(json_file) if error[0] != EnumErrorCode.DBR_OK: print(error[1])運(yùn)行我的Python代碼以讀取標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)Code39條形碼:
如果您對將網(wǎng)絡(luò)攝像頭捕獲集成到PHP應(yīng)用程序中有任何疑問,請告訴我們。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: