如何使用 IronBarcode 調整 C# 的閱讀速度。
IronBarcode 提供四種讀取速度選項(Faster, Balanced, Detailed, ExtremeDetail ),讓您在 C# 中讀取條碼時控制處理速度和精確度之間的取捨,其中 Balanced 是大多數應用程式的建議起點。
介紹
在讀取大量 BarCode 時,精確度是不可或缺的,但資源分配和處理效率也是同樣重要的考慮因素。 輸入影像的品質決定了條碼讀取器應如何處理這些影像-是跳過清晰影像的預處理,還是使用更耗費資源的選項來提高劣質條碼的精確度。
IronBarcode 提供了選擇處理速度和精確度等級的靈活性,讓您可以控制條碼讀取過程的每個方面。 您可以根據輸入的影像和可用資源來做決定。 如需更進階的條碼讀取情境,請探索我們的 全面條碼讀取教學,其中涵蓋各種格式和技術。
本文提供針對不同情境選擇最佳閱讀速度的指引。 我們會使用 QR 碼樣本來示範改變閱讀速度會如何影響結果。 如果您要特別處理 QR 碼,請查看我們的 C# QR 碼產生器教學,以建立測試範例。
快速入門:以均衡速度讀取條碼
使用 IronBarcode 的 BarcodeReaderOptions 即時設定您掃描的 Speed 等級。 本範例說明如何使用 Balanced 設定快速讀取條碼,以獲得快速可靠的結果。
立即開始使用 NuGet 建立 PDF 檔案:
使用 NuGet 套件管理器安裝 IronBarcode
複製並運行這段程式碼。
var results = IronBarCode.BarcodeReader.Read("path/to/image.png", new IronBarCode.BarcodeReaderOptions { Speed = IronBarCode.ReadingSpeed.Balanced });部署到您的生產環境進行測試
最小工作流程(5 個步驟)
- 下載 C# 庫以調整閱讀速度
- 使用BarcodeReaderOptions類別設定讀取速度
- 使用
Read方法從各種圖像格式中提取條碼值 - 列印出條碼值
- 評估不同閱讀速度之間的表現權衡
有哪些不同的閱讀速度選項? IronBarcode 提供四種 `ReadingSpeed` 選項:`Faster`, `Balanced`, `Detailed`, 和 `ExtremeDetail`. 我們會使用一個樣本集來檢視每個選項,該樣本集包含大部分已降級的 BarCode 影像與一些清晰的影像,以展示資料庫的功能。 如需支援格式的完整清單,請造訪我們的 [ 支援的 BarCode 格式頁面](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/)。 我們會使用 .NET 基準函式庫來測量處理時間和記憶體使用量,顯示每種選項的比較,並找出每種閱讀速度的理想情況。 我們將示範基準程式碼,以及計算成功讀取退化 BarCode 的直接方法。 有關配置閱讀器選項的詳細資訊,請參閱我們的 [ BarCode 閱讀器設定範例](https://ironsoftware.com/csharp/barcode/examples/barcode-reader-settings-csharp/)。何時應該使用更快的速度選項? `Faster` 選項以最少的資源提供最快的條碼讀取速度,但會降低精確度。 此流程跳過影像預處理,當輸入的影像已經清晰銳利時,效果最佳。 此範例設定 `Speed` 屬性為 `ReadingSpeed.Faster`,匯入一個條碼目錄,並列印找到的條碼及其值、類型和每個影像的數量。 若要更好地瞭解從各種影像格式讀取 BarCode,請查看我們的 [ 從影像讀取 BarCode](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-images/) 指南。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-faster.cs ``` `Faster` 選項在 25 秒內從 430 個結果中偵測出 146 個 BarCode 結果,達到 33.95% 的準確度。 此方法雖然快速,但只適合原始影像條件。 在處理單一影像中的多個 BarCode 時,請考慮我們的 [ 讀取多個條碼](https://ironsoftware.com/csharp/barcode/how-to/read-multiple-barcodes/)指南,以獲得最佳配置。為什麼 Balanced 是推薦的速度選項? `Balanced` 選項可平衡精確度與讀取效能。 IronBarcode 應用輕度影像處理來釐清條碼區域,使其更容易偵測和讀取。 對於大多數的現代影像,建議使用此設定,因為輕度處理通常可以產生精確的結果。 讓我們使用相同的影像來展示 `Balanced` 如何影響輸出結果。 關於異步操作,請探索我們的 [async 和多執行緒與 IronBarcode](https://ironsoftware.com/csharp/barcode/how-to/async-multithread/) 指南。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-balanced.cs ``` `Balanced` 選項在 43 秒內從 430 個結果中偵測出 237 個 BarCode 結果。 它提供了 55.11% 的準確度 - 比 `Faster` 有顯著的進步 - 但只增加了少許時間。 此選項在記憶體和速度之間維持有效的平衡,使其成為大多數情況下的理想選擇,也是建議的起點。 這種平衡的方法搭配適當的圖像預處理技巧效果特別好。何時需要詳細速度選項? 當影像嚴重模糊或扭曲,且 `Balanced` 無法產生清晰的結果時,請使用 `Detailed` 選項。 它應用中度預處理來釐清 BarCode 區域並減少數位雜訊,以達到更好的檢測效果。 對於嚴重降級的影像,請參考我們的 [ 影像修正指南](https://ironsoftware.com/csharp/barcode/how-to/image-correction/),其中涵蓋各種預處理技術。 讓我們套用 `Detailed` 設定,並觀察其對輸出的影響。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-detailed.cs ``` `Detailed` 選項在 5 分 30 秒內從 430 個結果中偵測出 237 個 BarCode 結果。 對於嚴重退化的 BarCode,其 55.11% 的成功率證明了其準確性。 然而,大幅增加的處理時間意味著此選項應該僅用於降級的 BarCode 影像。 在處理不完全條碼時,請參閱我們的 [ 不完全條碼處理範例](https://ironsoftware.com/csharp/barcode/examples/imperfect-barcode-with-image-correction/),以瞭解其他策略。哪些情況需要極端詳細的速度? `ExtremeDetail` 設定會對條碼影像進行大量處理,大幅降低讀取效能。 此 CPU 密集型選項最適用於掃描同一輸入檔案中多個不清楚或模糊的 BarCode。當其他選項無法達到預期效果時,可將其作為最後的選擇。 針對大量處理的情境,探索 [ 從 PDF 檔案讀取條碼](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-pdf/),這些 PDF 檔案每頁通常包含多個條碼。 讓我們套用 `ExtremeDetail` 設定來觀察其影響。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-extreme-detailed.cs ``` `ExtremeDetail` 選項在約 10 分鐘內識別出 430 個 BarCode 影像中的 313 個。 雖然在嚴重退化的 BarCode 上達到令人印象深刻的 72.79% 準確度,但其高資源消耗使其只適合作為最後的手段。 使用此選項之前,請考慮先預先處理影像。不同的速度如何比較?
為什麼 Balanced 是推薦的速度選項? `Balanced` 選項可平衡精確度與讀取效能。 IronBarcode 應用輕度影像處理來釐清條碼區域,使其更容易偵測和讀取。 對於大多數的現代影像,建議使用此設定,因為輕度處理通常可以產生精確的結果。 讓我們使用相同的影像來展示 `Balanced` 如何影響輸出結果。 關於異步操作,請探索我們的 [async 和多執行緒與 IronBarcode](https://ironsoftware.com/csharp/barcode/how-to/async-multithread/) 指南。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-balanced.cs ``` `Balanced` 選項在 43 秒內從 430 個結果中偵測出 237 個 BarCode 結果。 它提供了 55.11% 的準確度 - 比 `Faster` 有顯著的進步 - 但只增加了少許時間。 此選項在記憶體和速度之間維持有效的平衡,使其成為大多數情況下的理想選擇,也是建議的起點。 這種平衡的方法搭配適當的圖像預處理技巧效果特別好。何時需要詳細速度選項? 當影像嚴重模糊或扭曲,且 `Balanced` 無法產生清晰的結果時,請使用 `Detailed` 選項。 它應用中度預處理來釐清 BarCode 區域並減少數位雜訊,以達到更好的檢測效果。 對於嚴重降級的影像,請參考我們的 [ 影像修正指南](https://ironsoftware.com/csharp/barcode/how-to/image-correction/),其中涵蓋各種預處理技術。 讓我們套用 `Detailed` 設定,並觀察其對輸出的影響。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-detailed.cs ``` `Detailed` 選項在 5 分 30 秒內從 430 個結果中偵測出 237 個 BarCode 結果。 對於嚴重退化的 BarCode,其 55.11% 的成功率證明了其準確性。 然而,大幅增加的處理時間意味著此選項應該僅用於降級的 BarCode 影像。 在處理不完全條碼時,請參閱我們的 [ 不完全條碼處理範例](https://ironsoftware.com/csharp/barcode/examples/imperfect-barcode-with-image-correction/),以瞭解其他策略。哪些情況需要極端詳細的速度? `ExtremeDetail` 設定會對條碼影像進行大量處理,大幅降低讀取效能。 此 CPU 密集型選項最適用於掃描同一輸入檔案中多個不清楚或模糊的 BarCode。當其他選項無法達到預期效果時,可將其作為最後的選擇。 針對大量處理的情境,探索 [ 從 PDF 檔案讀取條碼](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-pdf/),這些 PDF 檔案每頁通常包含多個條碼。 讓我們套用 `ExtremeDetail` 設定來觀察其影響。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-extreme-detailed.cs ``` `ExtremeDetail` 選項在約 10 分鐘內識別出 430 個 BarCode 影像中的 313 個。 雖然在嚴重退化的 BarCode 上達到令人印象深刻的 72.79% 準確度,但其高資源消耗使其只適合作為最後的手段。 使用此選項之前,請考慮先預先處理影像。不同的速度如何比較?
哪些情況需要極端詳細的速度? `ExtremeDetail` 設定會對條碼影像進行大量處理,大幅降低讀取效能。 此 CPU 密集型選項最適用於掃描同一輸入檔案中多個不清楚或模糊的 BarCode。當其他選項無法達到預期效果時,可將其作為最後的選擇。 針對大量處理的情境,探索 [ 從 PDF 檔案讀取條碼](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-pdf/),這些 PDF 檔案每頁通常包含多個條碼。 讓我們套用 `ExtremeDetail` 設定來觀察其影響。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/reading-speed-option-extreme-detailed.cs ``` `ExtremeDetail` 選項在約 10 分鐘內識別出 430 個 BarCode 影像中的 313 個。 雖然在嚴重退化的 BarCode 上達到令人印象深刻的 72.79% 準確度,但其高資源消耗使其只適合作為最後的手段。 使用此選項之前,請考慮先預先處理影像。不同的速度如何比較?
| 模式 | 找到條碼 | 平均時間 | 每份文件所需時間 | GC壓力 | 精度提升 |
|---|---|---|---|---|---|
| 更快。 | 147/430 (33.95%) | 25秒 | 0.058秒 | 高(第二代:177K) | 基線 |
| 平衡 | 237/430 (55.11%) | 43秒 | 0.1秒 | 高(第二代:151K) | +62.32% 對比 Faster |
| 詳細內容 | 237/430 (55.11%) | 5.50分鐘 | 0.767秒 | 非常高(第二代:297K) | +0% vs 平衡 |
| 極致細節 | 313/430 (72.79%) | 10.14分鐘 | 1.414秒 | Extreme(二代:474萬) | +32.08% 對比 Detailed |
如何為我的應用程式選擇正確的速度? 根據上面的比較,從 `Faster` 設定開始,依序經過 `Balanced`, `Detailed`, 和 `ExtremeDetail` 來找出顯著的輸出差異。 對於大多數情況,`Balanced` 可以充分處理一切。 僅對嚴重扭曲的圖像使用 `Detailed` 和 `ExtremeDetail` 。 雖然 `Detailed` 和 `ExtremeDetail` 應用了中度和重度處理,但有時分割處理 - 在讀取 BarCode 之前手動套用影像篩選器,會比使用單一處理更有效率。 如需更多關於影像預處理的資訊,請參閱此[指南](https://ironsoftware.com/csharp/barcode/how-to/image-correction/)。哪種速度設定符合我的使用個案?

常見問題解答
四種可用的 BarCode 讀取速度選項是什麼?
IronBarcode 提供四種 ReadingSpeed 選項:Faster、Balanced、Detailed 和 ExtremeDetail。每個選項在處理速度和精確度之間提供不同的平衡,平衡是大多數應用程式的建議起點。
掃描 BarCode 時,如何設定讀取速度?
您可以使用 IronBarcode 中的 BarcodeReaderOptions 類設定讀取速度。只需創建一個新的 BarcodeReaderOptions 物件,並將 Speed 屬性設置為您所需的 ReadingSpeed 值 (Faster、Balanced、Detailed 或 ExtremeDetail),然後將其傳遞至 Read 方法。
我的應用程式應該使用哪個閱讀速度選項?
IronBarcode 建議大部分應用程式從平衡速度設定開始。如果您擁有高品質、清晰的 BarCode 影像,您可以使用 Faster 模式。對於降級或品質較差的影像,可考慮使用 Detailed 或 ExtremeDetail 模式,以獲得更高的精確度。
不同閱讀速度選項之間如何取捨?
IronBarcode 讀取速度的取捨是在處理速度與精準度之間。Faster 模式可快速處理影像,但可能會遺漏品質不佳影像中的 BarCode。ExtremeDetail 模式提供最高的精確度,但需要更多的處理時間和記憶體資源。
我可以使用不同的速度設定讀取多種條碼格式嗎?
是的,IronBarcode 支援讀取各種條碼格式,包括所有速度設定的 QR 碼。速度設定會影響處理方式,但不會限制您可以讀取的條碼類型。請造訪支援的 BarCode 格式頁面以取得完整清單。
影像品質如何影響我應該選擇的閱讀速度?
圖像品質直接影響您在 IronBarcode 中的速度選擇。清晰、高品質的 BarCode 影像可使用 Faster 模式進行有效處理。退化、模糊或低對比度的影像需要使用 Detailed 或 ExtremeDetail 模式,以確保準確的條碼偵測和讀取。
讀取有速度選項的 BarCode 的最小工作流程是什麼?
IronBarcode 的最小工作流程包括 5 個步驟:1) 下載 C# 函式庫;2) 使用 BarcodeReaderOptions 設定讀取速度;3) 使用您的影像路徑呼叫讀取方法;4) 擷取並列印條碼值;5) 評估不同速度之間的效能權衡。
如何衡量不同閱讀速度對效能的影響?
IronBarcode 在不同讀取速度下的效能可使用 .NET 基準函式庫來追蹤處理時間與記憶體使用量。這可協助您針對特定的使用情況和資源限制,找出最佳的速度設定。






