环境配置

本文以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

※ 相关文章阅读推荐:C# 扫描并读取图片中的文字(.NET Core)

原创内容,转载务必注明出处!!!!!!!!!!!!!!!!!!!

C# 扫描识别图片中的文字(.NET Framework)的更多相关文章

  1. 使用Python进行OCR -- 识别图片中的文字

    工具 Tesseract pytesseract tesserocr 朋友需要一个工具,将图片中的文字提取出来.我帮他在网上找了一些OCR的应用,都不好用.所以准备自己研究,写一个Web APP供他使 ...

  2. Python通过百度Ai识别图片中的文字

    版本:python3.7 工作中有需要识别图片中的汗字,查看了半天大神们的博客,但没找到完全可以用的源码,经过自己的实践,以下源码可以实现: 创建应用 首先你需要登录百度AI,选择文字识别,创建一个应 ...

  3. python tesseract 识别图片中的文字的乱码问题(ubuntu系统下)

    OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程. 首先,需要安装 tesseract-ocr(tesseract O ...

  4. 在Mac上 python中使用tesseract OCR (Pytesser) 识别图片中的文字

    仓库地址:https://github.com/RobinDavid/Pytesser brew install tesseract sudo pip install opencv-python 安装 ...

  5. Windows下 训练Tesseract实现识别图片中的文字

    介绍 Tesseract是一个基于Apache2.0协议开源的跨平台ocr引擎,支持多种语言的识别,在Windows和Linux上都有良好的支持. 源代码在这: 源码地址 有一个编译打包好的Windo ...

  6. Python识别图片中的文字

    1 import os,glob 2 def photo_compression(original_imgage,tmp_image_path): 3 '''图片备份.压缩:param origina ...

  7. 电脑端的全能扫描王:图片转文字识别、识别pdf、图片中的文字,图片提取txt

    手机中有全能扫描王,但PC端没有.所以需要另外找. 发现微软的oneNode有提供类似的功能. 第一步.下载Microsoft OneNode http://www.onenote.com/downl ...

  8. 深入学习使用ocr算法识别图片中文字的方法

    公司有个需求,简单点说需要从一张图片中识别出中文,通过python来实现,当然其他程序也行,只要能实现,而小编主要学习python,所以就提了python.一个小白在网上遨游了一天,终于找到一丝丝思绪 ...

  9. 识别图片中文字(百度AI)

     这个是百度官方的文档         https://ai.baidu.com/docs#/OCR-API/top    通用的文字识别,如果是其他的含生僻字/含位置信息的版本,请参考官方的文档,只 ...

随机推荐

  1. 微信小程序(二)

    创建项目: hello.wxml hello world 每个学习的开始 <view>hello world!</view> hello.js 像 app.js 一样 Page ...

  2. Python 字符串索引、切片、修改

    字符串索引.切片.修改1.字符串操作(切片.修改)应用场景    a.爬虫截取网址数据    b.数据分析,语言处理(分词)    c.电信号码升级           0452 8869504   ...

  3. [bzoj1189]紧急疏散

    二分答案+判定,对于一个答案,源点向每一个点连一条流量为1的边,每一扇门向汇点连一条流量为时间的边,每一个人向每一个在答案时间内能走到的门连一条流量为1的边,跑最大流并判断流量是否等于人数. 然而自从 ...

  4. UNCTF2020 web writeup

    1.Easy_ssrf 给了file_get_contents,直接读取flag即可 2.Easyunserialize 利用点在 构造uname反序列化逃逸即可 3.Babyeval 两个过滤,绕过 ...

  5. redis可以设置过期key回调实现延时队列

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  6. 洛谷 P5897 - [IOI2013]wombats(决策单调性优化 dp+线段树分块)

    题面传送门 首先注意到这次行数与列数不同阶,列数只有 \(200\),而行数高达 \(5000\),因此可以考虑以行为下标建线段树,线段树上每个区间 \([l,r]\) 开一个 \(200\times ...

  7. printf 的 转义词 -转

    \n    换行 \r    回车键 \b   退后一格 \f    换页 \t    水平制表符 \v   垂直制表符 \a   发出鸣响 \? 插入问号 \"    插入双引号 \'   ...

  8. Docker Swarm的命令

    初始化swarm manager并制定网卡地址docker swarm init --advertise-addr 192.168.10.117 强制删除集群docker swarm leave -- ...

  9. 大型前端项目 DevOps 沉思录 —— CI 篇

    摘要 DevOps 一词源于 Development 和 Operations 的组合,即将软件交付过程中开发与测试运维的环节通过工具链打通,并通过自动化的测试与监控,减少团队的时间损耗,更加高效稳定 ...

  10. 巩固javaweb的第二十二天

    巩固内容: 使用表单数据 : 要对用户输入的信息进行验证,需要先获取输入信息.每个表单元素都属于一个 form 表单,要获取信息,需要先获取 form,然后访问表单元素的值. 有两种方式可以获取 fo ...