热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C# .NET实现扫描识别图片中的文字

C# .NET实现扫描识别图片中的文字-目录环境配置操作步骤调用API接口扫描并读取图片中的文字C#VB.NET注意事项环境配置本文以C#及VB.NET代码为例,介绍如何扫描并读取

环境配置

本文以C#及VB.NET代码为例,介绍如何扫描并读取图片中的文字。

本次程序环境如下:

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

下面是具体步骤及操作方法。

操作步骤

步骤1. 在 Visual Studio 中创建一个 .NET Framework 控制台应用程序。

步骤2. 鼠标右键点击程序项目属性,将目标平台设置为 x64。

由于 Spire.OCR for .NET 仅支持 64 位操作系统系统,所以必须执行此步骤。

步骤3. 在VS程序中安装Spire.OCR for .NET。(★ 推荐通过Nuget安装)

在【解决方案资源管理器】中,鼠标右键点击【引用】,选择【管理NuGet程序包】

在打开的界面中,点击 【浏览】选项卡,在搜索框中输入【Spire.OCR】。点击【安装】

步骤4. 安装完成后,找到安装路径下,默认生成的packages文件夹,复制该文件夹路径下的 6 个dll文件:

F:\VS2017Project\ScanImageAndReadCharacter_OCR\packages\Spire.OCR.1.8.0\runtimes\win-x64\native

拷贝到VS程序项目运行路径下:

F:\VS2017Project\ScanImageAndReadCharacter_OCR\ScanImageAndReadCharacter_OCR\bin\Debug

调用API接口扫描并读取图片中的文字

完成以上步骤后,执行如下程序代码来读取图片上的文字:

C#

using Spire.OCR;
using System.IO;

namespace ScanImageAndReadCharacter_OCR
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个OcrScanner类的实例
            OcrScanner scanner = new OcrScanner();

            //调用OcrScanner.Scan(string fileName)方法扫描图片上的文字
            scanner.Scan("image.png");
            string text = scanner.Text.ToString();

            //保存扫描获取的文字为.txt文档
            File.WriteAllText("output.txt", text);
            System.Diagnostics.Process.Start("output.txt");
        }
    }
}

VB.NET

Imports Spire.OCR
Imports System.IO

Namespace ScanImageAndReadCharacter_OCR
    Class Program
        Private Shared Sub Main(args As String())
            '创建一个OcrScanner类的实例
            Dim scanner As New OcrScanner()

            '调用OcrScanner.Scan(string fileName)方法扫描图片上的文字
            scanner.Scan("image.png")
            Dim text As String = scanner.Text.ToString()

            '保存扫描获取的文字为.txt文档
            File.WriteAllText("output.txt", text)
            System.Diagnostics.Process.Start("output.txt")
        End Sub
    End Class
End Namespace

图片扫描读取结果:

注意事项

1.仅支持64位平台及系统

2.仅1.8.0及以后版本支持.NET Framework 


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • VB.net 进程通信中FindWindow、FindWindowEX、SendMessage函数的理解
    目录一、代码背景二、主要工具三、函数解析1、FindWindow:2、FindWindowEx:3、SendMessage: ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文深入探讨了WinRing0及其源代码实现,详细解析了如何通过获取Ring0权限在应用程序中直接执行需要Ring0权限的CPU指令。此外,文章还提供了实例截图和核心代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 如何在C#中配置组合框的背景颜色? ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • Unity与MySQL连接过程中出现的新挑战及解决方案探析 ... [详细]
author-avatar
宠医_臻爱一生_156
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有