C# 扫描并读取图片中的文字(.NET Core)

本文介绍如何通过C# 程序来扫描并读取图片中的文字,这里以创建一个.Net Core程序为例。下面是具体步骤,供参考。

程序测试环境:

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

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

2. 通过NuGet添加依赖

(1)在【解决方案资源管理器】中,鼠标右键点击【依赖项】,选择【管理NuGet程序包】

(2)在弹出的界面中,选择【浏览】-在搜索框中输入Spire.OCR,点击“安装”

在依次弹出的2个窗口中选择“确定”和“我接受”

(3)完成后,可查看到已添加的依赖项

3.复制dll

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

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

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

using Spire.OCR;
using System.IO;namespace ReadTextFromImg_OCR
{class Program{static void Main(string[] args){OcrScanner scanner = new OcrScanner();scanner.Scan("image.png");File.WriteAllText("output.txt", scanner.Text.ToString());}}
}

测试图片:

测试结果

注意事项:目前,该OCR控件仅支持64位系统!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/80117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSP ssm 网上求职管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP ssm 网上求职管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

小程序的生命周期

小程序中,生命周期主要分成了三部分 应用的生命周期页面的生命周期组件的生命周期 应用的生命周期 小程序的生命周期函数是在app.js里面调用的,通过App(Object)函数用来注册一个小程序,指定其小程序的生命周期回调 页面的生命周期 页面生…

zookeeper最基础教程

文章目录 一、简介1、工作机制2、特点3、数据结构4、应用场景5、选举机制 二、软件安装1、单机版安装2、集群安装3、配置参数解读(zoo.cfg)4、ZK集群启动脚本 三、命令行操作1、语法2、使用3、节点相关4、监听器原理5、节点删除与查看 三、写数据流程 一、简介 1、工作机制 官…

SQL优化--排序优化(order by)

Using filesort : 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫 FileSort 排序。 Using index : 通过有序索引顺序扫描直接返回有序数据&#xff0c…

1031. 两个非重叠子数组的最大和

1031. 两个非重叠子数组的最大和 原题链接:完成情况:解题思路:参考代码: 原题链接: 1031. 两个非重叠子数组的最大和 https://leetcode.cn/problems/maximum-sum-of-two-non-overlapping-subarrays/description/ 完…

【C语言】指针的进阶(一)

目录 前言 1. 字符指针 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名VS数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 5. 函数指针 前言 指针在C语言中可谓是有着举足轻重的…

Arm发布 Neoverse V2 和 E2:下一代 Arm 服务器 CPU 内核

9月14日,Arm发布了新的处理器内核:V2和E2,在官网已经可以看到相关的TRM 手册了。。 四年前,Arm发布了Neoverse系列的CPU设计。Arm决定加大力度进军服务器和边缘计算市场,专门为这些市场设计Arm CPU内核,而…

CocosCreator3.8研究笔记(十八)CocosCreator UI组件(二)

前面的文章已经介绍了Canvas 组件、UITransform 组件、Widget 组件 。 想了解的朋友,请查看 CocosCreator3.8研究笔记(十七)CocosCreator UI组件(一)。 今天我们主要介绍CocosCreator 常用容器组件:Layout …

[npm]脚手架本地全局安装1

[npm]脚手架本地全局安装1 npm link 全局安装npm install 全局安装卸载全局安装的脚手架 该文章是你的脚手架已经开发完成的前提下,你想要本地全局安装该脚手架,便于本地使用脚手架的命令的情况 npm link 全局安装 如果本地开发的项目是个脚手架&#…

【C语言】进阶——指针

目录 ①(●◡●)前言 1.字符指针 ✌字符指针和数组笔试题 2.指针数组 和数组指针 👊指针数组 👊数组指针 👊&数组名和数组名 3.数组传参和指针传参 👊一维数组传参 👊二维数组传参 👊一级…

SpringBoot + Redis + Token 解决接口幂等性问题,挑选最佳方案!

前言 SpringBoot实现接口幂等性的方案有很多,其中最常用的一种就是 token redis 方式来实现。 下面我就通过一个案例代码,帮大家理解这种实现逻辑。 原理 前端获取服务端getToken() -> 前端发起请求 -> header中带上token -> 服务端校验前端传…

云原生之使用Docker部署Nas-Cab个人NAS平台

云原生之使用Docker部署Nas-Cab个人NAS平台 一、Nas-Cab介绍二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Nas-Cab镜像五、部署Nas-Cab5.1 创建挂载目录5.2 创建Nas-Cab容…

利用idea新创建maven项目时的一些基本配置

1.修改项目默认的maven仓库 file->Settings->Build 2.设置项目的jdk版本 设置完点OK即可。 同样的我们还需要在项目配置中进行修改。 通过以上设置一般就可以解决jdk版本不兼容地方问题。

exgcd, 线性同余方程

878. 线性同余方程 - AcWing题库 878. 线性同余方程 给定 n 组数据 ai,bi,mi,对于每组数求出一个 xi,使其满足 aixi≡bi(modmi),如果无解则输出 impossible。 输入格式, 第一行包含整数 n。 接下来 n 行,每行包含…

网络安全深入学习第一课——热门框架漏洞(RCE-代码执行)

文章目录 一、代码执行概述二、代码执行相关函数1、eval2、assert3、${ }执行代码 三、命令执行和代码执行的区别 一、代码执行概述 代码执行定义: ------ 应用程序在调用一些能够将字符串转换为代码的函数(如PHP中的eval)时,没有…

稀土系储氢合金 压力-组成等温线 PCI 的测试方法

声明 本文是学习GB-T 29918-2023 稀土系储氢合金 压力-组成等温线 PCI 的测试方法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 5 方法2:电化学法 5.1 方法提要 以储氢合金作负极,烧结氢氧化亚镍作正极,氢氧化钾水溶液作电…

postgresql-视图

postgresql-视图 视图概述使用视图的好处 创建视图修改视图删除视图递归视图可更新视图WITH CHECK OPTION 视图概述 视图(View)本质上是一个存储在数据库中的查询语句。视图本身不包含数据,也被称为 虚拟表。我们在创建视图时给它指定了一个…

数字IC设计之时序分析基础概念汇总

1 时钟Clock 理想的时钟模型是一个占空比为50%且周期固定的方波。时钟是FPGA中同步电路逻辑运行的一个基准。理想的时钟信号如下图: 2 时钟抖动Clock Jitter 理想的时钟信号是完美的方波,但是实际的方波是存在一些时钟抖动的。那么什么是时钟抖动呢?时钟抖动&#…

17-垃圾回收相关概念

目录 一、System.gc()的理解二、内存溢出和内存泄漏2、内存泄漏 三、Stop the World1、什么是 stop the word ? 四、垃圾回收的并行和并发1、并发和并发2、垃圾回收的并行和并发 五、安全点与安全区域1、什么是安全点?2、安全区域 六、强引用(不可回收&…

苹果电脑Mac系统运行速度又卡又慢是怎么回事?

通常大家处理Mac运行速度慢的方法不是重启就是清空废纸篓,但是这两种方法对于Mac提速性能的效果是微之甚微的,想要彻底解决Mac运行速度慢,你应该试试一下三种方法~ 1、清理磁盘空间 硬盘空间过少是Mac运行变慢很大的一个因素,各…