簡體   English   中英

Pytesseract 在檢測文本時跳過數字

[英]Pytesseract skipping numbers while detecting text

我編寫了一個簡單的 python 代碼來從圖像中獲取文本。 這里的大部分文字都是印地語,但我只關心圖像“5485 5000 8000”中的 12 位數字。 這是我寫的代碼:

import cv2
import pytesseract

img = cv2.imread('Aadhar-Card.jpg',0)
text = pytesseract.image_to_data(img,lang='eng', config='--psm 13 --oem 3 -c tessedit_char_whitelist=0123456789')
print(text)
h, w = img.shape
boxes = pytesseract.image_to_boxes(img) 
for b in boxes.splitlines():
    b = b.split(' ')
    img1 = cv2.rectangle(img, (int(b[1]), h - int(b[2])), (int(b[3]), h - int(b[4])), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)

這是output 所以這個數字是唯一被跳過的東西。 有沒有什么辦法解決這一問題?

您可以先裁剪感興趣的部分(數字區域),然后實施 OCR。

import cv2
import pytesseract

img = cv2.imread('Aadhar-Card.jpg',0)
crop_img = img[173:173+30, 117:117+150]
strNum = pytesseract.image_to_string(crop_img, config='--psm 13 --oem 3 -c tessedit_char_whitelist=0123456789')
print(strNum)
cv2.imshow("cropped", crop_img)
cv2.waitKey(0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM