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 通用的文字识别,如果是其他的含生僻字/含位置信息的版本,请参考官方的文档,只 ...
随机推荐
- 微信小程序(二)
创建项目: hello.wxml hello world 每个学习的开始 <view>hello world!</view> hello.js 像 app.js 一样 Page ...
- Python 字符串索引、切片、修改
字符串索引.切片.修改1.字符串操作(切片.修改)应用场景 a.爬虫截取网址数据 b.数据分析,语言处理(分词) c.电信号码升级 0452 8869504 ...
- [bzoj1189]紧急疏散
二分答案+判定,对于一个答案,源点向每一个点连一条流量为1的边,每一扇门向汇点连一条流量为时间的边,每一个人向每一个在答案时间内能走到的门连一条流量为1的边,跑最大流并判断流量是否等于人数. 然而自从 ...
- UNCTF2020 web writeup
1.Easy_ssrf 给了file_get_contents,直接读取flag即可 2.Easyunserialize 利用点在 构造uname反序列化逃逸即可 3.Babyeval 两个过滤,绕过 ...
- redis可以设置过期key回调实现延时队列
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- 洛谷 P5897 - [IOI2013]wombats(决策单调性优化 dp+线段树分块)
题面传送门 首先注意到这次行数与列数不同阶,列数只有 \(200\),而行数高达 \(5000\),因此可以考虑以行为下标建线段树,线段树上每个区间 \([l,r]\) 开一个 \(200\times ...
- printf 的 转义词 -转
\n 换行 \r 回车键 \b 退后一格 \f 换页 \t 水平制表符 \v 垂直制表符 \a 发出鸣响 \? 插入问号 \" 插入双引号 \' ...
- Docker Swarm的命令
初始化swarm manager并制定网卡地址docker swarm init --advertise-addr 192.168.10.117 强制删除集群docker swarm leave -- ...
- 大型前端项目 DevOps 沉思录 —— CI 篇
摘要 DevOps 一词源于 Development 和 Operations 的组合,即将软件交付过程中开发与测试运维的环节通过工具链打通,并通过自动化的测试与监控,减少团队的时间损耗,更加高效稳定 ...
- 巩固javaweb的第二十二天
巩固内容: 使用表单数据 : 要对用户输入的信息进行验证,需要先获取输入信息.每个表单元素都属于一个 form 表单,要获取信息,需要先获取 form,然后访问表单元素的值. 有两种方式可以获取 fo ...