首页 > 解决方案 > 使用 OpenCV 和 Python 识别注册细节

问题描述

我需要有关如何检查 dataFrame 是否包含可识别文本的帮助。

我只需要使用这个

df.loc[df['Col'].str.contains(txt, case=False)]

但我没有成功。

代码 :

import cv2
import pytesseract
import pandas as pd
 
pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract-OCR/tesseract.exe"
 
img = cv2.imread('image/tt.jpg')
gry = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
(h, w) = gry.shape[:2]
gry = gry[int(h/4) + 40:int(h/2)-20, int(w/2):int((w*3)/4)]
blr = cv2.GaussianBlur(gry, (3, 3), 0)
thr = cv2.threshold(gry, 128, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
txt = pytesseract.image_to_string(thr)
print(txt)

df = pd.DataFrame([[1,"CMA CGM"],[2,"7040"],[3,"ED7485"]],columns=('ID','Col'))
Res = df.loc[df['Col'].str.contains(txt, case=False)]
print(Res)

cv2.imshow("thr", thr)
cv2.waitKey(0)

代码中使用的图像: https ://upload.wikimedia.org/wikipedia/commons/d/de/CMA_CGM_container.JPG

我的输出:

CMA CGM

Empty DataFrame
Columns: [ID, Col]
Index: []

有人能帮我吗?

标签: pythonpandasopencvcomputer-visionopencv-python

解决方案


推荐阅读