Cómo extraer texto de un archivo de imagen

Cómo usar Iron Tesseract en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR proporciona una API intuitiva para utilizar el Tesseract 5 personalizado y optimizado, conocido como Iron Tesseract. Al usar IronOCR e IronTesseract, podrás convertir imágenes de texto y documentos escaneados en texto y PDFs buscables.

como-título:2(Inicio rápido: Configurar la configuración de IronTesseract en C#)

Aquí tienes una forma rápida de empezar con IronTesseract. Este ejemplo muestra cómo iniciar el motor, modificar algunas configuraciones y ejecutar OCR: solo una imagen, una llamada, sin código repetitivo.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronOCR con el gestor de paquetes NuGet

    PM > Install-Package IronOcr

  2. Copie y ejecute este fragmento de código.

    var result = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.English, Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = false, RenderSearchablePdf = true, WhiteListCharacters = "ABCabc123" } }.Read(new IronOcr.OcrInput("image.png"));
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Crear una instancia de IronTesseract

Simplemente inicializa un objeto Tesseract de esta manera:

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-initialize-irontesseract.cs
using IronOcr;

IronTesseract ocr = new IronTesseract();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Puedes personalizar el comportamiento de IronTesseract seleccionando diferentes idiomas, habilitando la lectura de códigos de barras, y eligiendo listas blancas/negras de caracteres:

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-configure-irontesseract.cs
IronTesseract ocr = new IronTesseract
{
    Configuration = new TesseractConfiguration
    {
        ReadBarCodes = false,
        RenderHocr = true,
        TesseractVariables = null,
        WhiteListCharacters = null,
        BlackListCharacters = "`ë|^",
    },
    MultiThreaded = false,
    Language = OcrLanguage.English,
    EnableTesseractConsoleMessages = true, // False as default
};
Dim ocr As New IronTesseract With {
	.Configuration = New TesseractConfiguration With {
		.ReadBarCodes = False,
		.RenderHocr = True,
		.TesseractVariables = Nothing,
		.WhiteListCharacters = Nothing,
		.BlackListCharacters = "`ë|^"
	},
	.MultiThreaded = False,
	.Language = OcrLanguage.English,
	.EnableTesseractConsoleMessages = True
}
$vbLabelText   $csharpLabel

Una vez hecho esto, puedes usar la funcionalidad de Tesseract para leer objetos OcrInput:

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-read.cs
IronTesseract ocr = new IronTesseract();

using OcrInput input = new OcrInput();
input.LoadImage("attachment.png");
OcrResult result = ocr.Read(input);
string text = result.Text;
Dim ocr As New IronTesseract()

Using input As New OcrInput()
	input.LoadImage("attachment.png")
	Dim result As OcrResult = ocr.Read(input)
	Dim text As String = result.Text
End Using
$vbLabelText   $csharpLabel

Variables de configuración avanzadas de Tesseract

La interfaz de Tesseract en IronOCR permite el control total de las variables de configuración de Tesseract a través de la Clase IronOCR.TesseractConfiguration.

Ejemplo de código de configuración de Tesseract

:path=/static-assets/ocr/content-code-examples/how-to/irontesseract-tesseract-configuration.cs
using IronOcr;
using System;

IronTesseract Ocr = new IronTesseract();

Ocr.Language = OcrLanguage.English;
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;

// Configure Tesseract Engine
Ocr.Configuration.TesseractVariables["tessedit_parallelize"] = false;

using var input = new OcrInput();
input.LoadImage("/path/file.png");

OcrResult Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Imports IronOcr
Imports System

Private Ocr As New IronTesseract()

Ocr.Language = OcrLanguage.English
Ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd

' Configure Tesseract Engine
Ocr.Configuration.TesseractVariables("tessedit_parallelize") = False

Dim input = New OcrInput()
input.LoadImage("/path/file.png")

Dim Result As OcrResult = Ocr.Read(input)
Console.WriteLine(Result.Text)
$vbLabelText   $csharpLabel

Lista de todas las variables de configuración de Tesseract

Estas se pueden configurar usando IronTesseract.Configuration.TesseractVariables["key"] = value;.

Variable de configuración de Tesseract Por defecto Significado
clasificar_num_cp_niveles3Número de niveles de podador de clase
búsqueda de pestaña de depuración de textord0Búsqueda de la pestaña de depuración
errores de depuración de textord0Activar la salida relacionada con errores en la búsqueda de pestañas
región de prueba de textord_izquierda-1Borde izquierdo del rectángulo de informe de depuración
región de prueba de textord_arriba-1Borde superior del rectángulo de informe de depuración
región de prueba de textord_derecha2147483647Borde derecho del rectángulo de depuración
región de prueba de textord_inferior2147483647Borde inferior del rectángulo de depuración
textord_tabfind_mostrar_particiones0Mostrar los límites de la partición, esperando si es >1
nivel de depuración dividido devanagari0Nivel de depuración para el proceso dividido shiro-rekha.
bordes_máximo_de_hijos_por_contorno10Número máximo de niños dentro del contorno de un personaje
bordes_máx._capas_hijas5Máximo de capas de elementos secundarios anidados dentro del contorno de un personaje
bordes_hijos_por_nieto10Relación de importancia para los contornos de sujeción
límite de conteo de niños en los bordes45Máximo de agujeros permitidos en el blob
bordes_min_sin_agujero12Mínimo de píxeles para caracteres potenciales en el cuadro
relación_área_de_ruta_de_aristas40Máximo tamaño de lente/área para un contorno infantil aceptable
Error de corte de textord_fp2Máxima flexión permitida de las celdas de corte
textord_tabfind_mostrar_imágenes0Mostrar manchas de imagen
desplazamiento suave y sesgado de textord4Para un factor de suavidad
desplazamiento suave y sesgado de textord21Para un factor de suavidad
prueba_textord_x-2147483647coord del paciente de prueba
prueba de texto_y-2147483647coord del paciente de prueba
textopalabra_min_blobs_en_fila4Mínimo de blobs antes del gradiente contado
textord_spline_minblobs8Mínimo de blobs en cada segmento de spline
textord_spline_medianwin6Tamaño de la ventana para la segmentación de splines
superposiciones de blobs de textord_max4Número máximo de blobs que un blob grande puede superponer
altura mínima de la x del texto10Altura mínima de píxeles creíble
ensayos de línea de textord_lms12Número de ajustes de línea a realizar
recuento de pérdidas de oldbl_holed10Max perdió antes de que se usara la línea de respaldo
versión lineal de pitsync6Utilice un nuevo algoritmo rápido
pitsync_falsa_profundidad1Generación falsa de avance máximo
textord_tabfind_mostrar_anchos_de_trazo0Mostrar anchos de trazo
brecha de matriz de puntos de textord3Distancia máxima entre píxeles para paso de píxeles rotos
bloque de depuración de textord0Bloque para realizar la depuración
rango de paso de textord2Prueba de alcance máximo en el campo
poder de veto de textord_words5Filas necesarias para superar un veto
detección de ecuación_guardar_imagen_bi0Guardar imagen bi de entrada
detección de ecuación_guardar_imagen_spt0Guardar imagen de carácter especial
detección de ecuación_guardar_imagen_semilla0Guardar la imagen de la semilla
detección de ecuación_guardar_imagen_combinada0Guardar la imagen fusionada
poli_depuración0Depurar polígonos antiguos
objetos poligonales mejores1Aproximación más precisa en cosas anchas.
divisiones de visualización de wordrec0Divisiones de pantalla
textord_debug_imprimible0Hacer que las ventanas de depuración sean imprimibles
El tamaño del espacio de texto es variable0Si es verdadero, se supone que los espacios delimitadores de palabras tienen un ancho variable, incluso aunque los caracteres tengan un paso fijo.
textord_tabfind_mostrar_particiones_iniciales0Mostrar límites de partición
textord_tabfind_mostrar_blobs_rechazados0Mostrar blobs rechazados como ruido
textord_tabfind_mostrar_columnas0Mostrar límites de columna
textord_tabfind_mostrar_bloques0Mostrar los límites del bloque final
textord_tabfind_buscar_tablas1detección de tabla de ejecución
imagen de depuración dividida devanagari0Si se debe crear una imagen de depuración para el proceso shiro-rekha dividido.
textord_show_cortes_fijos0Dibujar límites de celdas de paso fijo
los bordes usan una nueva complejidad de contorno0Utilice el nuevo módulo de complejidad del esquema
bordes_depuración0Activar la depuración para este módulo
bordes_niños_arreglo0Eliminar padres cuadrados de niños con aspecto de carbón
mapa de brechas_depuración0Di qué bloques tienen tablas
fin del uso del mapa de brechas0Utilice espacios grandes al principio y al final de las filas
mapa de brechas sin cuantos aislados0Asegúrese de que los espacios no sean inferiores a 2 cuantos de ancho.
textord_pesado_nr0Eliminar el ruido vigorosamente
textord_mostrar_filas_iniciales0Mostrar acumulación de filas
textord_mostrar_filas_paralelas0Mostrar filas correlacionadas de la página
textord_mostrar_filas_expandidas0Mostrar filas después de expandir
textord_mostrar_filas_finales0Mostrar filas después del ajuste final
textord_mostrar_blobs_finales0Mostrar los límites del blob después de la preasignación
paisaje de prueba de textord0Las pruebas se refieren a tierra/puerto
líneas base paralelas de textord1Fuerza líneas de base paralelas
líneas base rectas de textord0Forzar líneas de base rectas
líneas base antiguas de textord1Utilice el antiguo algoritmo de línea base
altura_x_antigua_textord0Utilice el antiguo algoritmo xheight
textord_corrección_error_altura_x1Utilice la línea base de spline
textord_corrección_error_makerow1Prevenir múltiples líneas de base
alturas de x de depuración de textord0Probar algoritmos de altura x
cálculo sesgado de textord1Estimaciones de sesgo con longitud de línea
sesgo de interpolación de textord1Interpolar a través de huecos
textord_nueva_altura_x_inicial1Utilice el mecanismo de prueba xheight
textord_debug_blob0Imprimir información del blob de prueba
textord_realmente_viejo_alturax0Utilice la altura x original de WiseOwl
textord_oldbl_debug0Depurar la generación de línea base antigua
líneas base de depuración de textord0Generación de línea base de depuración
textord_oldbl_paradef1Utilice el mecanismo predeterminado
splines divididos de textord_oldbl1Splines escalonados divididos
textord_oldbl_fusionar_partes1Fusionar particiones sospechosas
oldbl_corrfix1Mejorar la correlación de alturas
oldbl_xhfix0Corregir error en el umbral de modos para xheights
modo textord_ocropus0Establecer líneas base para ocropus
textord_tabfind_only_anchos_de_trazo0Ejecutar únicamente anchos de trazo
textord_tabfind_show_initialtabs0Mostrar candidatos de la pestaña
textord_tabfind_show_finaltabs0Mostrar vectores de pestañas
textord_mostrar_tablas0Mostrar regiones de la tabla
textord_tablefind_mostrar_marca0Pasos de marcado de la tabla de depuración en detalle
textord_tablefind_mostrar_estadísticas0Mostrar las estadísticas de la página utilizadas en la búsqueda de tablas
textord_tablefind_reconocer_tablas0Habilita el reconocedor de tablas para el diseño y filtrado de tablas.
textord_all_prop0Todo el documento es texto proporcional.
prueba de tono de depuración de textord0Depuración de la prueba de paso fijo
textord_deshabilitar_prueba_de_tono0Desactivar el algoritmo de paso fijo dp
prueba de tono rápido de textord0Haga un algoritmo de tono aún más rápido
métrica de paso de depuración de textord0Escribe material métrico completo
textord_mostrar_cortes_de_fila0Dibujar cortes a nivel de fila
textord_mostrar_cortes_de_página0Dibujar cortes a nivel de página
trucos de tono de textord0Utilice la respuesta correcta para fijo/prop.
textord_blockndoc_arreglado0Intentar un documento completo/bloque de tono fijo
textord_mostrar_palabras_iniciales0Mostrar palabras separadas
textord_mostrar_nuevas_palabras0Mostrar palabras separadas
textord_mostrar_palabras_fijas0Mostrar palabras con paso fijo forzado
textord_blocksall_arreglado0Quejarse sobre los bloques de apoyo
bloque de texto_todo_prop0Quejarse por los bloques de paso fijo
Pruebas de textord_blocksall0Estadísticas de volcado al gemir
modo de prueba de textord0Hacer prueba actual
escala de paso de textordbigwords0Puntuaciones de escala en palabras grandes
textord_restaurar_subrayados1Cortar los subrayados y volver a colocarlos
textord_fp_cortando1Hacer cortes de paso fijo
textord_force_make_prop_words0Forzar la segmentación de palabras proporcional en todas las filas
prueba de textord_chopper0Se está probando el helicóptero.
wordrec_mostrar_todos_los_blobs0Blobs de visualización
pausa de blob de wordrec0Rotura de blob
lista_de_archivos_de_transmisión0Transmitir una lista de archivos desde la entrada estándar
archivo de depuración Archivo al que enviar la salida de tprintf
clasificar_nombre_de_fuenteFuente desconocidaNombre de fuente predeterminado que se utilizará en la capacitación
título del documento Título del documento de salida (utilizado para hOCR y salida PDF)
producto escalarautoFunción utilizada para el cálculo del producto escalar
clasificar_almohadilla_angular_cp_suelta45Almohadilla angular suelta para podadora de clase
clasificar_cp_ángulo_almohadilla_media20Almohadilla angular para podadora de clase mediana
clasificar_cp_ángulo_almohadilla_apretada10Almohadilla angular para podadora de clase ajustada
clasificar_cp_end_pad_suelto0.5Almohadilla de extremo de podadora de clase suelta
clasificar_cp_end_pad_medium0.5Almohadilla de extremo de podadora de clase mediana
clasificar_cp_end_pad_tight0.5Podadora de clase con almohadilla de extremo apretada
clasificar_la_almohadilla_lateral_cp_suelta2.5Almohadilla lateral suelta para podadora de clase
clasificar_cp_side_pad_medium1.2Almohadilla lateral mediana para podadora de clase
clasificar_cp_lateral_pad_apretado0.6Podadora de clase con almohadilla lateral apretada
clasificar_pp_ángulo_pad45Almohadilla angular para podadora Proto
clasificar_pp_end_pad0.5Almohadilla de extremo de poda Proto
clasificar_pp_side_pad2.5Almohadilla lateral para podadora Proto
clasificar_pendiente_mínima0.414214Pendiente por debajo de la cual las líneas se llaman horizontales
clasificar_pendiente_máxima2.41421Pendiente por encima de la cual las líneas se llaman verticales
punto medio de ajuste de norma de clasificación32Ajuste de norma punto medio...
clasificar_norma_adj_curl2Ajuste normal del rizo...
clasificar_longitud_de_característica_pico0.05Longitud de la función Pico
umbral de subrayado de textord0.5Fracción de ancho ocupada
bordes_área_infantil0.5Fracción mínima del área del contorno del niño
área de caja de bordes0.875Fracción mínima del área del nieto para la caja
textord_fp_chop_snap0.5Distancia máxima del punto de corte desde el vértice
gapmap_grandes_brechas1.75multiplicador xht
fracción de desplazamiento de textord_spline0.02Fracción de espacio entre líneas para cuadrilátero
fracción de valor atípico de textord_spline0.1Fracción de espaciado de línea para valores atípicos
textord_skew_ile0.5Ile de gradientes para inclinación de página
retraso de sesgo de textord0.02Retraso por sesgo en la acumulación de filas
límite iqr del espacio de línea de texto0.2Máximo iqr/mediana para el espacio lineal
límite de ancho de texto8Ancho máximo de blobs para crear filas
ancho de corte de textord1.5Ancho máximo antes de cortar
factor de expansión de textord1Factor para expandir filas en expand_rows
superposición de texto_x0.375Fracción del espacio lineal para una buena superposición
textord_minxh0.25fracción del tamaño de línea para la altura mínima x
tamaño mínimo de línea de textord1.25* altura del blob para el tamaño de línea inicial
tamaño de blob excesivo de textord1.3Se crea una nueva fila si el blob crea una fila tan grande
umbral de ocupación de textord0.4Fracción de barrio
ancho de subrayado de texto2Múltiplo de line_size para subrayado
fracción de altura de blob mínima de textord0.75Altura mínima/superior del blob para incluir la parte superior del blob en las estadísticas de altura x
Fracción del modo de altura de texto0.4Altura mínima de pila para hacer xheight
Fracción del modo de altura de texto0.08Altura mínima de pila para hacer una altura
Fracción del modo de altura de texto0.08Altura mínima de pila para hacer descheight
relación ascx_textord_mínima1.25Mínima capacidad/altura x
relación ascx_textord_máxima1.8Máxima capacidad/altura x
relación textord_descx_mínima0.25Mínima descripción/altura x
relación textord_descx_máx0.6Máxima desc./alturax
margen de error de altura de texto0.1Variación aceptada
viejobl_xhfract0.4Fracción de est permitida en el cálculo
tamaño del error del punto oldbl1.26Relación de aspecto máxima de un punto
límite de salto de textord_oldbl0.15Fracción X para nueva partición
pitsync_unido_al_borde0.75Dist dentro de una gota grande para cortar
fracción de corte libre con desplazamiento de sincronización de pit0.25Fracción de corte para cortes libres
Fracción de espacio vertical del vector de tabulación de texto0.5fracción máxima del ancho medio del blob permitida para espacios verticales en texto vertical
relación de caja vertical del vector de pestaña de texto0.5Fracción de cajas de coincidencias necesarias para declarar una línea vertical
escala de proyección de textord0.2Tasa de ding para cortes medios
factor de equilibrio de textord1Tasa de ding para celdas carbonizadas desequilibradas
factor de suavidad de textord_wordstats0.05Estadísticas de suavizado de brechas
factor de suavidad del ancho de texto0.1Estadísticas de ancho de suavizado
textord_palabras_ancho_archivo0.4Isla de anchos de blobs para espacio estimado
espacio máximo de palabras de textord4Múltiplo de xaltura
espacio máximo predeterminado de palabras de texto3.5Tercer espacio creíble máximo
espacio mínimo predeterminado de palabras de texto0.6Fracción de xheight
textord_palabras_min_minspace0.3Fracción de xheight
palabras_textord_predeterminadas_sin_espacio0.2Fracción de xheight
palabras_textord_inicial_minúscula0.25Tamaño máximo inicial del clúster
palabras_textord_inicial_mayúscula0.15Espaciamiento mínimo inicial entre grupos
textord_palabras_minlarge0.75Fracción de espacios válidos necesarios
umbral de tono de palabras de textord0.04Umbral de sincronización de tono
definición de palabras de textord fija0.016Umbral para fijación definida
propiedad de definición de palabras de textord0.09Umbral para apoyo definido
similitud de filas de paso de texto0.08Fracción de xheight para igualdad
palabras_inicial_minúscula0.5Tamaño máximo inicial del clúster
palabras_inicial_mayúscula0.15Espaciamiento mínimo inicial entre grupos
palabras_predeterminadas_prop_sin espacio0.25Fracción de xheight
palabras_predeterminadas_espacio_fijo0.75Fracción de xheight
límite fijo predeterminado de palabras0.6Variación de tamaño permitida
propagación definida de palabras de textord0.3Región de espaciado no difuso
relación de tamaño de espacio de texto2.8Relación mínima espacio/no espacio
relación de tamaño de espacio de texto2Relación mínima espacio/no espacio
relación fpiqr_textord1.5Umbral de IQR de paso/IQR de espacio
textord_máximo_paso_iq0.2Fracción Xh de ruido en el tono
ancho mínimo de textord_fp0.5Ancho mínimo de manchas decentes
desplazamiento de subrayado de texto0.1Fracción de x a ignorar
nivel de depuración de ambigs0Nivel de depuración para ambigüedades de unichar
clasificar_nivel_de_depuración0Clasificar el nivel de depuración
método de clasificación de normas1Método de normalización...
nivel de depuración del comparador0Nivel de depuración del comparador
indicadores de depuración del comparador0Indicadores de depuración del comparador
clasificar_aprendizaje_nivel_de_depuración0Nivel de depuración de aprendizaje:
matcher_permanent_classes_min1Número mínimo de clases permanentes
ejemplos de matcher_min para creación de prototipos3Umbral de configuración confiable
ejemplos_suficientes_de_comparación_para_la_creación_de_prototipos5Permitir la adaptación incluso si no se han visto las ambigüedades
clasificar_adaptar_proto_umbral230Umbral para buenos protos durante la adaptación 0-255
clasificar_adaptar_umbral_de_características230Umbral para buenas características durante la adaptación 0-255
clasificar_clase_podador_umbral229Umbral de podador de clase 0-255
clasificar_multiplicador_podador_de_clases15Multiplicador de podadora de clase 0-255:
clasificar_fuerza_de_corte_cp7Clase Podadora Fuerza de Corte:
clasificar_multiplicador_comparador_de_enteros10Multiplicador de coincidencia de enteros 0-255:
nivel de depuración de dawg0Establezca en 1 para obtener información de depuración general, en 2 para obtener más detalles y en 3 para ver todos los mensajes de depuración.
nivel de depuración de guión0Nivel de depuración para palabras con guion.
tapón_pequeño_tamaño_de_palabra2Tamaño de la palabra del diccionario que se tratará como una palabra que no es un diccionario
nivel de depuración del tapón0Nivel de depuración del tapón
registro de selección de palabras truncado de tessedit10Máximo de palabras para mantener en la lista
intentos máximos de permutación10000Número máximo de opciones de caracteres diferentes a considerar durante la permutación. Este límite es especialmente útil cuando se especifican patrones de usuario, ya que los patrones demasiado genéricos pueden provocar que la búsqueda de dawg explore un número excesivo de opciones.
reparar manchas no cortadas1Arreglar los blobs que no están cortados
cortar_depuración0Depuración de corte
longitud de división10000Longitud dividida
cortar_misma_distancia2Misma distancia
puntos de contorno mínimos de chop6Número mínimo de puntos en el contorno
tamaño de pila de costura cortada150Número máximo de costuras en seam_pile
cortar_el_ángulo_interior-50Ángulo de curvatura interior mínimo
área de contorno de chop_min2000Área mínima de contorno
ancho máximo centrado en el corte90Ancho de las gotas picadas (más pequeñas) por encima de las cuales no nos importa que el corte no esté cerca del centro.
peso de corte x y3Peso de longitud X/Y
nivel de depuración de wordrec0Nivel de depuración para wordrec
fragmentos de unión de wordrec_max4Número máximo de piezas rotas a asociar
nivel de depuración de segsearch0Nivel de depuración de SegSearch
segsearch_máximos_puntos_de_dolor2000Número máximo de puntos de dolor almacenados en la cola
clasificaciones inútiles de segsearch_max20Número máximo de clasificaciones de puntos problemáticos por fragmento que no dieron como resultado la búsqueda de una mejor elección de palabras.
nivel de depuración del modelo de lenguaje0Nivel de depuración del modelo de lenguaje
orden de ngramas del modelo de lenguaje8Orden máximo del modelo ngram de caracteres
modelo de idioma_lista_viterbi_máximo_podable10Número máximo de entradas podables (aquellas para las que PrunablePath() es verdadero) en cada lista de Viterbi registrada en BLOB_CHOICEs
modelo_de_idioma_viterbi_lista_tamaño_máximo500Tamaño máximo de las listas de Viterbi registradas en BLOB_CHOICEs
longitud mínima del compuesto del modelo de idioma3Longitud mínima de palabras compuestas
segmentaciones de visualización de wordrec0Segmentaciones de visualización
modo tessedit_pageseg6Modo de segmentación de página: 0=solo OSD, 1=automático+OSD, 2=solo automático, 3=automático, 4=columna, 5=bloque_vert, 6=bloque, 7=línea, 8=palabra, 9=círculo_de_palabra, 10=carácter, 11=texto_disperso, 12=texto_disperso+OSD, 13=línea_sin_trazar (Valores de la enumeración PageSegMode en tesseract/publictypes.h)
modo de motor tessedit_ocr2Qué motor(es) de OCR se deben ejecutar (Tesseract, LSTM, ambos). De forma predeterminada, se carga y ejecuta el más preciso disponible.
páginaseg_devanagari_split_strategy0Si se debe utilizar el proceso de división de línea superior para documentos Devanagari mientras se realiza la segmentación de páginas.
estrategia de división de ocr_devanagari0Si se debe utilizar el proceso de división de línea superior para documentos Devanagari mientras se realiza el OCR.
depuración bidireccional0Nivel de depuración para BiDi
aplicar_box_debug1Nivel de depuración
página de caja de aplicación0Número de página para aplicar casillas
depuración de tessedit_bigram0Cantidad de salida de depuración para la corrección de bigrama.
eliminación de ruido de depuración0Depuración de reasignación de contornos pequeños
ruido_máximo por gota8Diacríticos máximos para aplicar a un blob
ruido_máximo_por_palabra16Diacríticos máximos para aplicar a una palabra
nivel_ht_debug_x0Depuración reestimada
alfas iniciales mínimas de calidad requeridas2alfas en una buena palabra
tessedit_tess_adaption_mode39Algoritmo de decisión de adaptación para tess
nivel de depuración multilang0Imprimir información de depuración en varios idiomas.
nivel de depuración de párrafo0Imprimir información de depuración del párrafo.
tessedit_preservar_min_wd_len2Conservar únicamente los wds de mayor duración que este
calificación máxima de crunch10Para la longitud ajustable en la calificación por canal
indicadores de crunch_pot1¿Cuántos indicadores potenciales se necesitan?
crunch_leave_lc_strings4No aplaste palabras con largas cadenas en minúscula
crunch_leave_uc_strings4No aplaste palabras con largas cadenas en minúscula
crunch_largas_repeticiones3Crujir palabras con repeticiones largas
depuración crujiente0Como dice
fixsp_sin_límite_de_ruido1¿Cuántas burbujas sin ruido hay en cada lado?
modo fixsp_done1¿Qué constituye lo que se hace para el espaciamiento?
nivel de espacio de corrección de depuración0Depuración del espacio de corrección contextual
tolerancia de aceptación x_ht8Desviación máxima permitida de la parte superior del blob fuera de los datos de la fuente
cambio de x_ht_min8Cambio mínimo en xht antes de probarlo realmente
superíndice_depuración0Nivel de depuración para el corrector de subíndices y superíndices
calidad jpg85Establecer el nivel de calidad JPEG
dpi definidos por el usuario0Especificar DPI para la imagen de entrada
min_caracteres_a_probar50Especifique el mínimo de caracteres a probar durante el OSD
nivel de sospechoso99Nivel de marcador sospechoso
palabras cortas sospechosas2No sospeche de diccionarios con una duración mayor a esta
modo de rechazo de tessedit0Algoritmo de rechazo
borde de imagen de tessedit2Rej blbs cerca del límite del borde de la imagen
píxeles min_sane_x_ht8Rechace cualquier x-ht lt o eq que no sea este
número de página de tessedit-1-1 -> Todas las páginas, de lo contrario, página específica para procesar
tessedit_paralelizar1Ejecutar en paralelo siempre que sea posible
modo de elección lstm2Permite incluir opciones de símbolos alternativos en la salida hOCR. Los valores de entrada válidos son 0, 1 y 2. 0 es el valor predeterminado. Con 1, se incluyen las opciones de símbolos alternativos por paso de tiempo. Con 2, las opciones de símbolos alternativos se extraen del proceso CTC en lugar del lattice. Las opciones se asignan por carácter.
iteraciones de elección lstm5Establece el número de iteraciones en cascada para Beamsearch en modo de elección lstm. Tenga en cuenta que modo de elección lstm debe tener un valor mayor que 0 para generar resultados.
nivel de depuración de tosp0Datos de depuración
tosp_suficientes_muestras_de_espacio_para_la_mediana3¿O deberíamos usar "mean"?
límite de kern de rehacer tosp10Número de muestras necesarias para reestimar la fila
tosp_few_samples40No se requieren espacios con 1 espacio grande para tratarlo como una tabla
tosp_fila corta20No se requieren espacios con pocos espacios de certificado para usar certificados
método de sanidad tosp1Cómo evitar ser tonto
tamaño máximo de ruido de textord7Tamaño de píxel del ruido
depuración de línea base de textord0Nivel de depuración de línea base
Fracción del tamaño del ruido de texto10Fracción de tamaño para máximos
límite de transmisión de ruido de texto16Transiciones para blob normal
recuento de ruido de textord1Blobs de súper norma para guardar la fila
use_ambigs_para_adaptación0Utilice ambigüedades para decidir si adaptarse a un personaje
permitir_división_de_blobs1Utilice el corte de gotas divisibles
priorizar_división0Priorizar la división de blobs en lugar del corte
clasificar_habilitar_aprendizaje1Habilitar clasificador adaptativo
tess_cn_matching0Coincidencia normalizada de caracteres
tess_bn_coincidencia0Coincidencia normalizada de línea base
clasificar_habilitar_comparador_adaptativo1Habilitar clasificador adaptativo
clasificar_utilizar_plantillas_preadaptadas0Utilice plantillas de clasificadores preadaptadas
clasificar_guardar_plantillas_adaptadas0Guardar plantillas adaptadas en un archivo
clasificar_habilitar_depurador_adaptativo0Habilitar el depurador de coincidencias
clasificar_norma_no_lineal0Normalización no lineal de la densidad de trazos
deshabilitar_fragmentos_de_caracteres1No incluya fragmentos de caracteres en los resultados del clasificador
clasificar_fragmentos_de_caracteres_de_depuración0Abra ventanas de depuración gráfica para el entrenamiento de fragmentos
ventanas separadas de depuración de matcher0Utilice dos ventanas diferentes para depurar la coincidencia: una para los prototipos y otra para las características.
clasificar_bln_modo_numérico0Supongamos que la entrada son números [0-9].
sistema de carga dawg1Carga la palabra del sistema, amigo.
frecuencia de carga dawg1Carga palabras frecuentes, amigo.
cargar_unambig_dawg1Carga una palabra inequívoca, amigo.
carga_punc_dawg1Carga dawg con patrones de puntuación.
número de carga dawg1Carga dawg con patrones numéricos.
cargar_bigram_dawg1Carga este perro con bigramas de palabras especiales.
use_solo_el_primer_paso_uft80Utilice solo el primer paso UTF8 de la cadena dada al calcular las probabilidades de logaritmo.
tapón_sin_opciones_aceptables0Hacer que AcceptableChoice() siempre devuelva falso. Útil cuando se necesita explorar todas las segmentaciones.
segmento_script_no_alfabético0No uses trucos específicos para el alfabeto. Establécelo como verdadero en el archivo de configuración de datos entrenados para scripts cursivos o con paso fijo.
guardar_doc_words0Guardar palabras del documento
fusionar fragmentos en la matriz1Fusionar los fragmentos en la matriz de calificaciones y eliminarlos después de la fusión
wordrec_enable_assoc1Habilitar asociador
asociación de palabras de fuerza0Fuerza la ejecución del asociador independientemente de qué sea enable_assoc. Esto se usa en CJK, donde es necesaria la agrupación de componentes.
habilitar chop1Habilitar corte
deslizamiento vertical de corte0Deslizamiento vertical
cortar_nueva_cosecha_pila1Utilice el nuevo seam_pile
asumir_segmento_de_caracteres_de_paso_fijo0Incluir heurísticas de paso fijo en la segmentación de caracteres
wordrec_skip_no_truth_words0Ejecute OCR solo para palabras que tengan la veracidad registrada en BlamerBundle
Culpable de depuración de wordrec0Imprimir mensajes de depuración de la culpa
culpar a wordrec_run_bamer0Intentar echarle la culpa a los errores
guardar_opciones_alt1Guardar rutas alternativas encontradas durante la búsqueda de segmentación y corte
modelo de lenguaje ngram activado0Activar o desactivar el uso del modelo ngram de caracteres
modelo de idioma ngram_use_solo_el_primer_paso_uft80Utilice solo el primer paso UTF8 de la cadena dada al calcular las probabilidades de logaritmo.
modelo_de_lenguaje_espacio_ngrama_lenguaje_delimitado1Las palabras están delimitadas por espacio.
modelo_de_lenguaje_utiliza_certeza_sigmoidea0Utilice la puntuación sigmoidea para mayor certeza
tessedit_resegment_de_cajas0Tome la segmentación y el etiquetado del archivo de caja
tessedit_resegment_de_cajas_de_línea0Conversión de un archivo de cuadro de palabra/línea a un archivo de cuadro de caracteres
tessedit_train_from_boxes0Generar datos de entrenamiento a partir de caracteres en caja
tessedit_hacer_cajas_a_partir_de_cajas0Generar más cajas a partir de caracteres en caja
tessedit_reconocedor_de_líneas_de_tren0Divida la entrada en líneas y reasigne los cuadros si están presentes
imágenes de tessedit_dump_pageseg0Volcar imágenes intermedias creadas durante la segmentación de la página
tessedit_do_invert1Try inverting the image in `LSTMRecognizeWord`
entrenamiento de tessedit_ambigs0Realizar entrenamiento para ambigüedades
depuración de adaptación de tessedit0Generar e imprimir información de depuración para la adaptación
modo applybox_learn_chars_and_char_frags0Aprenda tanto fragmentos de caracteres (como se hace en el modo especial de baja exposición) como caracteres no fragmentados.
modo applybox_learn_ngrams0Se supone que cada cuadro delimitador contiene n-gramas. Aprenda solo los n-gramas cuyos contornos se superponen horizontalmente.
tessedit_mostrar_palabras_fuera0Dibujar palabras de salida
opciones de volcado de tessedit0Opciones de personajes de volcado
depuración de tiempo de tessedit0Estadísticas de tiempo de impresión
tessedit_arregla_espacios_difusos1Intenta mejorar los espacios difusos
tessedit_unrej_any_wd0No te preocupes por la plausibilidad de las palabras.
tessedit_fix_guiones1¿Crujir los guiones dobles?
tessedit_habilitar_doc_dict1Agregar palabras al diccionario del documento
fuentes de depuración de tessedit0Información de fuente de salida por carácter
rechazo de bloque de depuración de tessedit0Estadísticas de bloques y filas
tessedit_habilitar_corrección_de_bigramas1Habilitar la corrección basada en el diccionario de bigramas de palabras.
tessedit_habilitar_corrección_dict0Habilitar la corrección de palabras individuales según el diccionario.
habilitar_eliminación_de_ruido1Eliminar y reasignar condicionalmente pequeños contornos cuando confunden el análisis del diseño, determinando diacríticos vs ruido
tessedit_minimal_rej_pass10Realizar un rechazo mínimo en la salida del pase 1
adaptación de la prueba tessedit0Criterios de adaptación de la prueba
prueba_pt0Prueba de punto
párrafo_basado_en_texto1Ejecutar la detección de párrafos en el reconocimiento posterior al texto (más preciso)
matriz de uso lstm1Utilice la búsqueda de matriz de clasificaciones/haz con lstm
tessedit_buena_calidad_unrej1Reducir el rechazo de buenos documentos
tessedit_use_reject_spaces1¿Rechazar espacios?
tessedit_preservar_negro_rej_perfecto_wds1Solo rej rechazó parcialmente las palabras en el rechazo de bloque
tessedit_preservar_fila_rej_perfecto_wds1Solo rej rechazó parcialmente las palabras en la fila de rechazo
tessedit_dont_blkrej_good_wds0Utilice la métrica de calidad de segmentación de palabras
tessedit_dont_rowrej_good_wds0Utilice la métrica de calidad de segmentación de palabras
tessedit_row_rej_buenos_docs1Aplicar el rechazo de filas a buenos documentos
tessedit_reject_bad_qual_wds1Rechazar todos los wds de mala calidad
rechazo de documentos de depuración de tessedit0Estadísticas de la página
métricas de calidad de depuración de tessedit0Datos de salida al archivo de depuración
soso_unrej0potencial de unrej sin controles
crujido de tilde sin lv0Mark v.malas palabras para tilde crunch
información de fuente hocr0Agregar información de fuente a la salida hocr
cajas de caracteres hocr0Añade coordenadas para cada personaje a la salida hocr
La fusión temprana de crunch falla1¿Antes del Word Crunch?
crunch_conversión temprana_mala_unlv_chs0¿Sacar ~^ temprano?
crujido_terrible_basura1Como dice
crunch_leave_ok_strings1No toques cuerdas sensibles
crunch_aceptar_ok1Utilice la aceptabilidad en okstring
crunch_leave_aceptar_cadenas0No doble las cuerdas sensibles
numerales de inclusión de crunch0Figuras alfa de violín
tessedit_prefer_joined_punct0La puntuación de recompensa se une
separadores de bloques de escritura de tessedit0Escribir separadores de bloques en la salida
códigos de representación de escritura de tessedit0Escribir código de caracteres de repetición
tessedit_write_unlv0Escribir archivo de salida .unlv
tessedit_create_txt0Escribir archivo de salida .txt
tessedit_create_hocr0Escribir archivo de salida hOCR .html
tessedit_create_alto0Escribir archivo .xml ALTO
tessedit_crear_lstmbox0Escriba el archivo .box para el entrenamiento LSTM
tessedit_create_tsv0Escribir archivo de salida .tsv
tessedit_create_wordstrbox0Escriba un archivo de salida .box en formato WordStr
tessedit_crear_pdf0Escribir archivo de salida .pdf
solo texto_pdf0Crea un PDF con una sola capa de texto invisible
sospechoso_restricción_1Il0UNLV mantiene 11 caracteres rechazados
tessedit_rechazo_mínimo0Rechazar únicamente fallos de prueba
tessedit_rechazo_cero0No rechaces NADA
tessedit_palabra_por_palabra0Hacer que la salida tenga exactamente una palabra por WERD
tessedit_zero_kelvin_rejection0No rechaces NADA EN ABSOLUTO
depuración de rechazo de tessedit0Depuración de adaptación
tessedit_flip_0O1Cambios contextuales 0O O0
rej_trust_doc_dawg0Utilice DOC dawg en el detector de configuración de 11 l
rej_1Uso dict_word0Utilice la prueba dictword
rej_1Il_tipo_permutador_de_confianza1No vuelvas a comprobarlo
rej_use_tess_aceptado1Control de rechazo individual
rej_use_tess_blanks1Control de rechazo individual
rej_use_good_perm1Control de rechazo individual
rej_use_sensible_wd0Extender, cambiar, comprobar
rej_alphas_en_número_perm0Extender, cambiar, comprobar
tessedit_create_boxfile0Texto de salida con cuadros
tessedit_escribir_imágenes0Captura la imagen del IPE
modo de visualización interactiva0¿Ejecutar interactivamente?
permutador de anulación de tessedit1Según dict_word
tessedit_use_modelo_de_parámetros_primarios0En el modo multilingüe, utilice el modelo de parámetros del idioma principal.
textord_tabfind_mostrar_líneas_v0Búsqueda de línea de depuración
textord_use_cjk_fp_model0Utilice el modelo de paso fijo CJK
poly_allow_detailed_fx0Permitir que los extractores de características vean el esquema original
tessedit_init_config_only0Inicializar solo con el archivo de configuración. Útil si la instancia no se usará para OCR, sino, por ejemplo, solo para análisis de diseño.
detección de ecuaciones de texto0Activar el detector de ecuaciones
textord_tabfind_texto_vertical1Habilitar detección vertical
textord_tabfind_force_vertical_text0Forzar el uso del modo de página de texto vertical
preservar_los_espacios_entre_palabras0Conservar múltiples espacios entre palabras
pageseg_aplicar_máscara_musical1Detectar pentagramas y eliminar componentes que se intersecan
modo de altura única de textord0El script no tiene altura x, por lo que utiliza un solo modo
método tosp_old_to0¿Las estadísticas espaciales utilizan precorte?
tosp_old_para_restringir_sp_kn0Restrinja los valores relativos de los espacios entre palabras y dentro de ellas para old_to_method.
tosp_solo_use_prop_rows1¿Estadísticas de bloque para utilizar filas de paso fijo?
tosp_forzar_ruptura_de_palabra_al_punct0Forzar saltos de palabra en punct para dividir líneas largas en idiomas no delimitados por espacios
tosp_use_pre_cortar0¿Las estadísticas espaciales utilizan precorte?
tosp_old_to_bug_fix0Corregir un error sospechoso en el código antiguo
tosp_block_use_cert_spaces1Solo indica espacios OBVIOS
tosp_row_use_cert_spaces1Solo indica espacios OBVIOS
tosp_narrow_blobs_no_certificado1Solo indica espacios OBVIOS
tosp_row_use_cert_spaces11Solo indica espacios OBVIOS
estadísticas de filas aisladas de recuperación de tosp1Utilice solo una fila cuando no haya suficientes espacios para certificados
solo pequeños espacios para el kern0Mejor adivinar
tosp_all_flips_fuzzy0¿Pasar alguna vuelta al contexto?
límite difuso total1No restrinja el límite difuso de kn->sp a las tablas
tosp_stats_use_xht_gaps1Úselo dentro del espacio xht para las pausas wd
tosp_use_xht_gaps1Úselo dentro del espacio xht para las pausas wd
tosp_only_use_xht_gaps0Usar solo dentro del espacio xht para frenos wd
punto de prueba de la regla 9 de tosp0No cambies el espacio al lado del punto.
tosp_flip_fuzz_kn_to_sp1Volteo predeterminado
tosp_flip_fuzz_sp_to_kn1Volteo predeterminado
tosp_mejorar_thresh0Habilitar la heurística de mejora
textord_sin_rechazos0No elimine las manchas de ruido
textord_mostrar_blobs0Mostrar blobs sin ordenar
cuadros de presentación de textord0Mostrar blobs sin ordenar
textord_ruido_rejwords1Rechace las palabras que suenan como ruido
ruido de texto_rejrows1Rechazar filas que parecen ruido
depuración de ruido de textord0Detector de basura de fila de depuración
clasificar_aprender_depurar_strClase str para depurar el aprendizaje
archivo de palabras del usuarioUn nombre de archivo con palabras proporcionadas por el usuario.
sufijo de palabras de usuarioUn sufijo de palabras proporcionadas por el usuario ubicado en tessdata.
archivo de patrones de usuarioUn nombre de archivo con patrones proporcionados por el usuario.
sufijo de patrones de usuarioUn sufijo de patrones proporcionados por el usuario ubicado en tessdata.
archivo de palabras ambiguas de salidaArchivo de salida para las ambigüedades encontradas en el diccionario
palabra_a_depurarPalabra para la cual se debe imprimir la información de depuración del tapón en la salida estándar
lista negra de caracteres de tesseditLista negra de personajes que no debes reconocer
lista blanca de caracteres de tesseditLista blanca de caracteres a reconocer
tessedit_char_unblacklistLista de caracteres para anular lista negra de caracteres de tessedit
tessedit_escribir_parámetros_en_archivoEscribe todos los parámetros en el archivo indicado.
patrón de exposición del cuadro de aplicación.expEl valor de exposición sigue este patrón en el nombre del archivo de imagen. Se espera que el nombre de los archivos de imagen tenga el formato [lang].[fontname].exp [num].tif
chs_leading_punct('`"Puntuación inicial
chs_trailing_punct1¡).,;:?!1.ª puntuación final
chs_trailing_punct2)'`"2.ª puntuación final
contornos_impares%|Número no estándar de contornos
contornos_2ij!?%":;Número no estándar de contornos
puntuación numérica.,Se esperan puntos DENTRO de los números
carácter no reconocido|Carácter de salida para blobs no identificados
ok_repetido_ch_no_alphanum_wds-?*=Permitir que NN cancele el registro
conjunto_de_conflictos_I_l_1Il1 []Conjunto de conflictos Il1
tipo de archivo.tifExtensión de nombre de archivo
tessedit_load_sublangsLista de idiomas para cargar con este
separador de páginasSeparador de página (el valor predeterminado es el carácter de control de avance de página)
clasificar_rango_de_norma_de_caracteres0.2Rango de normalización de caracteres...
clasificar_cociente_máximo_de_calificación1.5Relación de veto entre las calificaciones de los clasificadores
clasificar_máximo_margen_de_certeza5.5Diferencia de veto entre certezas de clasificadores
umbral bueno del comparador0.125Buen partido (0-1)
resultado adaptativo confiable del comparador0Gran partido (0-1)
umbral perfecto del comparador0.02Partido perfecto (0-1)
pad de emparejamiento incorrecto0.15Almohadilla de mala coincidencia (0-1)
margen de calificación del comparador0.1Nuevo margen de plantilla (0-1)
tamaño promedio de ruido del comparador12Longitud media de la mancha de ruido
delta del ángulo máximo de agrupación del comparador0.015Delta de ángulo máximo para agrupamiento de prototipos
clasificar_penalización_basura_inadaptada0Penalización a aplicar cuando un texto no alfabético está verticalmente fuera de su posición de línea de texto esperada
escala de calificación1.5Factor de escala de calificación
escala de certeza20Factor de escala de certeza
escala de fallas de clase tessedit0.00390625Factor de escala para características no utilizadas
factor de poda adaptado para clasificar2.5Poda pobremente adaptada, los resultados son mucho peores que los mejores resultados.
clasificar_umbral_de_poda_adaptado-1Umbral en el que comienza factor de poda adaptado para clasificar
clasificar_fragmentos_de_caracteres_umbral_de_certeza_de_basura-3Excluir fragmentos que no parezcan caracteres completos del entrenamiento y la adaptación
tamaño máximo de mota grande0.3Tamaño máximo de mota grande
penalización por moteado10Sanción que se añadirá a la peor calificación por ruido
subíndices de penalización de altura x0.125Se agrega una penalización de puntuación (0,1 = 10 %) si hay subíndices o superíndices en una palabra, pero por lo demás está bien.
penalización de altura x inconsistente0.25Se agregará una penalización de puntuación (0,1 = 10 %) si una altura x es inconsistente.
segmento_penalización_dict_palabra_frecuente1Multiplicador de puntuación para coincidencias de palabras que tienen buen uso de mayúsculas y minúsculas y son frecuentes en el idioma dado (cuanto más bajo, mejor).
caso de dictamen de penalización de segmento ok1.1Multiplicador de puntuación para coincidencias de palabras que tienen buen uso de mayúsculas y minúsculas (cuanto más bajo, mejor).
caso de dictámenes de penalización de segmento incorrecto1.3125Multiplicador de puntuación predeterminado para coincidencias de palabras, que puede tener problemas con mayúsculas y minúsculas (cuanto más bajo, mejor).
segmento_penalización_dict_nonword1.25Multiplicador de puntuación para segmentaciones de fragmentos de glifos que no coinciden con una palabra del diccionario (cuanto más bajo, mejor).
segmento_penalización_basura1.5Multiplicador de puntuación para cadenas mal escritas que no están en el diccionario y generalmente parecen basura (cuanto más bajo, mejor).
escala de certeza20Factor de escala de certeza
base de certeza de stopper nondict-2.5Umbral de certeza para palabras no dictadas
desplazamiento de rechazo de certeza de la fase 2 del tapón1Rechazar la certeza compensada
certeza del tope por carácter-0.5Certeza de agregar para cada carácter de dict un tamaño de palabra pequeño por encima.
stopper_permitido_personaje_maldad3Máxima variación permitida en una palabra (en sigma)
umbral pendiente de doc_dict0La peor certeza para usar un diccionario pendiente
umbral de certeza de doc_dict-2.25La peor certeza para las palabras que se pueden insertar en el diccionario del documento
umbral de certeza de tessedit-2.25Buen límite de blobs
perilla de división de división0.5Ajuste de longitud dividida
perilla de superposición de corte0.9Ajuste de superposición dividida
perilla central de corte0.15Ajuste del centro dividido
perilla de afilado0.06Ajuste de nitidez dividida
perilla de cambio de ancho de corte5Ajuste del cambio de ancho
cortar_ok_dividir100Límite de división OK
cortar_buena_división50Buen límite de división
relación wh_máx_carácter_segsearch2Relación máxima entre el ancho y la altura de los caracteres

Preguntas Frecuentes

¿Cómo puedo convertir imágenes en texto usando OCR en C#?

Puedes convertir imágenes en texto en C# utilizando IronTesseract de la biblioteca IronOCR. Primero, instala la biblioteca a través de NuGet, crea una instancia de IronTesseract y usa el método Read para procesar tus imágenes y extraer texto.

¿Cómo configuro las configuraciones de idioma para OCR en C#?

En IronTesseract, puedes establecer el idioma para el procesamiento OCR configurando la propiedad Language. Esto te permite especificar el idioma en el que está escrito el texto de la imagen, mejorando la precisión.

¿Puede IronTesseract manejar tanto la extracción de texto como la lectura de códigos de barras?

Sí, IronTesseract puede manejar tanto la extracción de texto como la lectura de códigos de barras. Puedes habilitar la lectura de códigos de barras configurando la propiedad Configuration.ReadBarcodes en true, permitiendo que el motor OCR lea códigos de barras de las imágenes escaneadas.

¿Para qué se utilizan las variables de configuración de Tesseract en el OCR de C#?

Las variables de configuración de Tesseract en IronTesseract se utilizan para ajustar el proceso de OCR. Los desarrolladores pueden usar la clase IronOcr.TesseractConfiguration para ajustar configuraciones como listas blancas de caracteres, listas negras y otros parámetros de procesamiento.

¿Cómo incluir en la lista blanca caracteres en el procesamiento OCR?

Para incluir en la lista blanca caracteres durante el procesamiento de OCR con IronTesseract, puedes establecer la propiedad Configuration.WhiteListCharacters para incluir solo los caracteres que deseas que sean reconocidos, mejorando la precisión del OCR para tareas específicas.

¿Cómo resuelvo problemas comunes de OCR en C#?

Los problemas comunes de OCR en C# utilizando IronTesseract pueden abordarse ajustando las variables de configuración de Tesseract, asegurando configuraciones de idioma correctas y revisando la calidad de la imagen. Usar las propiedades Configuration puede ayudar a refinar los resultados del OCR.

¿Dónde puedo encontrar documentación sobre las variables de configuración de Tesseract en IronOCR?

La documentación sobre las variables de configuración de Tesseract en IronOCR se puede encontrar en la documentación de la Clase IronOcr.TesseractConfiguration. Proporciona una lista completa de variables, sus valores predeterminados y explicaciones de sus funciones.

¿Cómo puedo guardar los resultados de OCR como un PDF buscable en C#?

Puedes guardar los resultados de OCR como un PDF buscable en C# utilizando IronTesseract al emplear el método SaveAsSearchablePdf después de procesar una imagen con el motor OCR, permitiendo una búsqueda de texto fácil dentro del PDF.

¿Cuáles son los beneficios de usar IronTesseract para tareas de OCR en .NET?

IronTesseract ofrece numerosos beneficios para tareas de OCR en .NET, incluyendo una API simplificada, soporte para múltiples idiomas, capacidades de lectura de códigos de barras y extensas opciones de configuración para adaptar el proceso OCR a necesidades específicas.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
Revisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente Principal de Programas - Equipo de la Comunidad .NET
Jeff también es Gerente Principal de Programas para los equipos de .NET y Visual Studio. Es el productor ejecutivo de la serie de conferencias virtuales .NET Conf y anfitrión de 'Fritz and Friends', una transmisión en vivo para desarrolladores que se emite dos veces a la semana donde habla sobre tecnología y escribe código junto con la audiencia. Jeff escribe talleres, presentaciones, y planifica contenido para los eventos de desarrolladores más importantes de Microsoft, incluyendo Microsoft Build, Microsoft Ignite, .NET Conf y la Cumbre de Microsoft MVP.
¿Listo para empezar?
Nuget Descargas 5,167,857 | Version: 2025.11 recién lanzado