html网页使用tesseract实现OCR文字识别

即在前端实现OCR文字识别

1.前端代码

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>OCR文字识别</title><script src='https://cdn.jsdelivr.net/npm/tesseract.js@5/dist/tesseract.min.js'>//使用CDN加载tesseract,如若失效,请自行查找替换</script>
</head><style>* {margin: 0;padding-left: 0;}header {height: 100px;width: 100vw;background: #F5F7F8;}header p {text-align: center;font-size: 20px;line-height: 100px;}.core {height: 540px;width: 1000px;margin: 20px auto;}.core .source {float: left;width: 480px;margin: 0 10px;}.core .source #uploadedImage {width: 480px;height: 298px;}.core .result {float: left;width: 480px;margin: 0 10px;}.core .result #resultMsg {width: 480px;height: 298px;}
</style><body><header><p>OCR文字识别</p></header><div class="core"><div class="source"><img id="uploadedImage"><input type="file" id="imageInput" accept="image/png,image/jpeg,image/jpg" onchange="uploadImage(this)"></div><div class="result"><textarea name="" id="resultMsg" cols="30" rows="10"></textarea></div></div><script> // 监听图片输入字段的改变事document.getElementById('imageInput').addEventListener('change', function (e) {// 获取用户选择的文件var file = e.target.files[0];if (file) {var reader = new FileReader();// 当文件读取完成时,创建一个Image对象并设置其src属性,然后处理图片加载完成的事件reader.onload = function (e) {var image = new Image();image.src = e.target.result;// 当图片加载完成后,显示图片并进行文字识别image.onload = function () {//预览图片document.getElementById('uploadedImage').src = image.src;document.getElementById('uploadedImage').style.display = 'block';// 使用Tesseract.js进行文字识别Tesseract.recognize(image,'chi_sim',{logger: info => console.log(info)}).then(result => {console.log('【识别结果】', result.data.text);// 将识别结果文本输入到页面元素中if (result && result.data.text) {document.getElementById('resultMsg').value = result.data.text;} else {console.error('【错误】无法从识别结果中检索文本');}});};};reader.readAsDataURL(file);}});</script>
</body></html>

2.实现效果

2.1识别页面

在这里插入图片描述

2.2识别效果

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

[SUCTF 2018]GetShell

查看源代码发现源码 if($contentsfile_get_contents($_FILES["file"]["tmp_name"])){ 保存上传文件在临时文件目录$datasubstr($contents,5); 切片从第五个字符开始之后的所有字符foreach ($black_char as $b) { 看看有没有黑名单有…

XMind PRO 最新2024版 思维导图软件安装下载教程,免费领取,图文步骤详解(内置软件包,可激活使用)

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 XMind 2024是一款功能强大的思维导图和头脑风暴软件&#xff0c;它帮助用户清晰地组织和表达思维&#xff0c;融合艺术与创造力&#xff0c;使思维过程更加高效和直观。以下是关于XMind 2024的详细介绍&#xff1a; 主要功…

ArcGIS Pro SDK (九)几何 8 线段

ArcGIS Pro SDK &#xff08;九&#xff09;几何 8 线段 文章目录 ArcGIS Pro SDK &#xff08;九&#xff09;几何 8 线段1 使用两个地图点构造线段2 更改线段坐标 环境&#xff1a;Visual Studio 2022 .NET6 ArcGIS Pro SDK 3.0 1 使用两个地图点构造线段 // 使用 builder…

[数据集][目标检测]婴儿车检测数据集VOC+YOLO格式1073张5类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1073 标注数量(xml文件个数)&#xff1a;1073 标注数量(txt文件个数)&#xff1a;1073 标注…

在Linux(CentOS、Ubuntu等等)中安装Erlang和Elixir

检查旧版本 $ uname -a Linux ws-ersyia-0 5.4.241-1-tlinux4-0017.10 #1 SMP Wed May 8 17:01:03 CST 2024 x86_64 x86_64 x86_64 GNU/Linux ➜ /workspace elixir --version Erlang/OTP 24 [erts-12.3.2.17] [source] [64-bit] [smp:8:2] [ds:8:2:10] [async-threads:1] [j…

Java 和 SpringBoot 中的设计模式 详解

一、建造者模式 发生场景 假如有一结果api结果返回值的类Person&#xff0c;其在代码中频繁被使用。如果要使用它&#xff0c;一般的方法是&#xff1a; public class Main {public static void main(String[] args) {//方法1&#xff0c;使用全量的构造函数Person person1 …

MF173:将多个工作表转换成PDF文件

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

探索特征的隐秘关联:在Scikit-Learn中进行特征交互作用分析

探索特征的隐秘关联&#xff1a;在Scikit-Learn中进行特征交互作用分析 在机器学习中&#xff0c;特征交互作用分析是一种强大的技术&#xff0c;用于发现特征之间可能存在的复杂关系。Scikit-Learn&#xff08;简称sklearn&#xff09;&#xff0c;作为Python中广泛使用的机器…

c++判断路径是否存在,判断文件夹是否存在

c14 文章目录 路径是否存在文件夹是否存在 路径是否存在 bool filePathExists(std::experimental::filesystem::path& file_path) {if (std::experimental::filesystem::exists(file_path) && !std::experimental::filesystem::is_directory(file_path)){return …

nginx 配置多个服务

http{server {listen 80;server_name 域名1;#项目支持https&#xff0c;如果用http访问导向到https中rewrite ^(.*)$ https://$host$1 permanent; }# 配置项目2server {listen 80;server_name 域名2;location / {root C:\\work\\nginx-1.24.0\\html\\项目2地址…

三、初识C语言(3)

1.操作符 &#xff08;1&#xff09;算术操作符 - * / % 商 余&#xff08;取模&#xff09; 小算法&#xff1a; 若a<b&#xff0c;则a%b a 若a%b c&#xff0c;则0 < c < b-1 若两个int 类型数相除&#xff0c;结果有小数会被舍弃。 保留小数…

LeetCode岛屿的最大面积(深度搜索)/什么是深搜,简单案例回顾图用邻接表实现图的深度优先遍历。

看这道题不懂深度搜索的可以看看下面讲述 岛屿的最大面积 解题思路 代码 class Solution {int dfs(vector<vector<int>>& grid, int cur_i, int cur_j) {//确定边界if((cur_i >0 && cur_i < grid.size()) && (cur_j >0 &&…

新手教程---python-函数(新添加)

一、递归函数 在Python中&#xff0c;递归函数是指一个函数调用自身的过程。递归函数一般包括两个部分&#xff1a;基本情况和递归情况。 基本情况是指在递归过程中终止递归的条件。如果不满足基本情况&#xff0c;递归函数将进入递归情况&#xff0c;调用自身&#xff0c;并缩…

开机出现grub无法进入系统_电脑开机出现grub解决方法

最近有小伙伴问我电脑开机出现grub无法进入系统怎么回事&#xff1f;电脑开机出grub的情况有很多&#xff0c;电脑上安装了Linux和Win10双系统&#xff0c;但是由于格式化删除了Linux之后&#xff0c;结果win10开机了之后&#xff0c;直接显示grub&#xff1e;&#xff0c;无法…

MySQL事务管理(上)

MySQL注定会被多个用户或者客户端&#xff0c;因为MySQL存的是数据&#xff1b;MySQL内部使用的是多线程的方式来实现数据的存储工作&#xff1b; 前言 CURD不加控制&#xff0c;会有什么问题&#xff1f; 如今有个数据库里面是火车票售票系统所对应的数据库表&#xff1b;M…

Spring Boot:简化Spring应用开发的利器

引言 在现代Java开发中&#xff0c;Spring框架已经成为了构建企业级应用的事实标准。然而&#xff0c;Spring框架的强大功能也带来了复杂的配置和初始化过程。为了简化开发流程&#xff0c;Spring团队推出了Spring Boot&#xff0c;一个专注于快速构建生产级Spring应用的框架。…

.net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段

Program.cs 安装包&#xff1a;Microsoft.AspNetCore.Hosting.WindowsServices、Microsoft.Extensions.Hosting、Microsoft.Extensions.Hosting.WindowsServices、Microsoft.Extensions.Logging.Log4Net.AspNetCore 新建Configs/log4net.config using Com.Chinahorn.Exchange.W…

ubantu22.04安装OceanBase 数据库

1、管理员启动cmd,运行 sudo bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/service/installer.sh)" 2、提示如下代表安装完成 3、修改数据库配置文件的密码 sudo vim /etc/oceanbase.cnf 然后保存退…

正则表达式(Ⅰ)——基本匹配

学习练习建议 正则表达式用途非常广泛&#xff0c;各种语言中都能见到它的身影&#xff08;js&#xff0c;java&#xff0c;mysql等&#xff09; 正则表达式可以快读校验/生成/替换符合要求的模式的字符串&#xff0c;而且语法通俗易懂&#xff0c;所以应用广泛 学习链接&am…

css前端面试题

1.什么是css盒子模型&#xff1f; 盒子模型包含了元素内容&#xff08;content&#xff09;、内边距&#xff08;padding&#xff09;、边框&#xff08;border&#xff09;、外边距&#xff08;margin&#xff09;几个要素。 标准盒子模型和IE盒子模型的区别在于其对元素的w…