我的代码是:
import cv2,numpy
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe" # For Windows OS
def scan(image):
try:
img = cv2.cvtColor(numpy.array(image), cv2.COLOR_RGB2BGR)
except:
img = cv2.imread(image)
# Apply OCR
data = pytesseract.image_to_string(img, config="-c tessedit"
"_char_whitelist=1234567890"
" --psm 6"
" ")
return data当我让它扫描这幅图像时,它只会给我“”。没什么。我不知道出了什么问题,在其他数字上工作,我应该改变什么?如果您有一些用于此映像的python,您也可以发送它。
发布于 2022-03-02 23:43:42
使用Tesseract或任何OCR都会变得非常棘手。您提到的图片工作正常,质量可能更好,或者与您在代码/计算机中使用的dataset版本密切相关。
要改进这一点,您可以做的一些基本步骤是:
如果这有用的话请告诉我!
发布于 2022-03-04 14:47:00
阅读文档,了解你在做什么,你就会得到正确的结果。提示:假装单个字符是一个统一的文本块是不明智的。
发布于 2022-03-04 22:29:54
你的照片对我有用。我猜你没能成功地读到这张照片?您可以通过print(img.shape)或if img is None: print('None')进行调试。Python可能在另一个目录中操作。os.getcwd()获取Pythons当前工作目录。您还可以执行os.path.isfile(image)来查看Python是否能够找到正在查找的文件。
这就是我试过的:
import cv2,numpy
import pytesseract
# ~ pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe" # For Windows OS
img = cv2.imread('niner.png')
# Apply OCR
data = pytesseract.image_to_string(img, config="-c tessedit"
"_char_whitelist=1234567890"
" --psm 6"
" ")
print('tesseract version: ', pytesseract.get_tesseract_version())
print('=============================================')
print(data)结果是:
tesseract version: 4.0.0.20181030
leptonica-1.76.0
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.2.0
=============================================
9
♀https://stackoverflow.com/questions/71330449
复制相似问题