【问题标题】:How to convert from image to text using Javascript如何使用 Javascript 将图像转换为文本
【发布时间】:2020-08-05 11:16:01
【问题描述】:

我正在尝试将图像转换为文本。当任何人上传图像然后按“提交”图像文本应显示在文本区域中。我的以下代码不起作用,请帮助!

代码:

 <html>
    <body>
    
    <input type="file" id="myFile" name="filename">  
    <br><br>
<button onclick="myFunction()">Submit</button>
<br><br>
    
    <label><b>Your Converted Text:</b></label><br><br>
    
    <textarea cols="30" name="original" rows="10" style="width: 100%;" id="convertedText">
    </textarea>

    <script src='https://cdn.rawgit.com/naptha/tesseract.js/1.0.10/dist/tesseract.js'></script>
    
    <script>  
     function myFunction() {
           var myImage= document.getElementById('myFile');
          
    
           Tesseract.recognize(myImage).then(function(result){
    
            console.log(result.text);
    
           document.getElementById("convertedText").value = result.text;
            
    
            });
    }
            </script>
            
    </body>
    </html>

【问题讨论】:

标签: javascript html tesseract.js


【解决方案1】:

如果您将事件侦听器附加到文件输入,则可以在文件成功加载后识别文本,如下所示:

<html>
<body>

<input type="file" id="myFile" name="filename">  
<br><br>

<label><b>Your Converted Text:</b></label><br><br>

<textarea cols="30" name="original" rows="10" style="width: 100%;" id="convertedText">
</textarea>

<script src='https://cdn.rawgit.com/naptha/tesseract.js/1.0.10/dist/tesseract.js'></script>

<script>  

    var myFile = document.getElementById('myFile');
    myFile.addEventListener('change', recognizeText);

    async function recognizeText({ target: { files }  }) {
        Tesseract.recognize(files[0]).then(function(result) {
            console.log("recognizeText: result.text:", result.text);
            document.getElementById("convertedText").value = result.text;
        });
    }

</script>
        
</body>
</html>

【讨论】:

  • 但静止图像文本未显示在 textArea 中。他们是您的代码附带的一些随机文本!
  • 好的,很酷。非常感谢您尝试我的回答!您是否尝试过一个非常基本的示例,例如 Hello World 图像?
  • Hello World 图像已正确转换,结果显示 Hello World。但其他一些图像没有正确转换
  • 该工具似乎无法识别某些字体!他们有什么方法可以让它识别大多数图像文本吗?
  • 好的,太好了,你可以训练 Tesseract 识别不同的字体。您也可以尝试对图像进行上采样,这可以提高识别度。我们也可以尝试改变语言。 Tesseract 在这里有一个自定义训练的例子:github.com/jeromewu/tesseract.js-custom-traineddata/blob/master/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
  • 2017-05-20
  • 1970-01-01
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多