翻譯|使用教程|編輯:楊鵬連|2020-11-26 13:39:28.447|閱讀 312 次
概述:在本文中,我將分享如何從Google快速下載一堆條形碼圖像,以及如何使用Dynamsoft Barcode Reader SDK自動添加標簽名稱。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Dynamsoft Barcode Reader SDK一款多功能的條碼讀取控件,只需要幾行代碼就可以將條碼讀取功能嵌入到Web或桌面應用程序。這可以節省數月的開發時間和成本。能支持多種圖像文件格式以及從攝像機或掃描儀獲取的DIB格式。使用Dynamsoft Barcode Reader SDK,你可以創建強大且實用的條形碼掃描儀軟件,以滿足你的業務需求。
點擊下載Dynamsoft Barcode Reader最新版
LabelImg是使用Python和Qt5編寫的免費開源圖像注釋工具。它支持主流機器學習框架通常采用的Pascal VOC格式和Yolo格式。如果您對條形碼對象檢測感興趣,則可以使用該工具用邊界框注釋不同的條形碼符號。在本文中,我將分享如何從Google快速下載一堆條形碼圖像,以及如何使用Dynamsoft Barcode Reader SDK自動添加標簽名稱。
圖片下載
首先,我們需要圖像。我們如何獲得一堆具有相同分類的圖像?
有一個方便的Python庫google_images_download。
pip install google_images_download當我運行庫時,我發現它通常無法正常工作。它總是無法下載任何圖像。該問題已在//github.com/hardikvasa/google-images-download/issues/331上提及。幸運的是,有人提供了可行的解決方法。我們可以使用已修復問題的分支存儲庫:
git clone //github.com/Joeclinton1/google-images-download.git cd google-images-download && python setup.py install根據在線文檔,我們可以編寫一個簡單的Python腳本來下載圖像,如下所示:
from google_images_download import google_images_download import argparse ap = argparse.ArgumentParser() ap.add_argument("-k", "--keywords", required=True, help="The keywords/key phrases you want to search for.") ap.add_argument("-l", "--limit", required=True, help="The number of images that you want to download.") args = vars(ap.parse_args()) response = google_images_download.googleimagesdownload() arguments = {"keywords":args["keywords"],"limit":args["limit"],"print_urls":True} paths = response.download(arguments) print(paths)將Python腳本保存到google-image-downloader.py。
讓我們從Google下載10張PDF417圖像:
python3 google-image-downloader.py -k pdf417 -l 10條形碼對象注釋
條形碼圖像準備就緒后,我們就可以開始為條形碼加標簽了。
第一步是獲取LabelImg存儲庫的源代碼:
git clone //github.com/tzutalin/labelImg.git使用LabelImg,我們可以通過眼睛標記大多數對象。但是,您可能不知道所有條形碼符號。為了精確快速地命名條形碼對象,我們可以使用Dynamsoft Barcode Reader作為輔助工具:
pip install dbr初始化Dynamsoft條碼閱讀器非常簡單:
from dbr import * reader = BarcodeReader()轉到labelImg.py中的函數newShape(self)。完成為對象繪制邊界框后,將觸發該功能。
下一步是從當前形狀獲取坐標,該坐標存儲為畫布中形狀數組的最后一個元素:
shape = self.canvas.shapes[-1]形狀有四個點。為了提取坐標值并為Dynamsoft Barcode Reader設置區域值,我們使用左上角和右下角:
reader.reset_runtime_settings() shape = self.canvas.shapes[-1] points = shape.points settings = reader.get_runtime_settings() settings.region_bottom = round(points[2].y()) settings.region_left = round(points[0].x()) settings.region_right = round(points[2].x()) settings.region_top = round(points[0].y()) reader.update_runtime_settings(settings)之后,我們可以通過調用Python條形碼解碼API來獲取區域內的條形碼信息:
try: text_results = reader.decode_file(self.filePath) if text_results != None: for text_result in text_results: print("Barcode Format :") print(text_result.barcode_format_string) self.prevLabelText = text_result.barcode_format_string print("Barcode Text :") print(text_result.barcode_text) print("Localization Points : ") print(text_result.localization_result.localization_points) print("-------------") except BarcodeReaderError as bre: print(bre)保存labelImg.py文件并運行程序:
python3 labelImg.py當您為條形碼對象創建一個矩形框時,它將自動用相應的條形碼類型填充標簽對話框。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: