Handling CAPTCHAs with IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR 是否能讀取驗證碼? 這是可能的,但無法保證。 大多數的 CAPTCHA 產生器都是刻意設計來愚弄 OCR 軟體,有些甚至使用「未能被 OCR 軟體讀取」,例如 Tesseract 作為單元測試。 Captcha 驗證碼的定義是 OCR 引擎很難讀取。 解析度非常低,每個字元都經過特別組織,與其他字元有不同的角度和間隙,同時加入可變的背景雜訊。 去除背景雜訊的灰階影像比彩色影像更能成功翻譯,但仍是一項挑戰: - [OcrInput.DeNoise()](https://ironsoftware.com/csharp/ocr/object-reference/api/IronOcr.OcrInput.html#IronOcr_OcrInput_DeNoise) or [OcrInput.DeepCleanBackgroundNoise()](https://ironsoftware.com/csharp/ocr/object-reference/api/IronOcr.OcrInput.html#IronOcr_OcrInput_DeepCleanBackgroundNoise) Filter - [IronOcrInput.ToGrayScale()](https://ironsoftware.com/csharp/ocr/object-reference/api/IronOcr.OcrInput.html#IronOcr_OcrInput_ToGrayScale) 過濾器 以下是 C# 程式碼範例,試圖去除雜訊並轉換 CAPTCHA 影像為灰階,以改善 OCR 結果: ```csharp using IronOcr; class CaptchaReader { static void Main(string[] args) { // Initialize the IronOCR engine var Ocr = new IronTesseract(); // Create an OCR input object var Input = new OcrInput("captcha-image.jpg"); // Apply noise reduction to improve OCR accuracy // This removes background noise while preserving text Input.DeNoise(); // Optionally apply a deep clean for more aggressive noise removal Input.DeepCleanBackgroundNoise(); // Convert the image to grayscale // OCR works better on grayscale images compared to colored ones Input.ToGrayScale(); // Perform OCR to extract text from the image var Result = Ocr.Read(Input); // Output the recognized text to the console Console.WriteLine(Result.Text); } } ```

說明:

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 5,044,537 | 版本: 2025.11 剛剛發布