C# 扫描识别图片中的文字(.NET Framework)
环境配置
本文以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)的更多相关文章
- 使用Python进行OCR -- 识别图片中的文字
工具 Tesseract pytesseract tesserocr 朋友需要一个工具,将图片中的文字提取出来.我帮他在网上找了一些OCR的应用,都不好用.所以准备自己研究,写一个Web APP供他使 ...
- Python通过百度Ai识别图片中的文字
版本:python3.7 工作中有需要识别图片中的汗字,查看了半天大神们的博客,但没找到完全可以用的源码,经过自己的实践,以下源码可以实现: 创建应用 首先你需要登录百度AI,选择文字识别,创建一个应 ...
- python tesseract 识别图片中的文字的乱码问题(ubuntu系统下)
OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程. 首先,需要安装 tesseract-ocr(tesseract O ...
- 在Mac上 python中使用tesseract OCR (Pytesser) 识别图片中的文字
仓库地址:https://github.com/RobinDavid/Pytesser brew install tesseract sudo pip install opencv-python 安装 ...
- Windows下 训练Tesseract实现识别图片中的文字
介绍 Tesseract是一个基于Apache2.0协议开源的跨平台ocr引擎,支持多种语言的识别,在Windows和Linux上都有良好的支持. 源代码在这: 源码地址 有一个编译打包好的Windo ...
- Python识别图片中的文字
1 import os,glob 2 def photo_compression(original_imgage,tmp_image_path): 3 '''图片备份.压缩:param origina ...
- 电脑端的全能扫描王:图片转文字识别、识别pdf、图片中的文字,图片提取txt
手机中有全能扫描王,但PC端没有.所以需要另外找. 发现微软的oneNode有提供类似的功能. 第一步.下载Microsoft OneNode http://www.onenote.com/downl ...
- 深入学习使用ocr算法识别图片中文字的方法
公司有个需求,简单点说需要从一张图片中识别出中文,通过python来实现,当然其他程序也行,只要能实现,而小编主要学习python,所以就提了python.一个小白在网上遨游了一天,终于找到一丝丝思绪 ...
- 识别图片中文字(百度AI)
这个是百度官方的文档 https://ai.baidu.com/docs#/OCR-API/top 通用的文字识别,如果是其他的含生僻字/含位置信息的版本,请参考官方的文档,只 ...
随机推荐
- 使用 docker + verdaccio 搭建npm私有仓库
本文介绍如何使用 verdaccio 搭建私有npm仓库,以及使用 docker 时如何映射到本地目录,方便简单对仓库进行各种操作.系统环境是 Linux. verdaccio verdaccio 是 ...
- pg_probackup
[1] https://postgrespro.com/docs/enterprise/13/app-pgprobackup PITR依赖continuous WAL archiving: Makin ...
- [bzoj1188]分裂游戏
容易发现所有豆子相互独立,只需要考虑每一个豆子的sg函数并异或起来即可,sg函数从后往前暴力即可 1 #include<bits/stdc++.h> 2 using namespace s ...
- [bzoj3171]循环格
如果把这个矩阵看成一张图,题目相当于要求每一个点的入度和出度都是1(也就是有很多环),否则指向环的点就无法走回自己了将所有点拆成两个,S向原来的点流(1,0)的边,拆出来的点向T连(1,0)的边,然后 ...
- Java设计模式之(九)——门面模式
1.什么是门面模式? Provide a unified interface to a set of interfaces in a subsystem.Facade defines a higher ...
- Roslyn+T4+EnvDTE项目完全自动化 (一)
前言 以前做一个金融软件项目,软件要英文.繁体版本,开始甲方弄了好几个月,手动一条一条替换,发现很容易出错,因为有金融专业术语,字符串在不同语义要特殊处理,第三方工具没法使用.最后我用Roslyn写了 ...
- 【CTSC1999】【带权并查集 】月亮之眼
Description 吉儿是一家古董店的老板娘,由于她经营有道,小店开得红红火火.昨天,吉儿无意之中得到了散落民间几百年的珍宝-月亮之眼.吉儿深知"月亮之眼"价值连城:它是由许多 ...
- BZOJ 3694&&DTOJ 1972: 最短路
题目描述 给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1.定义最短路树如下:从源点1经过边集T到任意一点i有且仅有一条路径,且这条路径是整个图1到i的最短路径,边集T构成最短路树. ...
- PHP 获取两个日期相差多少年,多少月,多少天,多少小时,并填充数组
PHP 获取两个日期相差多少年,多少月,多少天,多少小时,并填充数组 <?php /** * 获取两个日期相差多少年,多少月,多少天,多少小时,并填充数组 * @param [type] $st ...
- Swift-技巧(十一)重写运算符
摘要 基础数据的运算可以直接使用四则运算符.在 Swift 中也可以通过重写四则运算符的方式,让 struct 或者 class 创建的结构体或者对象也能像基础数据那样直接使用四则运算符. Swift ...