pytesseract OCR图片识别

一、效果图

二、关键点

1.pytesseract安装,参考链接https://wenku.csdn.net/answer/2a3b68e38d8c4d0b81bbff31d3696692
2.安装Flask环境,复制代码,并运行ocr.py

三、代码

templates下的index.html

<!DOCTYPE HTML>
<html>

<body bgcolor="#EEEEFE" >
    <p align="center" >图片识别</p>
<table  align="center" border="2" bordercolor="#000000" style="width:900px;height:500px;">       
   <tr id="TR1">
       <td  align="center" style="border-right: none;  width:70%;text-align: right;">
      <form action="/upload" method="POST" enctype="multipart/form-data" >
      <p align="center">
      <input type="file" name="file"  style="font-size: 15px;text-align:right;">
   </td >
       <td style="border-left: none;text-align: left;vertical-align:bottom;">
      <input type="submit" value="上传" style="width: 60px; height: 40px;order-radius: 40%;border-radius: 30px;margin-top: 10px;">
      </p>
      </form>
       </td>
   <tr align="center">
      <td  colspan="2"  align="center" >
      <p ><textarea rows="30" id="T1S1"  style="width:99%;" >{{ocr_txt}}</textarea></p>          
      </td>
      </tr>
   </table>
</body>
</html>

ocr.py

# -*- coding:utf-8 -*-
import os
from flask import Flask, render_template, request, send_from_directory
import time

app = Flask(__name__)
BASE_PATH = os.path.dirname(os.path.abspath(__file__))


@app.route("/")
def index():
    return render_template('index.html')


@app.route("/upload", methods=["POST"])
def upload_file():
    try:
        import pytesseract
        from PIL import Image

        dir = os.path.join(BASE_PATH, "upload")
        if not os.path.exists(dir):
            os.makedirs(dir)
        for f in request.files.getlist('file'):
            filename = os.path.join(BASE_PATH, "upload", f.filename)
            f.save(filename)

        image_path = os.path.join(dir, filename)
        # 打开图像文件
        image = Image.open(image_path)
        # 使用pytesseract进行文字识别
        ocr_txt = pytesseract.image_to_string(image, lang='chi_sim')
        # 输出识别结果
        print(ocr_txt)
        #识别完成后删除文件
        if os.path.isfile(image_path):
            os.remove(image_path)

        return render_template('index.html', ocr_txt=ocr_txt)
    except Exception as e:
        return "[upload error]"


if __name__ == "__main__":

    # ocr_txt()
    app.run(host="0.0.0.0", port=5002, debug=False)

运行ocr.py,查看日志信息,打开日志中的网址,上传图片,并点击运行。

图片示例:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值