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

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

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库 前端开发

推荐文章

PHP服务器直传阿里云OSS
2024-11-18 19:04:44 +0800 CST
Python 基于 SSE 实现流式模式
2025-02-16 17:21:01 +0800 CST
Vue3中如何实现插件?
2024-11-18 04:27:04 +0800 CST
Vue3中如何处理组件的单元测试?
2024-11-18 15:00:45 +0800 CST
微信内弹出提示外部浏览器打开
2024-11-18 19:26:44 +0800 CST
Vue3中的事件处理方式有何变化?
2024-11-17 17:10:29 +0800 CST
Vue3中如何处理异步操作?
2024-11-19 04:06:07 +0800 CST
浏览器自动播放策略
2024-11-19 08:54:41 +0800 CST
PHP设计模式:单例模式
2024-11-18 18:31:43 +0800 CST
程序员茄子在线接单