Python change la vie | identifier facilement des centaines de numéros de livraison

Zhu xiaowu 2021-09-15 04:02:03
python change la vie identifier


Bonjour tout le monde,Je suis le petit cinq

C'est aujourd'hui.PythonChanger la vieLe troisième titre de la série,C'est aussi un cas problématique qui vous concerne(Tête de chien).

Précédemment dans

Les petits amis qui me connaissent savent peut - être,Xiao Wu envoie souvent des livres à tout le monde.L'année dernière,Ce n'est pas un tirage au sort,Je l'ai acheté seul+Le parrainage de la maison d'édition a été envoyé1000Ce livre.

Si c'est auto - acheté,J'ai aussi besoin de contacter Fast Brother pour poster des livres.

Après l'envoi, le petit frère Express me donnera une capture d'écran pour les commentaires,Mais j'ai eu des problèmes quand j'ai voulu la liste.

Chaque fois que j'envoie un livre,Tout ce que j'ai, c'estnCaptures d'écran(Contient des informations Express).

Afin de donner un retour d'information rapide sur la logistique , J'ai besoin d'un numéro de livraison rapide. .

Penser à des solutions

Une douzaine ou des dizaines de captures d'écran à chaque fois , C'est vraiment gênant de l'identifier manuellement. .

Regardez d'abord à quoi ressemble chaque capture d'écran. , Pensez au traitement par lots. .

Il s'agit principalement d'obtenir le numéro de commande Express dans l'image par lots. , J'ai trouvé deux solutions. :

  1. Avecpython Identifier le code à barres pour obtenir directement le numéro exact de la facture Express

  2. AvecpythonAppelezocr, Identifier le texte du numéro de commande Express dans la capture d'écran

Qu'est - ce qui est plus simple et plus précis? ?

Aujourd'hui, je vais commencer par parler du processus et de l'expérience de la première approche. .

Traverser l'image

Tout d'abord,, La première étape consiste à obtenir toutes les captures d'écran dans le dossier , Ensuite, l'identification du Code à barres est effectuée successivement. .

Voir les notes pour plus de détails.

import os
def get_jpg():
jpgs = []
path = os.getcwd()
for i in os.listdir(path): #Obtenir la liste des fichiers
if i.split(".")[-1] == "jpg": #FiltragejpgDocumentation(Capture d'écran)
oldname=os.path.join(path,i) #Ancien nom de fichier
i = i.replace('Image Wechat_','')
newname=os.path.join(path,i) #Nouveau nom de fichier
os.rename(oldname,newname) #Changement de nom
jpgs.append(i)
return jpgs
Copier le Code

En plus de parcourir les images filtrées dans le code ci - dessus , Il s'agit également de changer de nom. .

C'est parce que je l'utilise à l'arrière. opencv Heure, Si le chemin ouvert contient du chinois, l'erreur sera toujours signalée. , Alors j'ai simplement supprimé le chinois du nom de la capture d'écran .

Exécuter la construction get_jpg()Fonctions,Je l'ai.

Ce sont les quatre fichiers de capture d'écran de la présentation , Commencez à les identifier. .

Code à barres d'identification

pythonModule tiers pour pyzbar La reconnaissance des codes 2D peut être facilement traitée . Si nous l'utilisons cette fois pour identifier un code à barres unidimensionnel, , C'est à peu près la même chose. . Mais ça va aller. cv2 Utiliser, Principalement pour exploiter cv2.imread() Pour lire un fichier image .

Attention!:Pourcv2Module, Entrée requise lors de l'installation pip3 install opencv-python, Mais lors de l'importation import cv2.

Les énoncés spécifiques qui identifient les codes à barres sont les suivants: :

import pyzbar.pyzbar as pyzbar
import cv2
def get_barcode(img):
image = cv2.imread(img)
barcodes = pyzbar.decode(image)
barcode = barcodes[0]
barcode_data = barcode.data.decode("utf-8")
return barcode_data
Copier le Code

Construit ci - dessus get_barcode() Fonction permettant d'identifier le code à barres , Et renvoie les données de résultat .

Nous pouvons utiliserfor Boucle à travers toutes les images précédemment acquises , Réutiliser à tour de rôle get_barcode() Fonction pour identifier le code à barres .

data_m =[]
for i in jpgs:
data = get_barcode(i)
data_m.append(data)
data_m
Copier le Code

On peut le découvrir., Les codes à barres des quatre captures d'écran ont été identifiés avec succès , Et a obtenu le numéro de livraison correspondant .

Résumé

Examiner les cas problématiques d'aujourd'hui , J'ai pensé à deux solutions. . Le premier avantage est d'identifier le rapport des codes à barres OCRPlus précisément, Mais il n'a obtenu que le numéro de livraison. . Suivi lors de la rétroaction aux élèves qui reçoivent des livres gratuits , Je dois aussi faire correspondre manuellement le nom au numéro de la Liste , Pas assez paresseux. . Le processus et les avantages et inconvénients de la deuxième approche seront présentés plus loin. .

Si vous voulez en voir plus python Les vrais problèmes qui changent la vie , Un petit coup de pouce en bas à droite. .

Si vous avez toujours voulu l'utiliser pythonProblèmes résolus, Bienvenue dans la section commentaires

版权声明
本文为[Zhu xiaowu]所创,转载请带上原文链接,感谢
https://pythonmana.com/2021/09/20210915040128569j.html

  1. 程序員是這樣學習【中藥學】知識的,先用python采集分析一波
  2. Python - pydantic(2)嵌套模型
  3. Python - 面向对象编程 - __dict__
  4. Python - 面向对象编程 - 反射 hasattr、getattr、getattr、delattr
  5. Python - 面向对象编程 - 实战(6)
  6. Python - 面向对象编程 - 魔术方法(双下划线方法)
  7. Python - 面向对象编程 - __new__() 和单例模式
  8. Python - 面向对象编程 - __call__()
  9. Python - repr()、str() 的区别
  10. Python - 面向对象编程 - __repr__()
  11. Python - eval()
  12. 用 Django REST framework 来实现一次性验证码(OTP)
  13. Python code checking tool (static code review)
  14. Python QT GUI Design: overview of UI interface visualization components and properties (Fundamentals - 3)
  15. 【算法学习】1863. 找出所有子集的异或总和再求和(java / c / c++ / python / go / rust)
  16. [apprentissage de l'algorithme] 1863. Trouver la somme Xor de tous les sous - ensembles (Java / C / C + + / python / go / Rust)
  17. Python code checking tool (static code review)
  18. Python 万能代码模版:爬虫代码篇
  19. Modèle de code universel Python: Code crawler
  20. 收藏 | Python 之 Pandas系统性总结!
  21. Take you to learn more about nginx basic login authentication: generating passwords using Python
  22. 超硬核Python避坑学习方案奉上!入门到就业一篇就搞定!
  23. Talk about how JMeter executes Python scripts concurrently
  24. Talk about how JMeter executes Python scripts concurrently
  25. Talk about how JMeter executes Python scripts concurrently
  26. python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!
  27. python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!
  28. python內置函數通過字符串的方式來執行函數代碼塊,類似java的反射機制相當强大!
  29. Les fonctions intégrées Python exécutent des blocs de code de fonction à travers des chaînes, et les mécanismes de réflexion comme Java sont assez puissants!
  30. Python module 1
  31. Python tip: use namedtuple instead of manually created classes
  32. Python - poetry(3)配置项详解
  33. Python - poetry(3)配置项详解
  34. Python - poetry(3)配置項詳解
  35. Python - poetry(3)配置項詳解
  36. Python - détails de l'élément de configuration Poetry (3)
  37. Python - détails de l'élément de configuration Poetry (3)
  38. Python案例实战,pygame模块,Python实现字母代码雨
  39. Python calculation vector angle code
  40. Python基础面试题解读|《Python面试100层》|第1层
  41. 面对小白的pandas命令手册+练习题【三万字详解】
  42. 面對小白的pandas命令手册+練習題【三萬字詳解】
  43. Face au Manuel de commande pandas de Xiaobai + question d'exercice [30 000 mots pour plus de détails]
  44. Interprétation des questions d'entrevue de base Python | 100 couches d'entrevue Python | couche 1
  45. Python data structure and algorithm (17) -- merge sort
  46. Les fonctions intégrées Python exécutent des blocs de code de fonction à travers des chaînes, et les mécanismes de réflexion comme Java sont assez puissants!
  47. Python笔记-uiautomator2截图点击,OpenCV找图
  48. Python文档阅读笔记-OpenCV中Template Matching
  49. Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
  50. Python筆記-利用OpenCV的matchTemplate屏幕找圖並使用pyautogui點擊
  51. Notes python - utilisez l'écran matchtemplate d'OpenCV pour trouver des images et cliquez sur
  52. Notes de lecture de documents python - Matching de modèles dans OpenCV
  53. Notes python - capture d'écran de l'automate 2 Cliquez pour ouvrir la vue
  54. python链接云服务器的mysql8
  55. python鏈接雲服務器的mysql8
  56. Mysql8 pour les serveurs Cloud liés Python
  57. Python资源大集合,要的话可以拿走!
  58. ️万字【Python基础】保姆式教学️,小白快速入门Python!
  59. ️萬字【Python基礎】保姆式教學️,小白快速入門Python!
  60. Wanzi [base Python] Baby - sitting Teaching, Little White Quick Start Python!