IronOCR 操作指南 圖像校正濾鏡 用於改進 OCR 讀取的 C# 影像校正濾鏡 Curtis Chau 更新:2026年1月11日 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR提供五個基本的影像校正濾鏡(銳利化、提高解析度、去雜訊、膨脹和腐蝕),這些濾鏡可對影像進行預處理,從而在提取文字之前透過增強文字清晰度和減少雜訊來顯著提高 OCR 的準確性。 快速入門:應用銳利化濾鏡以清晰文字 使用 IronOCR 的 OcrImageInput,只需一行程式碼即可銳化模糊影像。 此範例示範如何透過影像增強實現準確的OCR辨識。 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronOcr PM > Install-Package IronOcr 複製並運行這段程式碼。 new IronOcr.OcrImageInput("sample.png").Sharpen().SaveAsImages("output.png"); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronOCR Free 30 Day Trial 最簡工作流程(5個步驟) 下載一個用於使用濾波器進行影像校正的 C# 庫 導入PDF文件和圖像以供閱讀 應用所需的濾鏡,例如銳利化、提高解析度、降噪、膨脹和腐蝕。 匯出校正後的影像以供查看 使用`Read`方法進行 OCR 處理 如何應用銳利化濾鏡? 此濾鏡可增加影像邊緣的對比度,從而創造更清晰的文字邊界。 它提高了文字清晰度,使字元辨識更加準確。 為什麼銳化可以提高OCR辨識準確率? 銳利化濾鏡透過增強邊緣對比度來突出文字和背景之間的邊界。字元辨識演算法需要清晰、分明的字母形狀才能正常運作。 掃描文件或低品質照片中常見的模糊文字(邊緣柔和)會導致 OCR 引擎錯誤識別字元邊界。 要了解有關 OCR 最佳影像處理的更多信息,請查看我們關於OCR 影像優化濾鏡的綜合指南。 若要套用銳利化濾鏡,請呼叫 Sharpen 物件的 OcrImageInput 方法: :path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-sharpen-filter.cs using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.jpg"); // Apply sharpen filter imageInput.Sharpen(); // Export filtered image imageInput.SaveAsImages("sharpen.jpg"); $vbLabelText $csharpLabel 何時該使用銳利化濾鏡? 對於輕微失焦的影像、文字邊緣模糊的掃描文件或在光線不足的情況下拍攝的照片,可以使用銳利化功能。 避免過度銳化清晰的文本,因為這會引入偽影並降低準確性。 對於極度模糊的掃描件,可將銳利化與其他濾鏡結合使用,或參閱我們的《修復低品質掃描件和影像》指南。 使用 SaveAsImages 方法匯出過濾後的影像。 以下是前後對比圖。 前 後 如何提高解析度以獲得更好的OCR辨識效果? 此濾鏡可提高像素密度,從而提高清晰度和銳利度。 它可以幫助 OCR 引擎更準確地讀取低解析度影像中的文字。 OCR 的目標 DPI 應該是多少? OCR引擎在300 DPI(每英吋點數)下性能最佳。 解析度過低會導致字元辨識錯誤; 更高的解析度會降低處理速度,但不會提高精度。 IronOCR 的增強濾鏡可智慧地將影像放大到最佳 DPI 等級。 有關詳細指導,請參閱我們的DPI 設定指南。 呼叫 EnhanceResolution 方法來套用此過濾器。 預設目標解析度為 225 DPI: 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}"); 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}"); $vbLabelText $csharpLabel 分辨率提昇在什麼情況下最為重要? 解析度提升對於以下方面至關重要: 螢幕截圖解析度為(72-96 DPI) 從網路下載的網頁圖片 低解析度掃描的歷史文獻 解析度固有的低解析度傳真傳輸 OCR Tesseract 影像 DPI 範例提供了有關 DPI 如何影響不同文件類型的準確性的見解。 前 後 如何去除影像中的雜訊? 去雜訊濾波器可以減少影像中不需要的偽影。 降噪功能可將文字與背景幹擾隔離,產生更清晰、更準確的 OCR 結果。 2x2 和 3x3 形態學有什麼不同? 形態大小決定去噪強度。 2x2 形態學採用溫和的降噪技術,在保留精細文本的同時,最大限度地減少偽影。 3x3 形態學能夠有效去除嚴重損壞文件中的噪聲,但可能會影響非常小的文本。 若要套用去噪濾波器,請使用 DeNoise 方法。 預設形態為 2x2。傳遞"true"參數可啟用 3x3 形態: 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}%"); } 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}%"); } $vbLabelText $csharpLabel 如何判斷我的圖片是否需要降噪? 注意以下噪音指標: 背景上有隨機的斑點或小點 掃描不良導致的椒鹽噪音 高ISO感光度攝影造成的雜訊 背景紋理來自再生紙 如需自動噪音偵測,請探索我們的濾波器精靈。 前 後 如何使用擴張濾網? 影像膨脹會使影像中的明亮區域擴大。 它可以加粗文字,使其更加醒目,也更容易被 OCR 軟體辨識。 何時應該對文字套用縮放? 膨脹效果最適用於以下類型的細小或斷斷續續的文字字元: 舊式打字機文檔,墨跡不均勻 褪色的收據和熱敏列印件 使用極細字體的文檔 圖像格式中的過度壓縮文字 字形擴張可以填補字元中的小空隙,並加強較弱的筆畫連接。 這樣可以防止 OCR 引擎將損壞的字元誤判為多個符號。 若要套用膨脹濾波器,請使用 Dilate 方法。 預設形態為 2x2; 為 3x3 傳遞 'true': 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); 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); $vbLabelText $csharpLabel 過度擴張常見的問題有哪些? 過度擴張可能導致: 相鄰字母融合處的字元滲漏 內部細節缺失(例如字母"e"或"8"出現孔洞) 粗體文字的準確率降低 監測結果並據此進行調整。 對於文字粗細混合的文檔,請選擇性地使用我們的影像品質校正濾鏡。 前 後 如何應用侵蝕濾鏡? 腐蝕可以減少圖像中明亮區域的大小,從而改善粗體或扭曲的字符,並提高字符分離度。 為什麼腐蝕對處理粗體字有幫助? 腐蝕會使文字筆畫變細,並使相鄰的字元分離。 此篩選器在以下方面表現出色: 列印文檔墨跡過多 影印件出現字跡模糊的狀況 粗體文字顯示為合併狀態 低品質傳真傳輸 精細的腐蝕可以恢復字元分離,提高單個字母的辨識率,防止整個單字被誤讀。 使用 Erode 方法套用此過濾器。 預設形態為 2x2; 為 3x3 傳遞 'true': 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); 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); $vbLabelText $csharpLabel 如何平衡文本的可讀性和防侵蝕性? 確定合適的侵蝕程度需要仔細測試: 從預設的 2x2 形態開始 對代表性文件樣本進行測試 檢查標點符號是否仍可見 確保細字體不會出現斷字現象。 對於混合文字粗細的文檔,請參閱我們的進階設定選項。 前 後 如何將篩選後的影像儲存為可搜尋的PDF? IronOCR可讓您儲存套用了濾鏡的修改後的 PDF 文件,或儲存其原始狀態的 PDF 檔案。 SaveAsSearchablePdf 方法的第二個參數決定是否使用過濾器保存。 保留更換濾芯的習慣有什麼好處? 保留濾芯更換功能有幾個優點: 建立更清晰、更易讀的文檔 保持各批文件的一致性 提供文字品質改進的視覺確認 可進行品質控制對比 建立可搜尋的 PDF 檔案時,會在其中嵌入 OCR 文字圖層,同時保持視覺外觀。 了解更多信息,請參閱我們的創建可搜尋PDF指南。 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"); 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"); $vbLabelText $csharpLabel 如何選擇過濾後的PDF文件還是原始PDF文件? 儲存時啟用篩選條件: 原始文件品質差 文件外觀需保持一致 過濾後的版本顯著提高了可讀性 文件歸檔以進行長期存儲 儲存時不使用篩選條件(false): 法律規定必須保持原貌。 顏色資訊很重要 必須保證文件的真實性。 僅當 OCR 準確率較高時才需要使用過濾器 如需了解更進階的 PDF 處理選項,請參閱我們的PDF OCR 文字擷取指南。 如需了解最佳過濾器組合,請參閱過濾器精靈教學。 常見問題解答 哪些影像濾鏡可以提高 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 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 5,525,971 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:5,525,971 查看許可證 還在捲動嗎? 想要快速證明? PM > Install-Package IronOcr 執行範例 觀看您的圖片變成可搜尋的文字。 免費 NuGet 下載 總下載量:5,525,971 查看許可證