(例子虽有改动,但思路是一样的)我正在找一个SRD型号。在产品标签上的照片下面是一个标签示例:
条件是:1.不同代的产品在标签上的信息结构不同。
z18hc3ub1#
下面是一个遵循@安格斯精梳机建议的示例脚本:
import pytesseract import numpy as np import cv2 from cv2 import imread, cvtColor, COLOR_BGR2HSV as HSV, inRange, getStructuringElement, resize from pytesseract import image_to_data, Output def extract_SRD(filename): img = cv2.imread(filename) img_copy = img.copy() img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_blur = cv2.GaussianBlur(img_gray, (3,3),0) mydata = pytesseract.image_to_data(img_blur, output_type=Output.DICT, config='--psm 6') SRD = mydata['text'][mydata['text'].index('SRD')+2] return SRD filename = 'wm3tG.png' SRD = extract_SRD(filename) print(SRD)
此代码段返回:5427G2**这里重要的一行是SRD = mydata['text'][mydata['text'].index('SRD')+2]。在这里定义用于检索SRD代码的逻辑。在这个例子中,我只是查询SRD之后的第二个字符串,因此跳过了单词“Model”。我建议对这个例子进行微调,检查输出字典中的特定值是否包含 *“SRD”。然后,您可以简单地查找下一个字符串:
SRD = mydata['text'][mydata['text'].index('SRD')+2]
bttbmeg02#
使用OCR将产品标签捕获为文本。搜索字符串SRD型号:然后抓取文本1字符后的空间到下一个空格,这是你的SRD号码。
2条答案
按热度按时间z18hc3ub1#
下面是一个遵循@安格斯精梳机建议的示例脚本:
此代码段返回:5427G2**
这里重要的一行是
SRD = mydata['text'][mydata['text'].index('SRD')+2]
。在这里定义用于检索SRD代码的逻辑。在这个例子中,我只是查询SRD之后的第二个字符串,因此跳过了单词“Model”。我建议对这个例子进行微调,检查输出字典中的特定值是否包含 *“SRD”。然后,您可以简单地查找下一个字符串:
bttbmeg02#
使用OCR将产品标签捕获为文本。搜索字符串SRD型号:然后抓取文本1字符后的空间到下一个空格,这是你的SRD号码。