AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones OCR
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Lee el texto de una imagen.
Ejemplo
MyImage is Image
let MyString = OCRExtractText(MyImage)
MyImage is Image
r is Rectangle
r.X=346
r.Y=2258
r.Width = (2158-346)
r.Height = (2323-2258)
let sString = OCRExtractText(MyImage, r)
Trace(sString)
p is Polygon
p.Point[1].X = 346
p.Point[1].Y = 2258
p.Point[2].X = 2158
p.Point[2].Y = 2258
p.Point[3].X = 2158
p.Point[3].Y = 2323
p.Point[4].X = 346
p.Point[4].Y = 2323
let sString2 = OCRExtractText(MyImage, p)
Trace(sString2)
Sintaxis
<Result> = OCRExtractText(<Image to use> [, <Area to read>])
<Result>: Cadena de caracteres
Texto extraído de la imagen.
<Image to use>: Nombre de control, variable de tipo Image, cadena de caracteres
Imagen en la que se deben detectar las áreas de texto. Esta imagen puede corresponder a:
  • un control Imagen,
  • una variable de tipo Image,
  • un campo de tipo Memo Imagen,
  • la ruta de un archivo de imagen
  • la ruta de un archivo PDF.
<Area to read>: Variable opcional de tipo Rectangle o Polygon
  • Nombre de la variable de tipo Rectangle que representa el área que contiene el texto a extraer.
  • Nombre de la variable de tipo Polygon que representa el área que contiene el texto a extraer. En este caso, el área leída corresponde al rectángulo que contiene el polígono.
De forma predeterminada, si no se especifica este parámetro, se extrae todo el texto de la imagen.
Observaciones
  • AndroidWidget Android Se utiliza el motor Legacy. Los modelos personalizados (archivos .traineddata) deben ser compatibles con este motor.
  • WindowsLinux Los motores Legacy y LSTM pueden utilizarse en aplicaciones WINDEV (Windows y Linux). Los modelos LSTM se proporcionan de forma predeterminada.
  • Para los archivos PDF:
    • si no se especifica el parámetro <Área a leer>, la función OCRExtractText extraerá el texto de todas las páginas del archivo PDF especificado.
    • si se especifica el parámetro <Área a leer>, la página deseada debe extraerse como una imagen utilizando la función PDFExtractPage (incluso si el archivo PDF tiene solo una página). Esta imagen se puede manipular con la función OCRExtractText.
  • Para obtener mejores resultados, se recomienda:
    • Utilizar una imagen de alta resolución.
    • Si es posible, recortar la imagen alrededor del texto (evite las áreas innecesarias).
    • Limitar la inclinación del texto. Si la imagen está ligeramente inclinada, el OCR puede detectar el texto, pero bajará la calidad.
      iPhone/iPad Se pueden leer las imágenes inclinadas.
    • Limitar el número de modelos/idiomas utilizados.
  • Tenga en cuenta que, si la imagen utilizada corresponde a un control Imagen, se manipulará directamente la imagen de origen. Por lo tanto, los cambios realizados en el control Imagen (tamaño de la imagen, por ejemplo) no se tendrán en cuenta. Para aplicar estos cambios, es necesario guardar la imagen.
  • Tenga en cuenta que, si la imagen utilizada (a través de un control Imagen) es un archivo PDF, su calidad cambiará a 300 DPI.
  • El OCR solo puede detectar texto impreso. No reconoce el texto escrito a mano.
  • No se reconoce el texto "en blanco".
  • Si la imagen manipulada corresponde a un control Imagen, y la imagen de origen es más pequeña que el control, el parámetro <Área a leer> debe especificarse con las coordenadas de la imagen de origen y no con las coordenadas del control Imagen. Utilice la función CoordinateImageControlToImage para convertir las coordenadas.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290ocr.dll
Versión mínima requerida
  • Versión 26
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 17/07/2023

Señalar un error o enviar una sugerencia | Ayuda local