IronOCR 操作指南 修正圖片顏色 如何修正圖片顏色以利 C# 閱讀。 Curtis Chau 更新:2026年1月10日 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 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 在 C# 中使用 IronOCR 的二值化、灰階、反轉和色彩置換方法修復影像色彩,以改善文字的可讀性和 OCR 的準確度。 閱讀特定文字顏色,以進行目標擷取。 as-heading:2(快速入門:隔離特定文字顏色) 使用 IronOCR 的 SelectTextColor 方法將 OCR 集中在特定的文字顏色上 - 不需要複雜的影像處理。 載入影像、選擇文字顏色和公差,並僅抽取該文字以獲得精確的 OCR 結果。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronOCR PM > Install-Package IronOcr 複製並運行這段程式碼。 new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60)); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronOCR,免費試用! 免費試用30天 ## 如何在 C# 中修復圖片顏色以便閱讀 下載一個用於校正影像顏色的 C# 庫 導入 PDF 文檔和圖像以進行閱讀 套用色彩效果:二進位、灰階、反轉和色彩置換 導出校正後的影像以供查看 使用 SelectTextColor 讀取特定的文字顏色 如何將影像二值化以改善 OCR? 二值化可將影像轉換為雙色格式,通常是黑白兩色。這樣可將文字與背景分開,並減少雜訊,使文字更清晰易讀。 為什麼二進位可以提高 OCR 精確度? 使用 Binarize 方法套用二值化。 OCR 對白底黑字的高對比影像效果最佳。 此方法可清楚區分背景與人物。 二值化對於光線不均勻或有背景雜訊的掃描文件非常有效。該演算法會分析影像並決定最佳臨界值,以區分前景文字與背景。 如需進階的預處理技巧,請參閱 OCR 影像最佳化濾鏡指南。 什麼是二進位的程式碼實作? :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-binarize-image.cs using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.jpg"); // Apply binarize affect imageInput.Binarize(); // Export the modified image imageInput.SaveAsImages("binarize.jpg"); Imports IronOcr ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Add image Private imageInput = New OcrImageInput("sample.jpg") ' Apply binarize affect imageInput.Binarize() ' Export the modified image imageInput.SaveAsImages("binarize.jpg") $vbLabelText $csharpLabel 針對批次處理,將二值化與其他篩選器結合。 使用濾鏡精靈來決定最適合您影像的濾鏡組合。 如何匯出和比較結果? 使用 SaveAsImages 方法匯出修改過的影像。 比較以下二值化之前和之後的影像。 前 後 如何將圖片轉換為灰階以便更好地閱讀? 將圖像轉換為灰階,可減少視覺雜訊並提高可讀性。 當原來的顏色分散了對內容的注意力時,這將有所幫助。 何時應該使用灰階,而非其他方法? 使用 ToGrayScale 方法套用灰階。 過程中平均 R、G 和 B 值。 灰階能很好地處理會干擾文字辨識的彩色背景或水印。 與二值化不同,灰階能保留影像中細微變化的細節。 適用於內嵌文字或複雜佈局的照片。 有關低品質掃描,請參閱 修復低品質掃描及影像。 什麼是灰階轉換的簡單程式碼? :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-grayscale-image.cs // Apply grayscale affect imageInput.ToGrayScale(); ' Apply grayscale affect imageInput.ToGrayScale() $vbLabelText $csharpLabel 針對不同的影像品質,將灰階與其他預處理步驟結合。 OcrInput Class 文件解釋了多個篩選器的鏈結。 灰階與原版相比如何? 前 後 何時應該反轉圖片顏色? 反轉顏色可增強對比度。將黑色背景上的白色文字轉換為白色背景上的黑色文字可提高可讀性。 如何實作色彩反轉? 使用 Invert 方法反轉顏色。 傳入一個布林值以移除彩色通道並返回灰階。 顏色反轉處理負片圖像或深色主題的螢幕截圖。 現代應用程式使用黑暗模式介面,挑戰傳統的 OCR。 反轉這些圖片可確保最佳的辨識度。 有關各種影像類型,請參閱 Fast OCR Configuration 指南。 :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-invert-image.cs // Apply invert affect imageInput.Invert(); ' Apply invert affect imageInput.Invert() $vbLabelText $csharpLabel 針對混合文件類型的批次處理,實施自動深色背景偵測。 IronOCR中的電腦視覺功能可辨識何時需要反轉。 反轉選項之間有何差異? 比較 Invert 方法有灰階與無灰階: 倒 反轉和灰階化 如何取代圖片中的特定顏色? 替換特定顏色以突出或淡化元素。 利用這一點來改善文字的突出度或糾正有問題的對比。 為什麼公差在換色中很重要? ReplaceColor 方法需要當前顏色、新顏色和公差值。 較高的容忍度能更好地處理模糊的影像。 公差決定像素與目標顏色的吻合程度。 低值 (0-50) 適合統一顏色。 較高的值 (100-200) 可處理反鋸齒文字或壓縮假象。 這對於掃描文件有幫助,因為掃描文件中的墨水滲出或紙張紋理會造成變化。 如何實現顏色置換? :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-replace-color.cs using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.jpg"); IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C"); IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan; // Replace color imageInput.ReplaceColor(currentColor, newColor, 80); // Export the modified image imageInput.SaveAsImages("replaceColor"); Imports IronOcr ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Add image Private imageInput = New OcrImageInput("sample.jpg") Private currentColor As New IronSoftware.Drawing.Color("#DB645C") Private newColor As IronSoftware.Drawing.Color = IronSoftware.Drawing.Color.DarkCyan ' Replace color imageInput.ReplaceColor(currentColor, newColor, 80) ' Export the modified image imageInput.SaveAsImages("replaceColor") $vbLabelText $csharpLabel 我該如何處理進階換色情境? 針對複雜的情況,鎖定多個替代詞: /* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */ // Replace multiple colors in sequence using var imageInput = new OcrImageInput("multi-color-document.jpg"); // Replace red text with black imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70); // Replace blue headers with dark gray imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60); // Replace light yellow background with white imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40); // Perform OCR on the cleaned image var result = ocrTesseract.Read(imageInput); /* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */ // Replace multiple colors in sequence using var imageInput = new OcrImageInput("multi-color-document.jpg"); // Replace red text with black imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70); // Replace blue headers with dark gray imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60); // Replace light yellow background with white imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40); // Perform OCR on the cleaned image var result = ocrTesseract.Read(imageInput); Imports IronSoftware.Drawing ' Replace multiple colors in sequence Using imageInput As New OcrImageInput("multi-color-document.jpg") ' Replace red text with black imageInput.ReplaceColor(Color.Red, Color.Black, 70) ' Replace blue headers with dark gray imageInput.ReplaceColor(Color.Blue, Color.DarkGray, 60) ' Replace light yellow background with white imageInput.ReplaceColor(New Color("#FFFACD"), Color.White, 40) ' Perform OCR on the cleaned image Dim result = ocrTesseract.Read(imageInput) End Using $vbLabelText $csharpLabel 若要進行複雜的色彩替換,請參閱 影像校正濾鏡,以瞭解其他的預處理技巧。 顏色置換的視覺效果為何? 前 後 如何只閱讀特定文字顏色? 使用 SelectTextColor 方法讀取特定的文字顏色。 指定目標顏色和公差 (0-255)。 公差表示像素與選定顏色之間在 R、G 和 B 值上的允許差異。 顏色容忍度如何影響結果? :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-select-text-color.cs using IronOcr; using System; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.jpg"); // Text color to focus on IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C"); // Specify which text color to read imageInput.SelectTextColor(focusColor, 60); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); // Output result to console Console.WriteLine(ocrResult.Text); Imports IronOcr Imports System ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Add image Private imageInput = New OcrImageInput("sample.jpg") ' Text color to focus on Private focusColor As New IronSoftware.Drawing.Color("#DB645C") ' Specify which text color to read imageInput.SelectTextColor(focusColor, 60) ' Perform OCR Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput) ' Output result to console Console.WriteLine(ocrResult.Text) $vbLabelText $csharpLabel 對於有顏色區段的表單、擷取高亮文字或閱讀特定警告訊息,請使用選擇性顏色閱讀。 有關結構化資料擷取,請參閱 OcrResult Class 進階處理。 我可以從顏色選擇中期待哪些輸出? OCR 結果只能讀取橙色的文字: 如何儲存已套用篩選器的修改後 PDF? IronOCR 可儲存修改過的 PDF 檔案,無論是否有過濾器。 SaveAsSearchablePdf 方法的第二個參數指定是否要套用篩選器來儲存。 What is the Implementation for Searchable PDFs? :path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs using IronOcr; var ocr = new IronTesseract(); var ocrInput = new OcrInput(); // Load a PDF file ocrInput.LoadPdf("invoice.pdf"); // Apply gray scale filter ocrInput.ToGrayScale(); OcrResult result = ocr.Read(ocrInput); // Save the result as a searchable PDF with filters applied result.SaveAsSearchablePdf("outputGrayscale.pdf", true); Imports IronOcr Dim ocr As New IronTesseract() Dim ocrInput As New OcrInput() ' Load a PDF file ocrInput.LoadPdf("invoice.pdf") ' Apply gray scale filter ocrInput.ToGrayScale() Dim result As OcrResult = ocr.Read(ocrInput) ' Save the result as a searchable PDF with filters applied result.SaveAsSearchablePdf("outputGrayscale.pdf", True) $vbLabelText $csharpLabel 何時應該對儲存的 PDF 應用篩選器? 在建立更乾淨、可讀性更高的文件時應用篩選條件。 這有助於存檔目的或跨不同裝置分享文件。 請參閱 Create Searchable PDFs by OCR 以取得更多資訊。 對於包含表格的複雜文件,請探索 讀取文件中的表格 以進行專門的擷取。 如需大量處理,請參閱 Multithreaded Tesseract OCR 以優化篩選器在多個文件中的應用。 常見問題解答 如何修正影響 OCR 準確性的不良影像顏色? IronOCR 提供多種色彩校正方法,包括二值化、灰階轉換、反轉和色彩置換。這些濾鏡可增強文字與背景之間的對比,有助於提高文字的可讀性,讓 OCR 引擎更容易從色彩品質不佳的影像中準確提取文字。 什麼是二進位,什麼時候應該將其用於 OCR? Binarization 使用 IronOCR 的 Binarize 方法將影像轉換為雙色格式(通常是黑白)。它對於光線不均勻或背景雜訊的掃描文件特別有效,因為它能透過分析影像並決定最佳的分離臨界值,在文字和背景之間建立清晰的區別。 如何從影像中只擷取特定顏色的文字? IronOCR 的 SelectTextColor 方法可讓您集中對特定文字顏色進行 OCR,而無需複雜的影像處理。只需指定目標顏色和容差等級 - 例如,SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60) - 即可僅擷取該顏色範圍內的文字。 何時應該將圖像轉換為灰階,而不是使用二值化? 在處理會干擾文字辨識的彩色背景或水印時,請使用 IronOCR 的 ToGrayScale 方法。與二值化不同,灰階能夠保留影像中細微變化的細節,因此當您需要維持影像品質,同時減少視覺雜訊時,灰階是最理想的選擇。 我可以匯出修正後的影像來檢視色彩濾鏡的結果嗎? 是的,IronOCR 提供 SaveAsImages 方法,可在套用色彩修正後匯出修改後的影像。這可讓您比較之前和之後的結果,幫助您確定哪種色彩修正方法最適合您的特定影像。 如何為我的影像決定最佳的色彩校正濾鏡? IronOCR 包含濾鏡精靈工具,可協助您決定影像的最佳濾鏡組合。對於批次處理,您可以將二值化等多種篩選器與其他預處理技術結合,以達到適合您的文件類型的最佳 OCR 結果。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 審核人 Jeffrey T. Fritz 首席計畫經理 - .NET 社群團隊 Jeff 也是 .NET 和 Visual Studio 團隊的首席計畫經理。他是 .NET Conf 虛擬會議系列的執行製作人,並主持「Fritz and Friends」開發人直播串流,每週播出兩次,與觀眾一起討論技術和編寫程式碼。Jeff 為 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit 等大型 Microsoft 開發人員活動撰寫工作坊、簡報和規劃內容。 準備好開始了嗎? Nuget 下載 5,384,824 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:5,384,824 查看許可證