es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Extraer texto en dos fondos de imagen de video.

Tengo varios textos en una imagen con dos fondos,

necesito ignorar el fondo y extraer el texto de mi imagen. ej:
1

2

debido al color de fondo (negro y blanco), es muy difícil extraer el texto..

Estoy usando este código:

import cv2
import pytesseract
import numpy as np

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

tessdata_dir_config = '--tessdata-dir "/usr/local/Cellar/tesseract-lang/4.1.0/share/tessdata"'

# Cargar imagen, convertir a escala de grises, umbral de Otsu
image = cv2.imread('/Users/snrt1/PycharmProjects/pythonProjectopencv/image/20.png')
image = cv2.imread('/Users/snrt1/PycharmProjects/pythonProjectopencv/image/150.jpg')

# Cargar imagen, convertir a HSV, umbral de color para obtener máscara
image = cv2.imread('2.png')
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
lower = np.array([0, 0, 0])
upper = np.array([100, 175, 110])
mask = cv2.inRange(hsv, lower, upper)

# Invertir imagen y OCR
invert = 255 - mask
data = pytesseract.image_to_string(invert, lang='eng+ara', config='--psm 6')
print(data)

cv2.imshow('mask', mask)
cv2.imshow('invert', invert)
cv2.waitKey()

El resultado es:

3

Solo extrajo la frase con fondo blanco

¿Cómo puedo extraer todo el texto de esta imagen?

Gracias

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para extraer todo el texto de la imagen, puedes probar los siguientes enfoques:

    1. Utiliza una técnica de umbral de color diferente que funcione bien para el fondo negro de la imagen. Puedes experimentar con diferentes técnicas de umbralización, como la umbralización adaptativa o la detección de bordes Canny.
    2. Utiliza técnicas de procesamiento de imágenes, como morfología, para eliminar el ruido de fondo y mejorar las regiones de texto. Puedes probar técnicas como erosión, dilatación, apertura, cierre, etc., para lograr esto.

    3. Utiliza una combinación de técnicas de OCR (reconocimiento óptico de caracteres) y algoritmos de detección de texto para detectar y extraer regiones de texto. Hay varios algoritmos disponibles para la detección de texto, como EAST, CRAFT, etc., que puedes probar.

    4. Utiliza modelos de OCR basados en aprendizaje profundo que estén entrenados en texto de diferentes fondos y fuentes. Estos modelos pueden manejar diferentes fondos y orientaciones de texto con alta precisión.

    En general, el enfoque que elijas dependerá de las características específicas de tu imagen y de la precisión que necesites para la extracción de texto.

Comments are closed.