综合 34.4K Star 最牛 OCR !!! 不要服务器, 浏览器识别 100+ 语言文本

2024-11-19 07:16:38 +0800 CST views 758

34.4K Star 最牛 OCR !!! 不要服务器, 浏览器识别 100+ 语言文本

项目简介

Tesseract.js 是一款纯 JavaScript 的 OCR(光学字符识别)库,支持超过 100 种语言的文本识别。无论是自动检测文本方向和脚本类型,还是简单直观地获取段落、单词和字符的边界框,Tesseract.js 都能为开发者提供强大的工具。这款库不仅可以在浏览器中运行,还能在服务器端使用 Node.js 运行,适用于多种应用场景。


特点

  • 多语言 OCR:支持超过 100 种语言,用户可以根据需要下载不同的语言包来识别文本。
  • 纯前端实现:可以直接在浏览器中进行 OCR 处理,无需服务器支持,确保数据安全且响应迅速。
  • 自动文本检测:能够自动检测图像中的文本方向和脚本类型,减少人为干预。
  • 简单易用的 API:提供用户友好的 API 设计,让开发者快速上手。

开源成就

  • Star 数:34.4K
  • **Fork 数:**持高社区参与度
  • 应用场景广泛:用于图像文本提取、文档分析、自动化处理等多个领域。

主要功能

  1. 多语言支持:可以识别超过 100 种语言文本。
  2. 前端独立运行:无需后端服务器支持,直接在浏览器中进行 OCR 识别。
  3. 自动文本检测:智能识别文本方向、脚本类型,无需额外配置。
  4. 灵活的 API:易于集成到任何项目中,适合前后端的多场景使用。

安装指南

Node.js 环境下安装

在 Node.js 项目中,可以通过 npm 或 yarn 安装 Tesseract.js

npm install tesseract.js
# 或者
yarn add tesseract.js

浏览器使用

在 HTML 文件中,可以通过添加脚本标签并指定 CDN 链接来使用 Tesseract.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tesseract.js OCR Demo</title>
    <!-- 引入 Tesseract.js -->
    <script src="https://cdn.jsdelivr.net/npm/tesseract.js@latest/dist/tesseract.min.js"></script>
</head>
<body>
    <button id="ocrButton">开始 OCR</button>
    <div id="result"></div>

    <script>
        document.getElementById('ocrButton').addEventListener('click', async () => {
            try {
                const result = await Tesseract.recognize(
                    'path/to/image.jpg', // 图像文件路径
                    'eng', // 语言代码
                    { logger: m => console.log(m) } // 可选日志记录
                );

                document.getElementById('result').innerText = result.text;
            } catch (error) {
                console.error('OCR failed:', error);
            }
        });
    </script>
</body>
</html>

使用示例

在 Node.js 环境下,编写 JavaScript 文件并引入 Tesseract.js 进行 OCR 文本识别:

const Tesseract = require('tesseract.js');

Tesseract.recognize(
  'path/to/image.jpg', // 指定图片路径
  'eng' // 指定语言代码
).then(({ data: { text } }) => {
  console.log('Recognized Text:', text);
});

总结

Tesseract.js 是一款简单易用、功能强大的 OCR 解决方案。无论你是初学者还是有经验的开发者,都可以轻松上手。其强大的多语言支持、前端独立运行的特性以及自动文本检测功能,极大地方便了文本识别应用的开发。如果你正在寻找一款无需服务器的浏览器 OCR 工具,Tesseract.js 绝对是你的不二之选。

https://github.com/naptha/tesseract.js
images

复制全文 生成海报 光学字符识别 JavaScript库 前端开发

推荐文章

Rust 高性能 XML 读写库
2024-11-19 07:50:32 +0800 CST
php 统一接受回调的方案
2024-11-19 03:21:07 +0800 CST
Vue 3 是如何实现更好的性能的?
2024-11-19 09:06:25 +0800 CST
Vue3中的Slots有哪些变化?
2024-11-18 16:34:49 +0800 CST
Nginx rewrite 的用法
2024-11-18 22:59:02 +0800 CST
任务管理工具的HTML
2025-01-20 22:36:11 +0800 CST
回到上次阅读位置技术实践
2025-04-19 09:47:31 +0800 CST
Python中何时应该使用异常处理
2024-11-19 01:16:28 +0800 CST
虚拟DOM渲染器的内部机制
2024-11-19 06:49:23 +0800 CST
Golang Sync.Once 使用与原理
2024-11-17 03:53:42 +0800 CST
JS 箭头函数
2024-11-17 19:09:58 +0800 CST
Rust 并发执行异步操作
2024-11-18 13:32:18 +0800 CST
markdowns滚动事件
2024-11-19 10:07:32 +0800 CST
Golang Select 的使用及基本实现
2024-11-18 13:48:21 +0800 CST
JavaScript数组 splice
2024-11-18 20:46:19 +0800 CST
Python上下文管理器:with语句
2024-11-19 06:25:31 +0800 CST
Python实现Zip文件的暴力破解
2024-11-19 03:48:35 +0800 CST
js常用通用函数
2024-11-17 05:57:52 +0800 CST
Golang中国地址生成扩展包
2024-11-19 06:01:16 +0800 CST
程序员茄子在线接单