vue+Tesseract OCR图片识别

 在index.html中引入tesseract.min.js

<script src="<%=BASE_URL%>tesseract/tesseract.min.js"></script>
      console.log("开始识别图片:",file, fileList,index)
      this.$message({message: '图片识别中,请稍等...', type: 'success'});
      this.picLoading = true
      const worker = await Tesseract.createWorker('chi_sim',1,{
        //配置本地资源路径,语言包的实际位置是通过langPath+'/'+lang+'.traineddata.gz'得到的,所以不要改语言包文件名
        workerPath: './tesseract/worker.min.js',
        corePath: './tesseract/tesseract-core.wasm.js',
        langPath: './tesseract/lang-data',
      });
      await (async () => {
        const img = URL.createObjectURL(file.raw);
        await worker.load();
        await worker.loadLanguage('chi_sim');
        await worker.initialize('chi_sim', Tesseract.OEM.LSTM_ONLY);
        const {data: {text}} = await worker.recognize(img, {rotateAuto: true}, {
          imageColor: true,
          imageGrey: true,
          imageBinary: true
        });
        const result = text.replace(/\s*/g, "")
        console.log('图片识别结果:',result)
        this.picLoading = false
 <el-upload
      action="https://jsonplaceholder.typicode.com/posts/"
      list-type="picture-card"
      :auto-upload="false"
      class="my-upload"
      multiple
      :file-list="fileList"
      accept=".jpg,.jpeg,.png,.svg"
      :on-change="(file, fileList) => {picHandleChange(file, fileList)}"
      :on-remove="(file, fileList) => {handleRemove(file, fileList)}"
      :on-preview="handlePictureCardPreview">
      <i class="el-icon-plus"></i>
 </el-upload>

Vue是一个流行的JavaScript框架,用于构建用户界面。Tesseract.js是一个基于JavaScript的OCR(光学字符识别)库,用于从图像中提取文本。 如果你想在Vue项目中使用Tesseract.js,首先你需要安装Tesseract.js库。你可以通过npm或yarn来安装,具体命令如下: 使用npm: ``` npm install tesseract.js ``` 使用yarn: ``` yarn add tesseract.js ``` 安装完成后,你可以在Vue组件中引入并使用Tesseract.js。以下是一个简单的示例: ```vue <template> <div> <input type="file" @change="handleFileChange" /> <button @click="extractText">提取文本</button> <div>{{ extractedText }}</div> </div> </template> <script> import Tesseract from 'tesseract.js'; export default { data() { return { extractedText: '', }; }, methods: { handleFileChange(event) { const file = event.target.files[0]; this.image = URL.createObjectURL(file); }, async extractText() { const { data: { text } } = await Tesseract.recognize(this.image); this.extractedText = text; }, }, }; </script> ``` 在上面的示例中,我们创建了一个包含一个文件输入框和一个按钮的Vue组件。当用户选择文件后,我们会使用Tesseract.js来提取图像中的文本,并将提取的文本显示在页面上。 请注意,上述代码只是一个简单的示例,你可能需要根据你的具体需求进行适当的修改和调整。另外,为了使Tesseract.js能够正常工作,你可能还需要提供一些语言数据文件。 希望这能帮到你!如果你还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值