Uso de filtros de corrección de imágenes en C# para mejorar la decodificación de códigos de barras
IronBarcode proporciona filtros de corrección de imagen integrados como SharpenFilter y ContrastFilter que mejoran mediante programación las imágenes de códigos de barras borrosas o imperfectas, mejorando la precisión de lectura sin necesidad de software externo de edición de imágenes ni de volver a capturar imágenes.
No todas las imágenes son perfectas, y la mala calidad de la imagen es uno de los principales factores que impiden la lectura correcta de códigos de barras en IronBarcode. En lugar de volver a capturar imágenes o utilizar software externo de mejora de imágenes, IronBarcode proporciona filtros integrados que mejoran la calidad de la imagen mediante programación. Estos filtros ayudan a IronBarcode a leer imágenes difíciles y a mejorar la precisión general.
Continúa leyendo para conocer los filtros de corrección de imagen disponibles en IronBarcode, sus efectos sobre las imágenes y cómo aplicarlos. Para más información sobre técnicas de lectura de códigos de barras, consulte nuestro Tutorial de lectura de códigos de barras.
Inicio rápido: Aplicar filtros de agudización y contraste para mejorar la lectura de códigos de barras
En un solo paso, aplique el SharpenFilter y el ContrastFilter de IronBarcode utilizando la ImageFilterCollection en BarcodeReaderOptions. Esto mejora el escaneado de códigos de barras con una configuración mínima y sin necesidad de herramientas externas.
Empieza a crear PDF con NuGet ahora:
Instalar IronBarcode con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
BarcodeResults results = IronBarCode.BarcodeReader.Read("input.png", new IronBarCode.BarcodeReaderOptions { ImageFilters = new IronBarCode.ImageFilterCollection() { new IronBarCode.SharpenFilter(3.5f), new IronBarCode.ContrastFilter(2.0f) } });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 usar filtros de corrección de imágenes
- Explore todos los filtros de corrección de imagen disponibles
- Configurar cada filtro con valores personalizados
- Aplicar filtros a muestras de imágenes imperfectas
- Recuperar valores de códigos de barras de imágenes mejoradas
¿Cómo aplicar filtros de imagen para mejorar la lectura de códigos de barras?
Para aplicar filtros, instancie la clase ImageFilterCollection y cree instancias de cada filtro individualmente. Luego asigna el objeto a la propiedad ImageFilters del objeto BarcodeReaderOptions. Pasa el objeto de opciones al método Read junto con la imagen de muestra. Para opciones de instalación avanzadas, visite nuestra Guía de paquetes NuGet.
Utilice la imagen siguiente como imagen de muestra.

Imagen de muestra
La imagen aparece bastante borrosa. Sin embargo, el brillo es aceptable, y los colores blanco y negro son distinguibles. Por lo tanto, aplica al menos el SharpenFilter y el ContrastFilter para mejorar la legibilidad del código de barras. Consulte el siguiente fragmento de código para aplicar filtros a la imagen, leerla y mostrar los resultados en la consola.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-apply-filter.csusing IronBarCode;
using System;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection()
{
new SharpenFilter(3.5f),
new ContrastFilter(2)
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Write the result value to console
foreach (BarcodeResult result in results)
{
Console.WriteLine(result.Text);
}El fragmento de código anterior aplica filtros, lee el código de barras y exporta la imagen filtrada al disco. A continuación se muestra la comparación entre la muestra y las imágenes filtradas.

Imagen de muestra

Muestra filtrada
¿Qué filtros de corrección de imagen están disponibles en IronBarcode?
IronBarcode ofrece múltiples filtros de imagen diseñados específicamente para la corrección de imágenes. Estos filtros ayudan a leer imágenes de códigos de barras imperfectas y mejoran la precisión de la lectura. Sin embargo, hay que entender cómo funcionan estos filtros para seleccionar los filtros adecuados y evitar problemas de rendimiento por usar demasiados filtros o usar el filtro incorrecto. Los filtros disponibles incluyen:
- <código>AdaptiveThresholdFilter</código
- <código>BinaryThresholdFilter</código
- <código>BrightnessFilter</código
- <código>ContrastFilter</código
- <código>InvertirFiltro</código
- <código>SharpenFilter</código
- <código>ErodeFilter</código
- <código>DilateFilter</código
- <código>HistogramaCualizaciónFiltro</código
- Filtros de desenfoque
- <código>GaussianBlurFilter</código
- <código>FiltroBilateral</código
- <código>MedianBlurFilter</código
El orden en que se aplican los filtros se basa en su ubicación dentro de la ImageFilterCollection. Para obtener documentación detallada sobre la API de estos filtros, visite nuestra Referencia API.
¿Cómo funciona el filtro de umbral adaptativo?
AdaptiveThresholdFilter es un filtro disponible en IronBarcode que aplica la técnica Bradley Adaptive Threshold a la imagen, que determina automáticamente el umbral para binarizar una imagen. Este filtro es ideal para imágenes con iluminación no uniforme y niveles de intensidad de fondo variables.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-adaptive-threshold.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new AdaptiveThresholdFilter(0.9f),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("adaptiveThreshold_0.9.png");A continuación se presentan los resultados de aplicar el filtro utilizando diferentes valores.

Valor predeterminado

Valor 0,9
El constructor acepta parámetros adicionales para su configuración:
Upper: Color superior (blanco) para el umbral.Lower: Color inferior (negro) para el umbral.Umbral: Límite de umbral (0,0-1,0) para la binarización.Rectángulo: Región rectangular sobre la que aplicar el procesador.
Como se muestra en la imagen de salida anterior, la imagen se binariza para que solo tenga los colores negro y blanco. Aunque todavía no parece lo ideal para la lectura de códigos de barras, es necesario utilizar filtros combinados. Experimenta con la sensibilidad de los parámetros para obtener los mejores resultados.
¿Cómo funciona el filtro de umbral binario?
El BinaryThresholdFilter filtra una imagen dividiendo los píxeles en el umbral dado, comparando la luminancia de un componente de color. Al igual que el AdaptiveThresholdFilter, este filtro puede introducir ruido nuevo o no deseado si no se utiliza correctamente. Sin embargo, IronBarcode ha establecido valores predeterminados para las propiedades de los filtros.
Al igual que el AdaptiveThresholdFilter, el BinaryThresholdFilter acepta los mismos parámetros adicionales para su configuración:
Upper: Color superior (blanco) para el umbral.Lower: Color inferior (negro) para el umbral.Umbral: Límite de umbral (0,0-1,0) para la binarización.Rectángulo: Región rectangular sobre la que aplicar el procesador.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-binary-threshold.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new BinaryThresholdFilter(0.9f)
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("binaryThreshold_0.9.png");A continuación se muestra el ejemplo de salida de aplicar filtros a la imagen de muestra.

Valor predeterminado

Valor 0,9
Observando la imagen de salida anterior, la muestra se ha binarizado en color blanco y negro. Sin embargo, está claro que este filtro no es adecuado para esta imagen debido a la eliminación de las barras del código de barras y a la introducción de nuevo ruido. Para resolver situaciones difíciles con códigos de barras, consulte nuestra guía de resolución de problemas con códigos de barras no reconocidos.
¿Cómo ajustar el brillo de la imagen para leer mejor los códigos de barras?
.Filtro de brillo es otro filtro esencial en la colección de filtros de imágenes en IronBarcode. Como su nombre indica, este filtro ajusta el brillo de la imagen del código de barras. La entrada a este constructor varía la Cantidad de brillo en la imagen de salida. El valor por defecto es 1, lo que deja la imagen sin cambios. Un valor de 0 crea una imagen completamente negra, mientras que valores superiores a 1 hacen que la imagen sea más brillante.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-brightness.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new BrightnessFilter(1.5f),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("brightness_1.5.png");A continuación se muestra la imagen de salida después de aplicar este filtro a la entrada de muestra.

Valor predeterminado

Valor 1,5
¿Cómo utilizar el filtro de contraste para mejorar las imágenes de códigos de barras?
El ContrastFilter ajusta el nivel de contraste de una imagen. El contraste de imagen se refiere a la diferencia en la intensidad de color entre varios elementos en una imagen. Aumentar el nivel de contraste mejora la visibilidad de los detalles, haciendo que la imagen sea más vívida y llamativa, mientras que reducir el contraste hace que la imagen sea más suave y sutil. Para más detalles sobre la personalización de códigos de barras, consulte nuestra guía sobre personalización de estilos de códigos de barras.
El valor por defecto es 1, lo que deja la imagen sin cambios. Un valor de 0 crea una imagen completamente gris, mientras que valores superiores a 1 aumentan el contraste de la imagen.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-contrast.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new ContrastFilter(1.5f),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("contrast_1.5.png");Aplicar este filtro a la entrada de muestra produce la imagen a continuación.

Valor predeterminado

Valor 1,5
¿Cuándo debo utilizar el filtro de inversión?
Este filtro invierte los colores dentro de una imagen, haciendo colores opuestos, como el blanco se convierte en negro y el negro en blanco. Es especialmente útil cuando se lee una imagen de código de barras con un color de fondo. A diferencia del BinaryThresholdFilter, este filtro invierte los colores directamente sin necesidad de especificar la sensibilidad. Además, este filtro se puede utilizar con un CropRectangle para especificar la ubicación en la imagen que necesita que se invierta el color, en lugar de invertir los colores de toda la imagen. Obtenga más información sobre cómo especificar regiones de cultivo en nuestro tutorial sobre regiones de cultivo.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-invert.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new InvertFilter(),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("invert.png");La imagen de salida que se muestra a continuación es el resultado de aplicar este filtro a la imagen de entrada de ejemplo.

Imagen original

Invertido
¿Cómo corregir imágenes borrosas de códigos de barras con el filtro Sharpen?
IronBarcode proporciona un filtro de nitidez. Este filtro mejora la nitidez de una imagen y es muy útil al tratar con imágenes borrosas. Manipule este filtro para ajustar la nitidez de una imagen ajustando el valor Sigma al instanciar el objeto filtro. El valor por defecto es 3. Aumenta el valor sigma para aumentar la nitidez de la imagen. Para conocer otras opciones de optimización del rendimiento, consulte nuestra guía sobre opciones de velocidad de lectura.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-sharpen.csusing IronBarCode;
using System;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new SharpenFilter(0.5f),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("sharpen_0.5.png");The image below is the sharpened version of the sample input image.

Valor predeterminado

valor 0,5
Comparando la imagen de arriba con la original, parece más nítida y ayuda en la lectura de códigos de barras utilizando IronBarcode. En la mayoría de los casos, el filtro de agudización siempre se aplica junto con otros filtros en la clase ImageFilterCollection.
¿Para qué se utiliza el filtro Erode?
El ErodeFilter elimina el ruido blanco diminuto y engrosa las barras de los códigos de barras eliminando los píxeles cercanos al borde de las formas. Este filtro se utiliza mejor en situaciones en las que el fondo del código de barras tiene muchas motas blancas o si la imagen del código de barras tiene una resolución demasiado baja o está borrosa, lo que da lugar a barras fusionadas. El ErodeFilter hace las barras más gruesas a la vez que elimina las motas blancas del fondo. Para obtener más información sobre el manejo de imágenes imperfectas, consulte nuestro ejemplo de código de barras imperfecto.
Aumente el efecto de la erosión introduciendo un número entero que represente kernelSize para el filtro. Cuanto mayor sea el tamaño del kernel, más fuerte será el efecto en la imagen de entrada. Tenga en cuenta que el kernelSize es un cuadrado y en este ejemplo sería un 5x5 kernel.
Como ejemplo, utilice el ErodeFilter con un tamaño de núcleo mayor para mostrar los efectos del filtro.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-erode.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new ErodeFilter(5),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("erodeFilter.jpg");
Imagen original

Filtro de erosión aplicado
Si se comparan las imágenes de entrada y de salida de arriba, algunas barras son visiblemente más gruesas debido a la naturaleza más agresiva de introducir un tamaño de núcleo mayor para filtrar. Sin embargo, las manchas blancas en la imagen general han disminuido. Por la naturaleza del filtro de erosión, cuanto mayor sea el tamaño del núcleo, podría borrar barras finas si se aplica de forma demasiado agresiva, como se muestra en la imagen anterior. Pruebe y refine el efecto cambiando el valor del tamaño del núcleo introducido en el ErodeFilter.
¿Cómo ayuda el filtro de dilatación a la lectura de códigos de barras?
El filtro de dilatación funciona como el inverso del filtro de erosión, operando al expandir regiones brillantes — generalmente el fondo — mediante la adición de píxeles a las fronteras de los objetos. Aunque este filtro repara los códigos de barras dañados o tenues rellenando pequeños huecos o realzando las zonas de bajo contraste, tenga en cuenta que su efecto sobre las barras de los códigos de barras difiere de lo que se intuye. Dado que la dilatación amplía los espacios brillantes, indirectamente adelgaza los elementos oscuros, como las barras negras de los códigos de barras (suponiendo un fondo blanco). Esto hace que el filtro sea particularmente efectivo en escenarios donde las barras del código de barras parecen excesivamente gruesas o unidas, pero un uso excesivo puede degradar la precisión del escaneo al adelgazarlas de manera excesiva.
Como en el caso anterior, aumente el efecto del filtro introduciendo un número entero que represente el kernelSize del filtro.
Para el ejemplo siguiente, utilice un tamaño de núcleo mayor para mostrar los efectos del DilateFilter.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-dilate.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new DilateFilter(5),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("dilateFilter.jpg");
Imagen original

Filtro de dilatación aplicado
Como se muestra en la imagen anterior, el uso agresivo de DilateFilter puede destruir potencialmente la estructura del código de barras, fusionando barras muy juntas y creando zonas silenciosas en los códigos de barras. Pruebe y perfeccione los efectos sobre la imagen cambiando el valor del tamaño del núcleo para que sea mayor o menor, en función de la imagen de entrada.
¿Cuándo debo utilizar el filtro HistogramEqualization?
El HistogramEqualizationFilter mejora el contraste de la imagen redistribuyendo las intensidades de los píxeles para mejorar la claridad. Se utiliza sobre todo cuando el código de barras tiene poco contraste, como imágenes descoloridas o desteñidas, o imágenes con una iluminación desigual, como sombras oscuras o brillos intensos. Al analizar el histograma de la imagen, que es la distribución del brillo de los píxeles, redistribuye los valores de los píxeles aumentando el contraste estirando el rango de intensidad, donde los píxeles oscuros se vuelven más oscuros y los píxeles claros se vuelven más claros.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-histogram-equalization-filter.csusing IronBarCode;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new HistogramEqualizationFilter(),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.png", options);
// Export file to disk
results.ExportFilterImagesToDisk("histogramEqualizationFilter.jpg");
Imagen original

Filtro de ecualización de histograma aplicado
Como se muestra en la imagen anterior, las barras negras son visiblemente más oscuras y los espacios son visiblemente más brillantes en comparación con la imagen original.
¿Qué filtros de desenfoque pueden ayudar a reducir el ruido de los códigos de barras?
¿Cómo reduce el ruido de las imágenes el filtro GaussianBlur?
El GaussianBlurFilter aplica un desenfoque gaussiano a una imagen. Este filtro suele reducir el ruido en una imagen. Para obtener una guía completa sobre cómo tratar códigos de barras imperfectos, consulte nuestro tutorial de corrección de la orientación de la imagen.
El filtro funciona promediando los valores de los píxeles vecinos en la imagen utilizando una función gaussiana. El método se basa en dos factores ajustables:
- Kernel: una matriz utilizada para promediar los píxeles.
- Sigma: valor que controla la intensidad del desenfoque.
El tamaño predeterminado del kernel es de 3x3 píxeles, y el valor predeterminado de Sigma es de 3,0, lo que produce un desenfoque moderado. Al aumentar el valor de Sigma se consigue un efecto de desenfoque más intenso. También puedes personalizar el kernel para controlar el tamaño del vecindario que promedia el filtro de desenfoque.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-gaussianblur.csusing IronBarCode;
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new GaussianBlurFilter(3, 3, 3.0f),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sharpen.webp", myOptionsExample);
// Export file to disk
results.ExportFilterImagesToDisk("gaussianBlur.png");Aplicar este filtro a la entrada de muestra produce la imagen a continuación.

Afinar la imagen

Imagen de desenfoque gaussiano
¿Cuándo debo utilizar el filtro bilateral?
El BilateralFilter suaviza las imágenes conservando los bordes. A diferencia de las técnicas de desenfoque simples que afectan a todos los píxeles de manera uniforme, el filtro bilateral tiene en cuenta tanto las diferencias de color como la distancia entre píxeles, lo que lo hace eficaz para el suavizado que preserva los bordes.
El método se basa en tres factores ajustables:
Diámetro de vecindad: Diámetro de la vecindad de píxeles (por defecto: 5).SigmaColor: Influencia del color que determina el impacto de la diferencia de color (por defecto: 75,0).SigmaSpace: influencia espacial que determina el impacto de la distancia (por defecto: 75,0).
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-bilateral.csusing IronBarCode;
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new BilateralFilter(5, 75, 75),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sharpen.webp", myOptionsExample);
// Export file to disk
results.ExportFilterImagesToDisk("bilateral.png");Aplicar este filtro a la entrada de muestra produce la imagen a continuación.

Afinar la imagen

Imagen bilateral
¿Qué hace diferente al filtro MedianBlur para la reducción de ruido?
El MedianBlurFilter reduce el ruido en una imagen sustituyendo el valor de cada píxel por el valor medio de los píxeles circundantes. Este filtro destaca especialmente en la conservación de bordes y la eliminación de ruido. Para saber más sobre la configuración del lector de códigos de barras, visite nuestra guía de configuración del lector de códigos de barras.
KernelSize: Tamaño del vecindario para el cálculo de la mediana (debe ser impar, por defecto: 5).
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-medianblur.csusing IronBarCode;
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new MedianBlurFilter(5),
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sharpen.webp", myOptionsExample);
// Export file to disk
results.ExportFilterImagesToDisk("medianBlur.png");Aplicar este filtro a la entrada de muestra produce la imagen a continuación.

Afinar la imagen

Imagen de desenfoque medio
¿Cómo puedo guardar imágenes filtradas en cada paso de procesamiento?
Cuando se aplican varios filtros al código de barras, puede resultar difícil ver el resultado después de cada método de filtrado. Esta función permite guardar la imagen filtrada después de que se aplique cada filtro, en el orden en que se procesan. Para habilitar esta función, primero pasa true al constructor de ImageFilterCollection. A continuación, utilice el método ExportFilterImagesToDisk para proporcionar la ruta y el nombre de las imágenes de salida. Para más ejemplos sobre cómo guardar códigos de barras, consulte nuestro ejemplo de convertir código de barras en imagen.
:path=/static-assets/barcode/content-code-examples/how-to/image-correction-save-iterations.csusing IronBarCode;
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
// Choose which filters are to be applied (in order)
ImageFilters = new ImageFilterCollection(true) {
new SharpenFilter(3.5f),
new AdaptiveThresholdFilter(0.5f),
new ContrastFilter(2)
},
};
// Apply options and read the barcode
BarcodeResults results = BarcodeReader.Read("sample.webp", myOptionsExample);
// Export file to disk
results.ExportFilterImagesToDisk("filteredImage.png");Los filtros se aplican en el orden del código, y las imágenes de salida reflejan los resultados de cada iteración:
Sharpen-> Después deSharpenSharpen+AdaptiveThreshold-> Después deAdaptiveThresholdEnfocar+Umbral adaptativo+Contraste-> Después deContraste

Imagen de muestra

Después de afilar

Después del umbral adaptativo

Después del contraste
Además de las propiedades ImageFilters, añada otras propiedades a BarcodeReaderOptions para una lectura más precisa; consulta este artículo para más información.
Preguntas Frecuentes
¿Qué son los filtros de corrección de imagen y por qué son necesarios para la lectura de códigos de barras?
Los filtros de corrección de imágenes de IronBarcode son herramientas integradas que mejoran mediante programación las imágenes de códigos de barras borrosas o imperfectas. Son esenciales porque la mala calidad de la imagen es uno de los principales factores que impiden la lectura correcta de los códigos de barras. IronBarcode proporciona filtros como SharpenFilter y ContrastFilter que mejoran la precisión de la lectura sin necesidad de software externo de edición de imágenes ni de volver a capturar las imágenes.
¿Cómo puedo aplicar filtros de corrección de imágenes para mejorar el escaneado de códigos de barras?
Para aplicar filtros en IronBarcode, cree una instancia ImageFilterCollection y añádale instancias de filtro individuales. A continuación, asigne esta colección a la propiedad ImageFilters de BarcodeReaderOptions y pásela al método Read. Por ejemplo: new BarcodeReaderOptions { ImageFilters = new ImageFilterCollection() { new SharpenFilter(3.5f), new ContrastFilter(2.0f) } }.
¿Qué filtros de imagen se recomiendan para las imágenes borrosas de códigos de barras?
Para imágenes de códigos de barras borrosas, IronBarcode recomienda utilizar al menos los filtros SharpenFilter y ContrastFilter. El SharpenFilter mejora la definición de los bordes en las imágenes borrosas, mientras que el ContrastFilter mejora la distinción entre las zonas claras y oscuras. Estos filtros actúan conjuntamente para que los códigos de barras sean más legibles sin necesidad de un procesamiento externo de la imagen.
¿Puedo personalizar la intensidad de los filtros de corrección de imagen?
Sí, IronBarcode permite configurar cada filtro con valores personalizados. Por ejemplo, SharpenFilter acepta un parámetro flotante (como 3.5f) para controlar la intensidad de la nitidez, y ContrastFilter acepta un parámetro (como 2.0f) para ajustar los niveles de contraste. Esta personalización ayuda a optimizar la eficacia del filtro para diferentes condiciones de la imagen.
¿Necesito herramientas externas de edición de imágenes para mejorar las imágenes de códigos de barras?
No, IronBarcode elimina la necesidad de herramientas externas de edición de imágenes al proporcionar filtros de corrección de imágenes integrados. Estos filtros programáticos como SharpenFilter y ContrastFilter pueden mejorar la calidad de la imagen directamente dentro de su aplicación .NET, ahorrando tiempo y evitando dependencias de software de terceros.






