当前位置:   article > 正文

【前端OCR】代码,浏览器实现简单OCR识别,tesseract.js

前端ocr

【需求背景】灵机一动想到能否在浏览器实现OCR,查阅资料后发现可参考内容不多,故给出以下可运行代码。

【使用方法】代码可以在本地编辑器编辑完成后使用浏览器直接打开HTML文件,选择图片上传即可。

【说明】当前配置是简体中文语言包chi_sim,如果需要切换其它语言可以参考官方Github仓库​​​​​​tesseract.js/src/constants/languages.js中的说明。

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>图像OCR Tesseract.js 测试</title>
  7. <script src="https://cdn.rawgit.com/naptha/tesseract.js/1.0.10/dist/tesseract.js"></script>
  8. </head>
  9. <body>
  10. <input type="file" id="imageInput" accept="image/*">
  11. <img id="uploadedImage" style="max-width: 100%; margin-top: 10px; display: none;">
  12. <div id="result"></div>
  13. <script>
  14. document.getElementById('imageInput').addEventListener('change', function (e) {
  15. var file = e.target.files[0];
  16. if (file) {
  17. var reader = new FileReader();
  18. reader.onload = function (e) {
  19. var image = new Image();
  20. image.src = e.target.result;
  21. image.onload = function () {
  22. document.getElementById('uploadedImage').src = image.src;
  23. document.getElementById('uploadedImage').style.display = 'block';
  24. Tesseract.recognize(
  25. image,
  26. 'chi_sim',
  27. {
  28. logger: info => console.log(info)
  29. }
  30. ).then(result => {
  31. console.log('【识别结果】', result);
  32. if (result && result.text) {
  33. document.getElementById('result').innerText = result.text;
  34. } else {
  35. console.error('【错误】无法从识别结果中检索文本');
  36. }
  37. }).catch(error => {
  38. console.error('【错误】识别过程中出错,原因:', error);
  39. });
  40. };
  41. };
  42. reader.readAsDataURL(file);
  43. }
  44. });
  45. </script>
  46. </body>
  47. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/236811
推荐阅读
相关标签
  

闽ICP备14008679号