• XSS.stack #1 – первый литературный журнал от юзеров форума

Как улучшить код чтения текста с фото ?

Undergrowth

(L3) cache
Пользователь
Регистрация
14.05.2024
Сообщения
174
Решения
1
Реакции
111
Менял в readtext методы и оставил такой вариант. Читает 2 из 5 капч. Капчи прикрепил

# Найденный текст: 8om5b5, Уверенность: 0.69
# Найденный текст: sg6xap, Уверенность: 0.40
# Найденный текст: 2ndbo5, Уверенность: 0.96
# Найденный текст: g01p2z4, Уверенность: 0.58
# Найденный текст: ggbeeo, Уверенность: 0.48

Код:
import os
import easyocr
import cv2


reader = easyocr.Reader(['en'], gpu=False)

for root, dir, files in os.walk('img'):
    for file in files:
        file = os.path.join(root, file)
        image = cv2.imread(file)

        result = reader.readtext(image)

        for detection in result:
            text = detection[1]
            confidence = detection[2]
            print(f"Найденный текст: {text}, Уверенность: {confidence:.2f}")
 

Вложения

  • 1.png
    1.png
    8 КБ · Просмотры: 58
  • 2.png
    2.png
    7.4 КБ · Просмотры: 52
  • 3.png
    3.png
    7.5 КБ · Просмотры: 44
  • 4.png
    4.png
    7.6 КБ · Просмотры: 39
  • 5.png
    5.png
    6 КБ · Просмотры: 58
Менял в readtext методы и оставил такой вариант. Читает 2 из 5 капч. Капчи прикрепил

# Найденный текст: 8om5b5, Уверенность: 0.69
# Найденный текст: sg6xap, Уверенность: 0.40
# Найденный текст: 2ndbo5, Уверенность: 0.96
# Найденный текст: g01p2z4, Уверенность: 0.58
# Найденный текст: ggbeeo, Уверенность: 0.48

Код:
import os
import easyocr
import cv2


reader = easyocr.Reader(['en'], gpu=False)

for root, dir, files in os.walk('img'):
    for file in files:
        file = os.path.join(root, file)
        image = cv2.imread(file)

        result = reader.readtext(image)

        for detection in result:
            text = detection[1]
            confidence = detection[2]
            print(f"Найденный текст: {text}, Уверенность: {confidence:.2f}")
Попробуй pytesseract

Код:
import cv2
import pytesseract
import time

pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'

with open("image.png", "wb") as file:
    file.write(img.content)

captcha = cv2.imread("image.png")
text = pytesseract.image_to_string(captcha)
decoded = text.strip()
print(decoded)
 
Попробуй pytesseract

Код:
import cv2
import pytesseract
import time

pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'

with open("image.png", "wb") as file:
    file.write(img.content)

captcha = cv2.imread("image.png")
text = pytesseract.image_to_string(captcha)
decoded = text.strip()
print(decoded)
пробовал результат хуже
 
НА самом деле, лучше всего для меня справился тессеракт, у него на удивление хорошо получается распознавать даже сильно замытые капчи





а, только сейчас увидел про Pytesseract.
 
НА самом деле, лучше всего для меня справился тессеракт, у него на удивление хорошо получается распознавать даже сильно замытые капчи





а, только сейчас увидел про Pytesseract.
а какой конфиг был ?
 
У меня тессеракт подобные капчи, 85-90 из 100 делал
можешь попробовать решить мои ? Прикрепил 5 фоток если что баксов 50 кину за решение
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх