Cómo ajustar la velocidad de lectura en C# con IronBarcode
IronBarcode ofrece cuatro opciones de velocidad de lectura (Más rápido, Equilibrado, Detallado, ExtremoDetallado) que permiten controlar el equilibrio entre velocidad de procesamiento y precisión al leer códigos de barras en C#, siendo Equilibrado el punto de partida recomendado para la mayoría de las aplicaciones.
Introducción
La precisión es esencial cuando se leen grandes conjuntos de códigos de barras, pero la asignación de recursos y la eficiencia del procesamiento son consideraciones igualmente importantes. La calidad de las imágenes de entrada determina cómo debe procesarlas un lector de códigos de barras: si debe omitir el preprocesamiento para las imágenes claras o utilizar opciones que consuman más recursos para mejorar la precisión de los códigos de barras degradados.
IronBarcode ofrece flexibilidad para elegir la velocidad de procesamiento y el nivel de precisión, lo que permite controlar todos los aspectos del proceso de lectura de códigos de barras. Puede tomar decisiones en función de las imágenes de entrada y los recursos disponibles. Para escenarios de lectura de códigos de barras más avanzados, explore nuestro tutorial completo de lectura de códigos de barras que cubre varios formatos y técnicas.
En este artículo se ofrecen directrices para elegir la velocidad de lectura óptima en diferentes situaciones. Utilizaremos ejemplos de códigos QR para demostrar cómo afecta a los resultados cambiar la velocidad de lectura. Si trabaja específicamente con códigos QR, consulte nuestro tutorial C# QR Code Generator para crear muestras de prueba.
Inicio rápido: Leer un código de barras con velocidad equilibrada
Utilice las BarcodeReaderOptions de IronBarcode para establecer al instante el nivel de Velocidad de su escaneado. Este ejemplo muestra cómo leer rápidamente códigos de barras utilizando la configuración Balanced para obtener resultados rápidos y fiables.
Empieza a crear PDF con NuGet ahora:
Instalar IronBarcode con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
var results = IronBarCode.BarcodeReader.Read("path/to/image.png", new IronBarCode.BarcodeReaderOptions { Speed = IronBarCode.ReadingSpeed.Balanced });Despliegue para probar en su entorno real
Empieza a utilizar IronBarcode en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para ajustar la velocidad de lectura
- Utilice la clase BarcodeReaderOptions para establecer la velocidad de lectura
- Utilice el método
Readpara extraer valores de código de barras de varios formatos de imagen - Imprime los valores de códigos de barras
- Evaluar el equilibrio de rendimiento entre diferentes velocidades de lectura
¿Cuáles son las diferentes opciones de velocidad de lectura?
IronBarcode ofrece cuatro opciones de Velocidad de lectura: Más rápido, Equilibrado, Detallado y ExtremoDetallado. Examinaremos cada opción utilizando un conjunto de muestras que contiene imágenes de códigos de barras degradadas en su mayoría, con algunas imágenes claras para demostrar las capacidades de la biblioteca. Para obtener una lista completa de los formatos compatibles, visite nuestra página formatos de códigos de barras compatibles.
Utilizaremos una biblioteca de referencia de .NET para medir el tiempo de procesamiento y el uso de memoria, mostrando cómo se compara cada opción e identificando escenarios ideales para cada velocidad de lectura. Demostraremos un código de evaluación comparativa y un método sencillo para contar los códigos de barras degradados leídos con éxito. Para más detalles sobre la configuración de las opciones del lector, consulte nuestro ejemplo de configuración del lector de códigos de barras.
¿Cuándo debo utilizar la opción de velocidad más rápida?
La opción Más rápido proporciona la lectura de códigos de barras más rápida con recursos mínimos, pero reduce la precisión. Este proceso omite el preprocesamiento de imágenes y funciona mejor cuando las imágenes de entrada ya son nítidas y claras.
Este ejemplo establece la propiedad Speed en ReadingSpeed.Faster, importa un directorio de códigos de barras e imprime los códigos de barras encontrados con sus valores, tipos y recuento por imagen. Para comprender mejor la lectura de códigos de barras a partir de distintos formatos de imagen, consulte nuestra guía sobre lectura de códigos de barras a partir de imágenes.
:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-faster.csusing IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
var optionsFaster = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster
};
// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";
// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");
int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
// Read the barcode
var results = BarcodeReader.Read(file, optionsFaster);
if (results.Any())
{
Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
foreach (var result in results)
{
Console.WriteLine($" Value: {result.Value}, Type: {result.BarcodeType}");
countFaster++;
}
}
else
{
Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
}
}
stopwatch.Stop();
// Print number of images the barcode reader could decode
Console.WriteLine($"Faster could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");IRON VB CONVERTER ERROR developers@ironsoftware.comLa opción Más rápido detectó 146 resultados de códigos de barras de un total de 430 en 25 segundosegundos, con una precisión del 33,95 %. Aunque es rápido, este método sólo se adapta a condiciones de imagen prístinas. Cuando trabaje con varios códigos de barras en una sola imagen, tenga en cuenta nuestra guía sobre lectura de varios códigos de barras para una configuración óptima.
¿Por qué Balanced es la opción de velocidad recomendada?
La opción Balanced equilibra la precisión y el rendimiento de lectura. IronBarcode aplica un ligero procesamiento de imágenes para aclarar el área del código de barras, facilitando su detección y lectura. Se recomienda esta configuración para la mayoría de las imágenes modernas, ya que un procesamiento ligero suele producir resultados precisos.
Utilicemos las mismas imágenes para demostrar cómo Balanced afecta a los resultados de salida. Para operaciones asíncronas, explore nuestra guía sobre async y multithreading con IronBarcode.
:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-balanced.csusing IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
var optionsFaster = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Balanced
};
// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";
// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");
int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
// Read the barcode
var results = BarcodeReader.Read(file, optionsFaster);
if (results.Any())
{
Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
foreach (var result in results)
{
Console.WriteLine($" Value: {result.Value}, Type: {result.BarcodeType}");
countFaster++;
}
}
else
{
Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
}
}
stopwatch.Stop();
// Print number of images the barcode reader could decode
Console.WriteLine($"Balanced could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");IRON VB CONVERTER ERROR developers@ironsoftware.comLa opción Balanced detectó 237 resultados de códigos de barras de un total de 430 en 43 segundosegundos. Proporciona un 55,11 % de precisión, una mejora significativa con respecto a Faster, con solo un ligero aumento de tiempo. Esta opción mantiene un equilibrio eficaz entre memoria y velocidad, por lo que es ideal para la mayoría de las situaciones y el punto de partida recomendado. Este enfoque equilibrado funciona especialmente bien con técnicas adecuadas de preprocesamiento de imágenes.
¿Cuándo necesito la opción de velocidad detallada?
Cuando las imágenes estén muy borrosas o distorsionadas y Equilibrado no pueda producir resultados claros, utiliza la opción Detallado. Aplica un preprocesamiento medio para aclarar el área del código de barras y reducir el ruido digital para una mejor detección. Para imágenes muy degradadas, consulte nuestra guía de corrección de imágenes que cubre varias técnicas de preprocesamiento.
Apliquemos el ajuste Detallado y observemos su efecto en el resultado.
:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-detailed.csusing IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
var optionsFaster = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Detailed
};
// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";
// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");
int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
// Read the barcode
var results = BarcodeReader.Read(file, optionsFaster);
if (results.Any())
{
Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
foreach (var result in results)
{
Console.WriteLine($" Value: {result.Value}, Type: {result.BarcodeType}");
countFaster++;
}
}
else
{
Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
}
}
stopwatch.Stop();
// Print number of images the barcode reader could decode
Console.WriteLine($"Detailed could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");IRON VB CONVERTER ERROR developers@ironsoftware.comLa opción Detallado detectó 237 resultados de códigos de barras de un total de 430 en 5 minutos y 30 segundos. Su tasa de éxito del 55,11 % en códigos de barras muy degradados demuestra su precisión. Sin embargo, el considerable aumento del tiempo de procesamiento hace que esta opción deba reservarse exclusivamente para imágenes de códigos de barras degradadas. Cuando trabaje con códigos de barras imperfectos, consulte nuestro ejemplo de manejo de códigos de barras imperfectos para conocer estrategias adicionales.
¿Qué situaciones requieren una velocidad de detalle extrema?
El ajuste ExtremeDetail aplica un procesamiento intensivo a las imágenes de códigos de barras, lo que reduce significativamente el rendimiento de la lectura. Esta opción, que consume mucha CPU, funciona mejor para escanear varios códigos de barras poco claros o borrosos dentro de un mismo archivo de entrada. Utilícela como último recurso cuando otras opciones no produzcan los resultados deseados. Para situaciones de procesamiento de gran volumen, explore lectura de códigos de barras de archivos PDF, que a menudo contienen varios códigos de barras por página.
Apliquemos el ajuste ExtremeDetail para observar su impacto.
:path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-extreme-detailed.csusing IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
var optionsFaster = new BarcodeReaderOptions
{
Speed = ReadingSpeed.ExtremeDetail
};
// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";
// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");
int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
// Read the barcode
var results = BarcodeReader.Read(file, optionsFaster);
if (results.Any())
{
Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
foreach (var result in results)
{
Console.WriteLine($" Value: {result.Value}, Type: {result.BarcodeType}");
countFaster++;
}
}
else
{
Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
}
}
stopwatch.Stop();
// Print number of images the barcode reader could decode
Console.WriteLine($"ExtremeDetail could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");IRON VB CONVERTER ERROR developers@ironsoftware.comLa opción ExtremeDetail identificó 313 de 430 imágenes de códigos de barras en aproximadamente 10 minutos. Aunque alcanza una impresionante precisión del 72,79% en códigos de barras muy degradados, su elevado consumo de recursos hace que solo sea adecuado como último recurso. Considere la posibilidad de preprocesar las imágenes antes de utilizar esta opción.
¿Cómo se comparan las distintas velocidades?
| Modo | Códigos de barras encontrados | Tiempo medio | Tiempo por archivo | Presión de GC | Ganancia de precisión |
|---|---|---|---|---|---|
| Más rápido | 147/430 (33,95%) | 25 segundos | 0,058 s | Alto (Gen2: 177K) | Base |
| Equilibrado | 237/430 (55,11%) | 43 segundos | 0,1 segundos | Alto (Gen2: 151K) | +62,32% vs Más rápido |
| Detallado | 237/430 (55,11%) | 5,50 minutos | 0,767 s | Muy alto (Gen2: 297K) | +0% vs Equilibrado |
| Detalle extremo | 313/430 (72,79%) | 10.14 minutos | 1.414 segundos | Extremo (Gen2: 4,74 millones) | +32,08% vs Detallado |
¿Cómo elegir la velocidad adecuada para mi aplicación?
Basándose en las comparaciones anteriores, comience con el ajuste Más rápido y pase por Equilibrado, Detallado y ExtremoDetallado para identificar diferencias significativas en el resultado. En la mayoría de los casos, Balanced se encarga de todo adecuadamente. Utilice Detailed y ExtremeDetail solo para imágenes muy distorsionadas.
Aunque Detailed y ExtremeDetail aplican un procesamiento medio y pesado, a veces es más eficiente dividir el proceso: aplicar filtros de imagen manualmente antes de la lectura del código de barras en lugar de utilizar un único proceso. Para obtener más información sobre el preprocesamiento de imágenes, consulte esta guía.
¿Qué configuración de velocidad se ajusta a mi caso de uso?

Preguntas Frecuentes
¿Cuáles son las cuatro opciones de velocidad de lectura de códigos de barras disponibles?
IronBarcode ofrece cuatro opciones de velocidad de lectura: Faster, Balanced, Detailed y ExtremeDetail. Cada opción proporciona un equilibrio diferente entre velocidad de procesamiento y precisión, siendo Balanced el punto de partida recomendado para la mayoría de las aplicaciones.
¿Cómo se ajusta la velocidad de lectura al escanear códigos de barras?
Puede establecer la velocidad de lectura mediante la clase BarcodeReaderOptions de IronBarcode. Simplemente cree un nuevo objeto BarcodeReaderOptions y establezca la propiedad Speed en el valor ReadingSpeed que desee (Faster, Balanced, Detailed o ExtremeDetail), luego páselo al método Read.
¿Qué opción de velocidad de lectura debo utilizar para mi solicitud?
IronBarcode recomienda comenzar con la configuración de velocidad Equilibrada para la mayoría de las aplicaciones. Si dispone de imágenes de códigos de barras claras y de alta calidad, puede utilizar el modo Más rápido. En el caso de imágenes degradadas o de baja calidad, considere la posibilidad de utilizar los modos Detallado o Detalleextremo para obtener una mayor precisión.
¿Cuál es el equilibrio entre las distintas opciones de velocidad de lectura?
El compromiso en las velocidades de lectura de IronBarcode está entre la velocidad de procesamiento y la precisión. El modo más rápido procesa las imágenes con rapidez, pero puede pasar por alto códigos de barras en imágenes de baja calidad. El modo ExtremeDetail proporciona la máxima precisión, pero requiere más tiempo de procesamiento y recursos de memoria.
¿Puedo leer varios formatos de códigos de barras con diferentes velocidades?
Sí, IronBarcode admite la lectura de varios formatos de códigos de barras, incluidos los códigos QR, con todos los ajustes de velocidad. La configuración de velocidad afecta al enfoque de procesamiento, pero no limita los tipos de códigos de barras que puede leer. Visite la página de formatos de código de barras compatibles para obtener una lista completa.
¿Cómo afecta la calidad de la imagen a la velocidad de lectura que debo elegir?
La calidad de la imagen afecta directamente a su selección de velocidad en IronBarcode. Las imágenes de códigos de barras claras y de alta calidad se pueden procesar eficazmente con el modo Faster. Las imágenes degradadas, borrosas o de bajo contraste requieren los modos Detallado o Detalle extremo para garantizar una detección y lectura precisas de los códigos de barras.
¿Cuál es el flujo de trabajo mínimo para leer códigos de barras con opciones de velocidad?
El flujo de trabajo mínimo con IronBarcode consta de 5 pasos: 1) Descargar la biblioteca de C#, 2) Utilizar BarcodeReaderOptions para establecer la velocidad de lectura, 3) Llamar al método Read con la ruta de la imagen, 4) Extraer e imprimir los valores del código de barras, 5) Evaluar las compensaciones de rendimiento entre las diferentes velocidades.
¿Cómo puedo medir el impacto en el rendimiento de las diferentes velocidades de lectura?
El rendimiento de IronBarcode con diferentes velocidades de lectura puede medirse utilizando bibliotecas de referencia .NET para realizar un seguimiento del tiempo de procesamiento y el uso de memoria. Esto le ayuda a identificar la configuración de velocidad óptima para su caso de uso específico y sus limitaciones de recursos.






