.NET Core扫描并读取图片中的文字

原文:https://www.jb51.net/article/232893.htm

 

  • Visual Studio版本要求不低于2017
  • 图片扫描工具:Spire.OCR for .NET
  • 图片格式:png(这里的图片格式支持JPG、PNG、GIF、BMP、TIFF等格式)
  • 扫描的图片文字:中文(另可支持中文、英语、日语、韩语、德语、法语等)
  • .Net Core 3.1

 

1. 创建一个.Net Core控制台应用程序

  

2. 通过NuGet添加依赖 Spire.OCR

 

 

 3. 复制dll

情况1:如果为.net core 3.0及以上版本,则从bin\Debug\netcoreapp3.1\runtimes\win-x64\native文件夹中复制如图中的6个dll文件到程序运行路径bin\Debug\netcoreapp3.1;

 

 复制到:

  

 情况2:如果是.net core 3.0以下版本,则需要下载Spire.OCR包,并解压,将该文件路径Spire.OCR\Spire.OCR_Dependency\x64中的6个dll复制到程序运行路径bin\Debug\netcoreapp2.1

 

 复制到: 

 

 4.完成以上操作后,可参考如下代码内容,读取图片上的文本内容

读取http路径图片:

using Spire.OCR;
using System;
using System.Net;

namespace MyTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var test = GetWord("https://xxxxxx/test.jpg");  //改成你的图片的http路径
        }

        private static string GetWord(string url)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "GET";
                using (WebResponse response = request.GetResponse())
                {
                    using (var stream = response.GetResponseStream())
                    {
                        using (OcrScanner scanner = new OcrScanner())
                        {
                            scanner.Scan(stream, OCRImageFormat.Png);
                            var words = scanner.Text.ToString();
                            words = words.Replace("Evaluation Warning : The version can be used only for evaluation purpose...", ""); 
return words; } } } } catch (Exception ex) {
return $"异常:{ex.Message}"; } } } }

读取物理路径图片:

using Spire.OCR;
using System;
using System.Net;

namespace MyTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var test = GetWord(@"E:\xxx\xxxx\test.jpg"); //改成你的图片的物理地址
        }

        private static string GetWord(string fileName)
        {
            try
            {
                OcrScanner scanner = new OcrScanner();
                scanner.Scan(fileName);
                var words = scanner.Text.ToString().Replace("Evaluation Warning : The version can be used only for evaluation purpose...", "");
return words; } catch (Exception ex) {
return $"异常:{ex.Message}"; } } } }

 

posted @ 2022-07-22 17:34  hellocjr  阅读(919)  评论(0编辑  收藏  举报