在 Python 中使用 Tesseract-OCR 从图像中获取数字

问题描述

我有数以千计的比例图像,我想从每个图像中提取比例读数。但是,当使用 Tesseract 时,它会给出错误的值。我为图像尝试了几个过程,但仍然遇到相同的问题。根据我到目前为止在图像中定义感兴趣区域后的理解,它必须转换为黑色背景的白色文本。但是,我是 python 的新手,我尝试了一些函数来这样做,但仍然遇到同样的问题。如果有人能帮助我解决这个问题,我们将不胜感激。以下链接用于图片,因为它超过 2 MiB,我无法在此处上传: https://mega.nz/file/fZMUDRbL#tg4Tc2VmGMMdEpnZzt7blxZjVLdlhMci9jll0FLnIGI

import cv2
import pytesseract
import matplotlib.pyplot as plt
import numpy as np
import imutils

## Reading Image File
Filename = 'C:\\Users\\Abdullah\\Desktop\\Scale Reading\\'   #File Path For Images
IName = 'Disk_Test_1_09_07-00000_0.tif'   # Image Name
Image = cv2.imread(Filename + IName,0)


## Image Processing
Image_Crop = Image[1680:1890,550:1240]   # Define Region of Interest of the image
#cv2.imshow("cropped",Image_Crop)         # Show Cropped Image
#cv2.waitKey(0)                           # Show Cropped Image
Mask = Image_Crop > 10                    # Thershold Image to Value of X
Mask = np.array(Mask,dtype=np.uint8)
plt.imshow(Mask,alpha=1) # Set Opacity (Max 1)
ret,Binary = cv2.threshold(Mask,255,cv2.THRESH_BINARY)
#plt.imshow(Image_Crop,cmap="gray")          # Transform Image to Gray
#plt.show()
plt.imshow(Binary,'gray',vmin=0,vmax=255)
plt.show()


## Number Recognition
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'  # Call Location of Tesseract-OCR
data = pytesseract.image_to_string(Binary,lang='eng',config='--psm 6')
print(data)

这是处理后的图片

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...