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识别效果

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

相关推荐

  1. 使用Tesseract-OCR对PDF等图片文件进行文字识别

    2024-07-20 11:12:01       46 阅读
  2. Spring Boot(八十):Tesseract实现图片文字自动识别

    2024-07-20 11:12:01       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 11:12:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 11:12:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 11:12:01       45 阅读
  4. Python语言-面向对象

    2024-07-20 11:12:01       55 阅读

热门阅读

  1. Qt: 窗口停靠框架

    2024-07-20 11:12:01       17 阅读
  2. 贪心算法思想

    2024-07-20 11:12:01       18 阅读
  3. 前端TS语法基础篇

    2024-07-20 11:12:01       19 阅读
  4. 编织文字之美:WebKit的CSS文本格式化能力全解析

    2024-07-20 11:12:01       20 阅读
  5. nosql--redis

    2024-07-20 11:12:01       22 阅读
  6. Unity | AssetBundle

    2024-07-20 11:12:01       18 阅读
  7. docker 安装MySQL 8.4.1

    2024-07-20 11:12:01       16 阅读
  8. React antd form表单未保存跳转页面提示

    2024-07-20 11:12:01       17 阅读
  9. c++中static_cast的用法

    2024-07-20 11:12:01       18 阅读