28k 的开源 OCR 工具

这篇具有很好参考价值的文章主要介绍了28k 的开源 OCR 工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

要从图像、照片中提取文本吗?是否刚刚拍了讲义的照片并想将其转换为文本?那么您将需要一个可以通过 OCR(光学字符识别)识别文本的应用程序。今天,我们介绍一款用强大的开源 OCR 库:Tesseract.js。

Tesseract.js 是一个 javascript 库,可以从图像中获取几乎任何语言的文字。它将原始的 Tesseract 从 C 编译为 JavaScript WebAssembly,从而使 OCR 可以在浏览器中访问。Tesseract.js 引擎最初是用 ASM.js 编写的,后来移植到 WebAssembly,但在某些不支持 WebAssembly 的情况下,ASM.js 仍然可以作为备份。

28k 的开源 OCR 工具

28k 的开源 OCR 工具

正如 Tesseract.js 网站上所述,它支持 100 多种语言、自动文本定位和脚本检测,以及用于阅读段落、单词和字符边界框的简单界面。

28k 的开源 OCR 工具

使用

这里我们将展示如何使用 Tesseract.js 构建 OCR Web 应用程序,通过代码一步步实现。

第 1 步:引入 tesseract.js

首先,我们需要包含 JavaScript 库 tesseract.js。在 HTML5 页面中包含 Tesseract.js 的最简单方法是使用 CDN。因此,将以下内容添加到网页的  中。

<html>
  <head>
    <script src='https://unpkg.com/tesseract.js@v2.0.0-alpha.13/dist/tesseract.min.js'></script>
  </head>
  <body>
   ......
      <script src="js/tesseract-ocr.js"></script>
  </body>
</html>

如果使用的是 npm,也可以通过运行下面的命令来安装它

npm install tesseract.js@next

第 2 步:设置html元素

接下来我们需要做的是在下面添加 html 元素

  • 语言选择器

  • 图像文件选择器

  • 所选图像的缩略图预览

  • 处理后结果的占位符

<select id="langsel">
  <option value='eng' selected> English </option>
</select>
<input type="file" id="file-1" class="inputfile" />
<img id="selected-image"  src="" />
<div id="log">
    <span id="startPre">  
        <a id="startLink" href="#">Click here to recognize text</a> or choose your own image
    </span>
</div>

第 3 步:初始化并运行 Tesseract

此外,我们将初始化一个 TesseractWorker,然后使用识别功能。这个函数异步运行并返回一个 TesseractJob 对象。

我们可以在回调函数中获取文本结果,可以使用 then() 方法添加回调函数。此外,使用 progress() 方法添加回调以监视 OCR 操作的状态和进度。

const worker = new Tesseract.TesseractWorker();
worker.recognize(file, $("#langsel").val())
.progress(function(packet){
    console.info(packet)
    progressUpdate(packet)
})
.then(function(data){
    console.log(data)
    progressUpdate({ status: 'done', data: data })
})

第 4 步:显示进度和结果

最后,让我们看看返回的 TesseractJob 对象,并使用它来显示结果。

28k 的开源 OCR 工具

28k 的开源 OCR 工具

返回结果后,它包含置信度,即从图像中提取的文本。在单词数组中,它还包括单词在图像中的位置。现在我们使用下面的函数 progressUpdate 将其显示给用户。

function progressUpdate(packet){
    var log = document.getElementById('log');
 
    if(log.firstChild && log.firstChild.status === packet.status){
        if('progress' in packet){
            var progress = log.firstChild.querySelector('progress')
            progress.value = packet.progress
        }
    }else{
        var line = document.createElement('div');
        line.status = packet.status;
        var status = document.createElement('div')
        status.className = 'status'
        status.appendChild(document.createTextNode(packet.status))
        line.appendChild(status)
 
        if('progress' in packet){
            var progress = document.createElement('progress')
            progress.value = packet.progress
            progress.max = 1
            line.appendChild(progress)
        }
 
 
        if(packet.status == 'done'){
            log.innerHTML = ''
            var pre = document.createElement('pre')
            pre.appendChild(document.createTextNode(packet.data.text.replace(/\n\s*\n/g, '\n')))
            line.innerHTML = ''
            line.appendChild(pre)
            $(".fas").removeClass('fa-spinner fa-spin')
            $(".fas").addClass('fa-check')
        }
 
        log.insertBefore(line, log.firstChild)
    }
}

这就是全部代码。我们可以选择自己的带有一些文字的图像,然后观看结果。

小结

Tesseract.js 有一些优点,如它支持多种语言,正常字体和清晰背景的准确性非常高。当然有也有些缺点,如背景复杂时效果不佳,会被一些自定义字体弄糊涂了。

但是,它仍是一个很棒的 JavaScript 库。它为浏览器带来了 OCR 的强大功能,并为开发人员打开了一扇机会之门。

「Tesseract.js」

地址:https://github.com/naptha/tesseract.js

⭐️:28.6k

语言:Javascript文章来源地址https://www.toymoban.com/news/detail-498137.html

到了这里,关于28k 的开源 OCR 工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Termux: 超28k stars,Android终端下的强大Linux环境

    随着移动技术的快速发展,我们的手机已经不仅仅是通信工具,而是成为了我们生活的延伸。我们使用手机进行社交媒体、游戏、照相等各种各样的活动。然而,你有没有想过,你的手机还可以成为一个真正的计算机?Termux应用程序就是为这个目的而设计的。 Termux是一款An

    2024年01月25日
    浏览(41)
  • 5年测试被裁,恶补3个月上岸字节28K,面试差点被问哭···

    我的个人背景非常简单,也可以说丝毫没有亮点。 学历普通,计算机专业二本毕业,毕业后出来就一直在一家小公司,岁月如梭细,算了下至今从事软件测试已经5年了,也点点点了五年,每天都是重复的工作,毫无新意,甚至一度的怀疑人生,后来就失业了,一度颓废了,

    2023年04月09日
    浏览(30)
  • Python从图像中提取文本及其坐标

    Python从图像中提取文本及其坐标 在数字化时代,文本数据已经成为人们生活和工作中重要的数据形式。有时候我们需要从图片中提取文字信息,这就要用到Python编程语言中OCR技术的应用了。本文将介绍如何使用Python从图片中提取文字,同时提供完整的源代码。 首先,我们需

    2024年02月14日
    浏览(26)
  • Tesseract开源的OCR工具及python pytesseract安装使用

    一 、介绍 Tesseract是一款由Google赞助的开源OCR。 pytesseract是python包装器,它为可执行文件提供了pythonic API。 Tesseract 已经有 30 年历史,开始它是惠普实验室的一款专利软件,在2005年后由Google接手并进一步开发和完善。Tesseract支持多种语言文字的检测和识别,包括中文、英语、

    2024年02月15日
    浏览(28)
  • rapid_latex_ocr: 更快更好用的公式图像转latex工具

    rapid_latex_ocr 是一个将公式图像转为latex格式的工具。 仓库中的推理代码改自LaTeX-OCR,模型已经全部转为ONNX格式,并对推理代码做了精简,推理速度更快,更容易部署。 仓库只有基于 ONNXRuntime 或者 OpenVINO 推理onnx格式的代码,不包含训练模型代码。如果想要训练自己的模型,

    2024年02月16日
    浏览(26)
  • 【开源工具】使用Whisper提取视频、语音的字幕

    运行 WhisperDesktop.exe , 启动后加载模型“load model,please wait…”,等待其将模型加载到内存。 2.1 下载模型 刚开始是没有模型的,需要到Hugging Face 2 的仓库里面下载模型并配置相关路径 2.1.1 进入Hugging Face 2 的仓库 点击 ggerganov/whisper.cpp 进入Hugging Face仓库 2.1.2 选择需要下载的模型

    2024年02月09日
    浏览(28)
  • 【开源工具】使用Whisper将提取视频、语音的字幕

    运行 WhisperDesktop.exe , 启动后加载模型“load model,please wait…”,等待其将模型加载到内存。 2.1 下载模型 刚开始是没有模型的,需要到Hugging Face 2 的仓库里面下载模型并配置相关路径 2.1.1 进入Hugging Face 2 的仓库 点击 ggerganov/whisper.cpp 进入Hugging Face仓库 2.1.2 选择需要下载的模型

    2024年02月08日
    浏览(32)
  • 【AIGC】3、Visual ChatGPT | 支持图像/文本双输入的对话系统开源啦

    论文:Visual ChatGPT :Talking, Drawing and Editing with Visual Foundation Models 代码:https://github.com/microsoft/visual-chatgpt 出处:Microsoft Research Asia 时间:2023.03 Visual ChatGPT 是一个能够调动多个不同基础视觉模型来理解视觉信息并生成对应回答的系统。 近期, Large Language models(LLMs)发展非常

    2023年04月15日
    浏览(58)
  • 【AIGC】2、Visual ChatGPT | 支持图像/文本双输入的对话系统开源啦

    论文:Visual ChatGPT :Talking, Drawing and Editing with Visual Foundation Models 代码:https://github.com/microsoft/visual-chatgpt 出处:Microsoft Research Asia 时间:2023.03 Visual ChatGPT 是一个能够调动多个不同基础视觉模型来理解视觉信息并生成对应回答的系统。 近期, Large Language models(LLMs)发展非常

    2024年02月09日
    浏览(32)
  • 开源(离线)中文语音识别ASR(语音转文本)工具整理

    开源(离线)中文语音识别ASR(语音转文本)工具整理 Open AI在2022年9月21日开源了号称其英文语音辨识能力已达到人类水准的Whisper神经网络,且它亦支持其它98种语言的自动语音辨识。 Whisper系统所提供的自动语音辨识(Automatic Speech Recognition,ASR)模型是被训练来运行语音辨识与翻

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包