codigo beta
Anonymous
python
01/24/2025 1:54 AM
2.9 KB
40
Indexable
import logging
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
import cv2
import pytesseract
from io import BytesIO
from PIL import Image
# Configurar el logging para ver detalles de lo que está pasando
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)
logger = logging.getLogger(__name__)
# Comando start para verificar que el bot está funcionando
def start(update: Update, context: CallbackContext) -> None:
update.message.reply_text('¡Hola! Envíame una imagen y extraeré los datos de ella.')
# Función para procesar las imágenes enviadas
def process_image(update: Update, context: CallbackContext) -> None:
file = update.message.photo[-1].get_file() # Obtener la imagen de la foto enviada
file.download('image.jpg') # Guardar la imagen en el servidor
# Cargar la imagen con OpenCV
img = cv2.imread('image.jpg')
# Convertir la imagen a texto usando Tesseract OCR
text = pytesseract.image_to_string(img) # Extraer todo el texto de la imagen
# Filtrar la información que necesitas (esto es solo un ejemplo, se puede ajustar)
# Aquí podemos hacer un procesamiento de la imagen para extraer datos específicos
# Si tienes coordenadas predefinidas o áreas específicas de la imagen, puedes ajustar el código.
extracted_data = text # Puedes aplicar más filtros según las coordenadas específicas
# Enviar el texto extraído de vuelta al grupo
update.message.reply_text(f'Datos extraídos:\n{extracted_data}')
# Función principal que configura y arranca el bot
def main():
# Reemplaza 'YOUR_TOKEN' con el token de tu bot de Telegram
updater = Updater("7502458784:AAGyyR04XSHRYfalw5vbUQkR8ySRDiJpItE", use_context=True)
dp = updater.dispatcher
# Comando '/start'
dp.add_handler(CommandHandler("start", start))
# Manejar imágenes enviadas al bot
dp.add_handler(MessageHandler(Filters.photo, process_image))
# Iniciar el bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
Editor is loading...
Leave a Comment