您的位置:

C#OCR全方位解析

一、cba赛程

C#OCR是一个开源的光学字符识别引擎,可以识别各种文字,数字以及符号等。它的功能十分强大,可以应用在各个领域,比如在赛程安排上。

下面是一个使用C#OCR识别cba赛程并将识别文本输出的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"cba.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"cba_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    Console.WriteLine(page.GetText());
                }
            }
        }
    }
}

二、clash

C#OCR不仅可以识别文字,也可以识别图像,音频等。比如在玩Clash of Clans这个游戏时,可以使用C#OCR识别屏幕上的资源数,可以使得玩家更加方便地了解当前自己资源的状态。

下面是一个使用C#OCR识别Clash of Clans中的资源数并将其输出的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"coc.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"coc_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    var text = page.GetText();
                    var regex = new Regex(@"(\d+)\s*/\s*(\d+)");
                    var match = regex.Match(text);
                    var gold = int.Parse(match.Groups[1].Value);
                    var elixir = int.Parse(match.Groups[2].Value);
                    Console.WriteLine($"Gold: {gold}");
                    Console.WriteLine($"Elixir: {elixir}");
                }
            }
        }
    }
}

三、cctv5节目表

C#OCR可以帮助我们识别电视节目单,可以避免手动查找/录入节目单的麻烦。

下面是一个使用C#OCR识别CCTV5节目表并将识别文本输出的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"cctv5.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"cctv5_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "chi_sim", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    Console.WriteLine(page.GetText());
                }
            }
        }
    }
}

四、chat GPT人工智能

C#OCR可以应用于聊天机器人中,比如chat GPT人工智能。它可以使用C#OCR来识别用户输入的文本。

下面是一个使用C#OCR识别chat GPT人工智能中用户输入的文本并将其输出的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"chat.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"chat_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "chi_sim", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    Console.WriteLine($"User Input: {page.GetText()}");
                }
            }
        }
    }
}

五、cctv5在线直播

C#OCR可以在直播中识别弹幕,可以帮助我们轻松抓住直播中的重要信息。

下面是一个使用C#OCR识别CCTV5在线直播弹幕并将其输出的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"danmu.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"danmu_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "chi_sim", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    Console.WriteLine(page.GetText());
                }
            }
        }
    }
}

六、c1驾照能开什么车

C#OCR可以应用在驾照查看上。比如,我们可以使用它来识别驾照上的信息,以确定它能够开什么车。

下面是一个使用C#OCR识别驾照信息并将识别文本输出的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"driverslicense.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"driverslicense_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "chi_sim", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    var text = page.GetText();
                    var regex = new Regex(@"(?<=准驾车型:).+");
                    var match = regex.Match(text);
                    Console.WriteLine($"Driving License Type: {match.Value}");
                }
            }
        }
    }
}

七、c反应蛋白高说明什么

C#OCR可以应用在医学检查上。比如,在一些非痛苦的检查中,我们可以使用它来读取测试结果并进行自我分析。

下面是一个使用C#OCR读取c反应蛋白测试结果并分析的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"crp.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"crp_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    var text = page.GetText();
                    var regex = new Regex(@"\d+\.\d+");
                    var match = regex.Match(text);
                    var crp = double.Parse(match.Value);
                    Console.WriteLine($"C-Reactive Protein Level: {crp}");
                    if (crp < 10)
                    {
                        Console.WriteLine("Your CRP level is low. It's a good sign!");
                    }
                    else if (crp < 50)
                    {
                        Console.WriteLine("Your CRP level is slightly elevated. You may want to watch it.");
                    }
                    else
                    {
                        Console.WriteLine("Your CRP level indicates a significant level of inflammation. You should consult a doctor.");
                    }
                }
            }
        }
    }
}

八、c开头的火车是什么车

C#OCR可以应用在图片识别上。例如,我们可以使用它来识别车站的标记,以了解所在位置的火车种类。

下面是一个使用C#OCR识别车站标记并确定车型的示例代码:

using AForge.Imaging.Filters;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Tesseract;
 
namespace CSharpOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            var image = new Bitmap(@"train.jpg");
            var binarized = Grayscale.CommonAlgorithms.BT709.Apply(image);
            binarized = new Threshold(127).Apply(binarized);
            binarized.Save(@"train_binarized.jpg", ImageFormat.Jpeg);
            using (var engine = new TesseractEngine(@"./tessdata", "chi_sim", EngineMode.Default))
            {
                using (var page = engine.Process(binarized, PageSegMode.AutoDetect))
                {
                    var text = page.GetText();
                    if (text.Contains("CRH")) Console.WriteLine("This is a high-speed train.");
                    else if (text.Contains("EMU")) Console.WriteLine("This is an electric multiple unit train.");
                    else if (text.Contains("T")) Console.WriteLine("This is a special express train.");
                    else Console.WriteLine("Unknown train type.");
                }
            }
        }
    }
}