PyTesseract - распознает цифры в простом изображении
Я пытаюсь использовать pytesseract для распознавания двух чисел из изображения:
- я пытался
--psm 6
вплоть до10
- я пытался
-c tessedit_char_whitelist=0123456789'
Ни один из вышеперечисленных возвратов 49
число. Ближайший я вернулся 4
без 9
Есть ли у вас какие-либо советы о том, как заставить тессеракт распознать это?
2 ответа
Пытаться --psm 13 --oem 3
(oem
= 1 или 2 тоже надо делать)
import pytesseract
from PIL import Image
import requests
import io
response = requests.get('https://stackru.com/images/d976a3baf0ee993b6d0b12cf90cceb0932c07de8.png')
text = pytesseract.image_to_string(Image.open(io.BytesIO(response.content)), lang='eng',
config='--psm 13 --oem 3 -c tessedit_char_whitelist=0123456789')
print(text)
доходность 49
как вы ожидаете на моей машине.
Я получаю тот же результат, загружая изображение локально и стреляя
tesseract oAAXR.png output --oem 3 --psm 13 -l eng
Для справки мой tesseract --version
дает tesseract 4.0.0 leptonica-1.77.0 libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 2.0.1) : libpng 1.6.36 : libtiff 4.0.10 : zlib 1.2.11 : libwebp 1.0.1 Found AVX2 Found AVX Found SSE
,
Вы пробовали разные --oem
? Я бы также попытался использовать --psm
выше 10.
Для меня следующая команда просто возвращает 4
:
tesseract oAAXR.png out --dpi 300 --psm 11 --oem 1 -c tessedit_char_whitelist=0123456789
С помощью:
tesseract 4.1.1-rc2-17-g6343
leptonica-1.76.0
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.2) : libpng 1.6.36 : libtiff 4.0.10 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
Found AVX2
Found AVX
Found FMA
Found SSE
Found libarchive 3.3.3 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.6 liblz4/1.8.3 libzstd/1.3.8