python - 使用 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: []
有人能帮我吗?
解决方案
推荐阅读
- python - 将 2 个数组组合成一个字典
- excel - 运行时错误“438”对象不支持此属性或方法(发送自动电子邮件)
- xamarin - 检测 Xamarin 表单中 NavigationPage 的后退箭头按下
- xml - 如何获取使用 QXmlSchema 验证的纯文本消息?
- azure - Azure 持续部署忽略图像文件
- extjs - 带有 autoScroll 的容器中的 extjs autoHeight 不起作用
- javascript - 猫鼬嵌套对象不更新
- php - Laravel,使用 CCSID 解码传递的参数
- autodesk-forge - 通过 Forge Web 服务上传到 bim 360 doc mgmt 的文件在登录到 BIM 360 网站时不显示?
- python - 我在两个项目中使用 Python 登录。将一个导入另一个时,只有一个记录器有效