IRONSOFTWAREHOME

如何在 C# 中定义条码裁剪区域以加快读取速度

Hairil Hasyimi Bin Omar
Hairil Hasyimi Bin Omar
Updated: 2026年6月29日

通过使用IronSoftware.Drawing.Rectangle定义裁剪区域,可以将IronBarcode的扫描区域限制在特定图像区域,从而显著提高条码读取性能并通过仅专注于相关区域来减少错误。

IronBarcode 最重要的功能之一是指定 裁剪区域。 此功能使IronBarcode能够仅读取图像中由IronSoftware.Drawing.Rectangle对象。 使用这一功能不仅能减少阅读错误,还能提高阅读效果。 在处理多页文档或条形码位置可预测的高分辨率图像时,这种技术尤其有价值。

在处理具有多个条形码或复杂背景的图像时,定义裁剪区域对于优化条形码读取速度至关重要。 通过限制扫描区域,可以实现比扫描整个图像快 5 倍的处理速度,同时还能减少非条形码元素带来的误报。

快速入门:定义和应用裁剪区域以更快地读取条形码

只需几秒钟即可创建裁剪矩形并将其导入 IronBarcode——无需额外设置,操作便捷。 看看使用BarcodeReaderOptions限制扫描到特定图像区域有多容易。

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2复制并运行这段代码。

    var results = IronBarCode.BarcodeReader.Read("image.png", new IronBarCode.BarcodeReaderOptions { CropArea = new IronSoftware.Drawing.Rectangle(x: 50, y: 100, width: 300, height: 150) });
    C#
  3. 3部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronBarcode
    arrow pointer

如何查找图像中的裁剪区域坐标和尺寸?

有很多方法可以找到图像中某一点的坐标。 一种方法是使用计算机上的 "画图 "应用程序加载图片。 要获得裁剪区域的第一个坐标,请将光标移动到首选的第一个位置,该位置将是Rectangle的左上角,并获取屏幕左下方应用提供的x,y坐标。 然后,定位第二个点,它将是Rectangle的右下角。 请参考下图以便更清楚地理解。

对于更高级的情况,您还可以考虑使用 GIMP 或 Photoshop 等图像编辑软件,它们提供了精确的像素坐标和测量工具。 有些开发人员喜欢使用在线坐标查找工具或创建简单的 HTML/JavaScript 实用程序,在图像悬停时显示鼠标坐标。

裁剪区域图,显示带有角坐标 (x1,y1) 和 (x2,y2) 的矩形区域及尺寸计算

我可以使用哪些工具来确定坐标?

然后可以将坐标值用作Rectangle对象的属性。 对象的width可以定义为x2 - x1,而height可以定义为y2 - y1。 在处理条形码图像时,必须了解坐标是从左上角(0,0)开始,并随着向右(x 轴)和向下(y 轴)移动而增加。

确定坐标的几种方法包括

  • 内置操作系统工具:Windows 画图,macOS 预览版
  • 浏览器开发工具:检查网络图像上的元素
  • 专业软件:Adobe Photoshop、GIMP
  • 自定义实用程序:简单坐标查看器应用程序
  • IronBarcode的调试功能:导出带坐标叠加的已处理图像

如何根据坐标计算矩形尺寸?

有了两个角点后,计算尺寸就变得简单了。 矩形需要四个参数:x 坐标、y 坐标、宽度和高度。 以下是如何正确实例化作物区域:

using IronBarCode;

int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;

IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2-x1, height: y2-y1);

该坐标系统可与 IronBarcode 的 图像校正功能无缝配合,让您仅对图像的特定区域应用滤镜。

如何应用 CropRegion 和读取 BarCode?

一旦定义了您希望IronBarcode读取的BarcodeReaderOptions,以及其他设置。 然后可以将其用作BarcodeReader.Read()方法中的一个参数。 以下代码片段展示了这一过程:

BarcodeReaderOptions 接受哪些参数?

BarcodeReaderOptions类提供了对条码读取过程的全面控制。 除作物区域外,您还可以配置:

  • 速度优化:使用速度设置在准确性和性能之间取得平衡
  • 条形码类型:指定要搜索的准确格式(支持的格式)
  • 图像过滤器:对倾斜或损坏的 BarCode 进行修正
  • 多线程:启用并行处理以提高性能
  • 旋转处理:自动检测旋转的 BarCode

如何处理来自裁剪区域的多个条形码结果?

在扫描包含多个条码的裁剪区域时,IronBarcode 会返回一个结果集合。 每个结果都包含有价值的元数据,包括作物区域内的确切位置、条形码类型和解码值。 以下是如何实现全面的作物区域处理:

using IronBarCode;
using System;

int x1 = 62;
int y1 = 29;
int x2 = 345;
int y2 = 522;

IronSoftware.Drawing.Rectangle crop1 = new IronSoftware.Drawing.Rectangle(x: x1, y: y1, width: x2 - x1, height: y2 - y1);

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    CropArea = crop1
};

var result = BarcodeReader.Read("sample.png", options);
foreach (var item in result)
{
    Console.WriteLine(item.Value);
}

从上面的代码片段中,我们在CropArea属性。 然后我们使用这个CropArea应用于图像并读取其中的条码。

高级作物区域技术

对于生产应用,可以考虑这些高级策略:

1.动态裁剪区域:根据文档模板或 OCR 结果计算裁剪区域 2.多个区域:在单个图像中处理多个裁剪区域,实现复杂布局 3.性能优化:将裁剪区域与 async 处理相结合,实现最大吞吐量 4.错误处理:在预期区域未找到条形码时实施后备策略

在处理 PDF 文档时,您可以对特定页面应用裁剪区域,从而大幅缩短大文件的处理时间。 这对于发票、运输标签或条形码位置标准化的表格尤其有用。

作物区域定义的最佳实践

最大限度地提高作物区域的效率:

  • 添加衬垫:在预期条形码位置周围加入 10-20 个像素,以考虑到细微的差异
  • 彻底测试:验证裁剪区域在整个文档集中的工作情况
  • 文档坐标:为您的应用程序维护一份常见作物区域参考表
  • 考虑缩放:考虑不同的图像分辨率或 DPI 设置
  • 监控性能:跟踪处理时间以验证作物区域的有效性

对于需要容错的应用程序,应采用两步法:首先扫描裁剪区域,如果在预期区域内未发现条形码,则退回到全图扫描。

结论

定义裁剪区域是优化 .NET 应用程序中条形码读取性能的一项强大技术。 通过将扫描区域限制在特定区域,可以显著提高速度,同时减少误报。 无论您是处理 单个图像还是批量操作,裁剪区域都能提供生产环境所需的精度和性能。

常见问题解答

什么是 BarCode 裁剪区域,为什么要使用它?

条码裁剪区域是 IronBarcode 在图像中集中扫描的特定区域。通过使用 IronSoftware.Drawing.Rectangle 定义裁剪区域,您可以将条码读取速度提高 5 倍,同时通过将扫描限制在图像的相关区域来减少错误。

如何为条形码读取定义裁剪区域?

您可以在 IronBarcode 中定义裁剪区域,方法是创建一个具有特定坐标(x、y)和尺寸(宽、高)的 IronSoftware.Drawing.Rectangle 对象,然后在调用读取方法时将其传递给 BarcodeReaderOptions.CropArea 属性。

使用裁剪区域能带来哪些性能提升?

与扫描整个图像相比,IronBarcode 的裁剪区域功能可将条码读取性能提高 5 倍。这在处理多页文档或条码位置可预测的高分辨率图像时尤为有益。

如何找到我所在作物区域的正确坐标?

您可以使用 Microsoft Paint、GIMP 或 Photoshop 等图像编辑软件查找裁剪区域坐标。只需打开图像,将光标移动到所需区域的左上角,记下 x、y 坐标,然后找到右下角坐标,即可确定 IronBarcode 中矩形的宽度和高度。

何时使用作物区域特别有益?

IronBarcode 中的裁剪区域在处理具有多个条码的图像、复杂背景、多页文档或条码位置一致且可预测的高分辨率图像时尤为重要。

Can IronBarcode handle multiple barcodes within a cropped region?

Yes, IronBarcode can process multiple barcodes within a cropped region, returning a collection of results that include each barcode's value and location.

What are advanced techniques for utilizing crop regions with IronBarcode?

Advanced techniques include dynamic crop regions based on document templates, processing multiple regions, combining with async processing, and implementing error handling strategies.

What best practices should be followed when defining crop regions?

Best practices include adding padding around expected barcode locations, thoroughly testing across document sets, documenting coordinates, considering image scaling, and monitoring performance.

How can crop regions be applied to PDF documents with IronBarcode?

Crop regions can be applied to specific pages within PDF documents, which reduces processing time, especially useful for documents with standardized barcode positions like invoices or shipping labels.

Why might you use a two-pass scanning approach with crop regions?

A two-pass approach first scans the crop region, but if no barcodes are detected, it falls back to scanning the full image, thus ensuring high fault tolerance.

准备开始了吗?

Nuget Downloads 2,422,100版本:2026.9刚刚发布

免费获取

30天试用密钥 即刻获取。

bullet_checked无需信用卡或创建账户
bullet_test在生产环境中测试
且无水印
bullet_calendar30天完全
功能性产品
bullet_support试用期间提供
24/5技术支持
立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 "IronBarcode"
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并将 IronBarCode 解压到解决方案目录中的 ~/Libs 等位置
  2. 在 Visual Studio 解决方案资源管理器中,右键单击引用。选择浏览,"IronBarcode.dll"

许可 $999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户