在python上将此验证码中的图像转换为文本
我一直在尝试使用pytesseract库将图像转换为文本。然而,我已经成功地拍摄了验证码并尝试翻译它。它不能很好地翻译文本,并使验证码失败,我不知道我做错了什么,我搜索了许多网站,我找不到具体的东西:s。我真的需要帮助 这是我在python上的代码:在python上将此验证码中的图像转换为文本,python,python-tesseract,Python,Python Tesseract,我一直在尝试使用pytesseract库将图像转换为文本。然而,我已经成功地拍摄了验证码并尝试翻译它。它不能很好地翻译文本,并使验证码失败,我不知道我做错了什么,我搜索了许多网站,我找不到具体的东西:s。我真的需要帮助 这是我在python上的代码: from PIL import Image, ImageFilter import pytesseract as pt from selenium import webdriver from selenium.webdriver.common.by
from PIL import Image, ImageFilter
import pytesseract as pt
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
rif = 'J400607396'
browser = webdriver.Chrome('C:\\Users\\USUARIO\\Desktop\\chromedriver.exe') -> driver on chrome
browser.get('http://contribuyente.seniat.gob.ve/BuscaRif/BuscaRif.jsp') -> page
# completar el rif y presionar el siguiente botón
p_rif = browser.find_element_by_id('p_rif') -> input p rif
p_rif.send_keys(rif)
# Imagen captcha
screenshot_name = "captcha.png"
browser.save_screenshot(screenshot_name)
img = Image.open("captcha.png")
area = (143, 205, 263, 235)
cropped_img = img.crop(area)
cropped_img.save('captcha.png')
img = Image.open("captcha.png")
captcha = pt.image_to_string(img,config='--psm 10 -c tessedit_char_whitelist=0123456789abcdefghijklmnopkrstuvwxyz') -> this is the problem
captcha = captcha.replace(" ", "").strip()
print(captcha)
codigo = browser.find_element_by_id('codigo')
codigo.send_keys(captcha)
nextButton = browser.find_element_by_name('busca')
nextButton.click()
browser.close()
我需要转换成文字的图像,是所有
我将附上一个示例验证码,验证码总是随着每次更新而变化
如果可能的话,验证码的意义是什么?我需要解析验证码以获得更多关于rif sentcaptcha用于阻止机器人程序/脚本的信息-在本页上它似乎工作正常。解决这个问题应该不容易。您可以尝试学习机器学习中的一些模型,深度网络可以识别包含一些额外元素的文本。据我所知,tesseract还使用深度网络来识别文本,并且可以选择学习自己的tesseract模型,但这可能不是一项容易的任务。您还可以找到能够识别captcha文本的门户(但您可能需要付费)-其中一些门户使用Deep Network+Real People。另请参见Tesseract doc:我直接使用测试工具测试了您的示例图像。当我转换为灰度时,我会得到文本,在白色背景上转换为黑色文本,并使用
--psm 7
(对于一行中的文本)。我还测试了200%的大小(以及--psm 7
),但它没有给出文本。