IronOCR 操作指南 圖像校正濾鏡 C# 改善 OCR 讀取的影像修正篩選器。 柯蒂斯·週 更新:1月 10, 2026 下載 IronOCR NuGet 下載 DLL 下載 Windows Installer 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 分享 分享到 X(Twitter) 在領英上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR 提供五種基本的影像修正濾鏡 (銳化、增強解析度、去噪、擴張和侵蝕),可在文字擷取之前預先處理影像,藉由增強文字清晰度和降低雜訊,大幅提升 OCR 準確度。 快速入門:套用銳利化濾鏡以獲得清晰文字 使用 IronOCR 的 OcrImageInput 只需一行代碼即可銳化模糊的影像。 本範例展示影像增強以達到精確的 OCR。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronOCR PM > Install-Package IronOcr 複製並運行這段程式碼。 new IronOcr.OcrImageInput("sample.png").Sharpen().SaveAsImages("output.png"); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronOCR,免費試用! 免費試用30天 最小工作流程(5 個步驟) 下載一個用於使用濾波器進行影像校正的 C# 庫 導入 PDF 文檔和圖像以進行閱讀 應用所需的過濾器,如銳化、提升分辨率、去噪、膨脹和腐蝕 導出校正後的影像以供查看 使用 Read 方法進行 OCR 處理 如何套用銳化濾鏡? 此濾鏡可增加影像邊緣的對比度,創造出更明確的文字邊界。 它能改善文字的清晰度,使字元辨識更準確。 為什麼銳化可以提高 OCR 精確度? 銳化濾鏡透過增強邊緣對比,強調文字與背景之間的邊界。字元識別演算法需要清晰、鮮明的字母形狀才能正常運作。 掃描文件或低品質照片中常見的邊緣模糊文字會導致 OCR 引擎誤判字元邊界。 若要瞭解更多關於 OCR 最佳影像處理的資訊,請參閱我們關於 [OCR 影像最佳化篩選器](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/)的綜合指南。 若要套用銳化濾鏡,請呼叫 `OcrImageInput` 物件的 `Sharpen` 方法: ```csharp :path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-sharpen-filter.cs ``` 何時應該使用銳化篩選器? 對於稍微失焦的影像、文字邊緣較軟的掃描文件,或在光線不足的情況下拍攝的照片,請使用銳化處理。 避免將清晰的文字過度銳化,因為這樣會產生假象並降低精確度。 對於極度模糊的掃描,請結合銳化與其他濾鏡,或參閱我們的[修復低品質掃描與影像](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/)指南。 使用 `SaveAsImages` 方法匯出篩選過的影像。 以下是翻譯前後的比較。 前 後 如何增強解析度以獲得更好的 OCR? 此濾鏡可增加像素密度,提高銳利度和清晰度。 它可以幫助 OCR 引擎更準確地讀取低解析度影像中的文字。 OCR 應以何種 DPI 為目標? OCR 引擎在 300 DPI(每英吋點數)下效能最佳。 較低的解析度會造成字元辨識錯誤; 較高的解析度會減慢處理速度,卻不會提高精確度。 IronOCR 的增強濾鏡可將影像智慧地提升至最佳 DPI 水準。 如需詳細指引,請參閱我們的 [DPI 設定指南](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/)。 調用 `EnhanceResolution` 方法來套用此過濾器。 預設目標為 225 DPI: ```csharp using IronOcr; // Create OCR input var imageInput = new OcrImageInput("low-res-scan.jpg"); // Apply enhance resolution filter with default 225 DPI imageInput.EnhanceResolution(); // Or specify a custom DPI imageInput.EnhanceResolution(300); // Combine with OCR reading var ocr = new IronTesseract(); var result = ocr.Read(imageInput); Console.WriteLine($"Extracted text: {result.Text}"); ``` 何時增強解析度最重要? 解析度的提升對於以下方面至關重要: - 以螢幕解析度 (72-96 DPI) 擷取的螢幕截圖 - 從網際網路下載的網頁影像 - 以低解析度掃描的歷史文件 - 傳真傳輸本身解析度低 [OCR Tesseract Image DPI 實例](https://ironsoftware.com/csharp/ocr/examples/ocr-image-dpi-for-tesseract/)讓您深入瞭解 DPI 如何影響各種文件類型的精確度。 前 後 如何去除影像雜訊? 去噪濾鏡可減少影像中不想要的人工影像。 降低雜訊可將文字與背景干擾隔離,產生更乾淨、更精準的 OCR 結果。 2x2 和 3x3 語法有何差異? 形態大小決定去噪強度。 2x2 形態學應用溫和的降噪技術,在保留精細文字的同時,將人工雜訊降到最低。 3x3 形態可為嚴重退化的文件提供積極的雜訊去除,但可能會影響非常小的文字。 若要套用去噪濾波器,請使用`DeNoise`方法。 預設 morphology 為 2x2。若要使用 3x3 形態,請傳入 'true': ```csharp using IronOcr; // Load noisy document var imageInput = new OcrImageInput("noisy-scan.pdf"); // Apply denoise filter with default 2x2 morphology imageInput.DeNoise(); // Apply stronger denoising with 3x3 morphology imageInput.DeNoise(true); // Combine with other filters for severely degraded images imageInput.DeNoise() .Sharpen() .EnhanceResolution(300); // Process with OCR var ocr = new IronTesseract(); var result = ocr.Read(imageInput); // Check confidence levels foreach (var page in result.Pages) { Console.WriteLine($"Page confidence: {page.Confidence}%"); } ``` 我如何知道我的影像是否需要去噪化? 尋找這些噪音指標: - 背景上有隨機的斑點或小點 - 因掃描不良而產生的鹽粒雜訊 - 高 ISO 攝影所產生的紋理 - 背景紋理來自回收紙 如需自動偵測雜訊,請探索我們的 [Filter Wizard](https://ironsoftware.com/csharp/ocr/examples/filter-wizard/)。 前 後 如何使用 Dilate 過濾器? 縮放可擴大影像中的明亮區域。 它可以加厚文字,使其更加突出,並讓 OCR 軟體更容易詮釋。 何時應該對文字進行縮放? 縮放對於在下列情況中發現的細小或斷裂的文字字元效果最佳: - 墨水不一致的舊打字機文件 - 褪色的收據和熱感紙列印輸出 - 使用髮線字型的文件 - 影像格式的過度壓縮文字 縮放可填補字元間的小空隙,並強化薄弱的筆劃連接。 這可防止 OCR 引擎將斷字誤解為多個符號。 若要套用膨脹濾波器,請使用`Dilate`方法。 預設語態為 2x2; 為 3x3 傳 'true': ```csharp using IronOcr; // Create OCR engine var ocrTesseract = new IronTesseract(); // Apply dilate filter var imageInput = new OcrImageInput("thin-text.jpg"); imageInput.Dilate(); // For more aggressive dilation imageInput.Dilate(true); // Practical example for faded receipt processing var receiptInput = new OcrImageInput("faded-receipt.jpg"); receiptInput.Dilate() .DeNoise() .EnhanceResolution(300); // Configure for better receipt reading ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock; ocrTesseract.Configuration.ReadBarCodes = true; // Perform OCR var result = ocrTesseract.Read(receiptInput); ``` 過度擴張的常見問題有哪些? 過度擴張可能會導致: - 相鄰字母合併時的字符出血 - 內部細節的遺失('e"或"8'的孔洞) - 降低粗體文字的精確度 監控結果並作相應調整。 對於混合文字重量的文件,請選擇性使用我們的影像品質修正篩選器。 前 後 如何套用 Erode 過濾器? 侵蝕可以縮小圖像中明亮區域的大小,精細粗大或扭曲的字元並改善字元分離。 為什麼侵蝕有助於處理厚文本? 侵蝕會使文字筆劃變細,並分開觸碰的字元。 此過濾器的優點在於 - 過墨印刷文件 - 字體出血的影印本 - 出現合併的粗體文字 - 低品質傳真傳輸 仔細的侵蝕可恢復字元間的分隔,並提高個別字母的辨識度,避免整個字詞被誤讀。 使用 `Erode` 方法套用此過濾器。 預設語態為 2x2; 為 3x3 傳 'true': ```csharp using IronOcr; // Create OCR instance var ocrTesseract = new IronTesseract(); // Load image with thick text var imageInput = new OcrImageInput("thick-text.jpg"); // Apply erode filter imageInput.Erode(); // Stronger erosion for heavily bleeding text imageInput.Erode(true); // Example: Processing a poor-quality photocopy var photocopyInput = new OcrImageInput("thick-text-photocopy.pdf"); // Apply erosion followed by sharpening for best results photocopyInput.Erode() .Sharpen() .EnhanceResolution(300); // Configure OCR for better accuracy ocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\\:\";<>?,./"; ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "; var ocrResult = ocrTesseract.Read(photocopyInput); // Extract with confidence check var highConfidenceText = ocrResult.Blocks .Where(b => b.Confidence > 90) .Select(b => b.Text); ``` 如何平衡侵蝕與文字可讀性? 找到正確的侵蝕程度需要仔細的測試: - 從預設的 2x2 形態開始 - 在代表性的文件樣本上進行測試 - 檢查標點符號是否可見 - 確保細字型不會破損 對於混合文字重量的文件,請參閱我們的 [進階組態選項](https://ironsoftware.com/csharp/ocr/examples/csharp-configure-setup-tesseract/)。 前 後 如何將篩選的影像儲存為可搜尋的 PDF? IronOCR 可讓您儲存已套用過濾器修改過的 PDF 檔案或其原始狀態。 `SaveAsSearchablePdf` 方法的第二個參數會決定是否以過濾器儲存。 保留篩選器變更有什麼好處? 保留過濾器變更提供了幾個優點: - 建立更簡潔、更易閱讀的文件 - 保持不同文件批次的一致性 - 提供文字品質改善的視覺確認 - 可進行品質控制比較 建立可搜尋的 PDF,嵌入 OCR 文字層,同時保持視覺外觀。 請參閱我們的 [ 建立可搜尋的 PDF](https://ironsoftware.com/csharp/ocr/how-to/searchable-pdf/) 指南,瞭解更多資訊。 ```csharp using IronOcr; var ocr = new IronTesseract(); var ocrInput = new OcrInput(); // Load a PDF file ocrInput.LoadPdf("invoice.pdf"); // Apply multiple filters for comprehensive improvement ocrInput.ToGrayScale() .DeNoise() .Sharpen() .EnhanceResolution(300); // Perform OCR OcrResult result = ocr.Read(ocrInput); // Save the result as a searchable PDF with filters applied result.SaveAsSearchablePdf("outputFiltered.pdf", true); // Or save without filters to preserve original appearance result.SaveAsSearchablePdf("outputOriginal.pdf", false); // Export to other formats result.SaveAsTextFile("extracted-text.txt"); result.SaveAsHocrFile("output.html"); ``` 如何在篩選過的 PDF 和原始 PDF 之間進行選擇? **當:**使用篩選條件儲存 (true) 時 - 原始文件品質不佳 - 各文件的外觀必須一致 - 篩選版本大幅提升可讀性 - 長期儲存的文件歸檔 **不使用篩選條件儲存 (false) 時:** - 法律上要求保持原貌 - 顏色資訊很重要 - 必須保持文件的真實性 - 僅需使用篩選器來達到 OCR 精確度 如需進階的 PDF 處理選項,請參閱我們的 [ PDF OCR 文字擷取指南](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/)。 有關最佳篩選器組合,請參閱 [ 篩選器精靈教學](https://ironsoftware.com/csharp/ocr/how-to/filter-wizard/)。 常見問題解答 哪些影像濾鏡可以提高 C# 的 OCR 準確度? IronOCR 提供五種基本的影像修正濾鏡:銳化、增強解析度、去噪、擴展和侵蝕。這些濾鏡可在文字擷取之前,先預先處理影像,藉由增強文字清晰度和降低雜訊,大幅提升 OCR 準確度。 如何銳化模糊的影像以獲得更好的文字辨識度? 您可以使用 IronOCR 的 OcrImageInput 銳化模糊的影像,只需一行程式碼:new IronOcr.OcrImageInput("sample.png").Sharpen()。此濾鏡可增加影像邊緣的對比度,建立更明確的文字邊界,以改善字元辨識。 為什麼銳化可以提高 OCR 準確度? IronOCR 中的銳化篩選器透過增強邊緣對比度來強調文字與背景之間的邊界。這一點非常重要,因為字元識別演算法需要清晰、鮮明的字母形狀才能正常運作。邊緣柔和的模糊文字會導致 OCR 引擎錯誤辨識文字邊界。 何時應該使用 OCR 的銳化篩選器? 使用 IronOCR 的銳化濾鏡來處理稍微失焦的影像、文字邊緣較軟的掃描文件,或在光線較差的情況下拍攝的照片。避免過度銳化清晰的文字,因為這樣會產生假象並降低精確度。 為了達到最佳的 OCR 效能,我應該以什麼 DPI 為目標? IronOCR 對於 300 DPI(每英吋點數)的影像表現最佳。較低的解析度會導致字元識別錯誤,而較高的解析度則會減慢處理速度,卻不會提高精確度。使用增強解析度篩選器可增加低解析度影像的像素密度。 套用修正後,我可以匯出篩選過的影像嗎? 是的,IronOCR 允許您使用 SaveAsImages 方法匯出篩選過的影像。這可讓您在執行 OCR 之前,檢視影像修正的前後比較,並驗證改善的效果。 應用影像濾鏡的最基本工作流程是什麼? IronOCR 的最小工作流程包括 5 個步驟:下載程式庫、匯入您的 PDF 或影像、套用所需的濾鏡(銳化、提升解析度、去噪、擴展、侵蝕)、匯出修正後的影像以供檢視,並使用讀取方法進行 OCR 處理。 柯蒂斯·週 現在就和工程團隊聊天吧 技術撰稿人 Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。 準備好開始了嗎? Nuget 下載 5,299,091 | 版本: 2025.12 剛剛發布 免費下載 NuGet 總下載量: 5,299,091 查看許可證