PaddleOCR?????????????????????????????????

PaddleOCR?????????????????????????????????

??????

??????

?????? PaddleOCR

????????????

??? flask ?????????

??????

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ocr ????????????

???????????? ocr ?????????????????????????????????????????? PaddleOCR?????????????????????????????????????????????Python??????

?????? PaddleOCR ?????????????????????????????????????????????????????????????????? PaddleOCR ?????????????????????

?????? PaddleOCR pip install paddlepaddle pip install paddleocr

??????????????????????????????

paddleocr==2.5.0.3 paddlepaddle==2.3.1

??? macOS ?????????????????????????????????????????????????????????????????? setuptools ??????????????????????????????

pip install --upgrade setuptools==59.8.0

????????????????????????????????????????????????????????????

???????????? import hashlib import io from PIL import Image from paddleocr import PaddleOCR def get_gif_pic_path(url): '''??????????????????????????????????????????''' response = requests.get(url) filename = hashlib.md5(url.encode(encoding='utf-8')).hexdigest() img = Image.open(io.BytesIO(response.content)) current = img.tell() img_path = f'bqb/{filename}_{current}.webp' img.save(img_path) return img_path def ocr_get_gif_text_sec(url) -> str: '''??????gif????????????????????????''' img_path = get_gif_pic_path(url) ocr = PaddleOCR(use_angle_cls=True, lang='ch') result = ocr.ocr(img_path, cls=True) data = [] for item in result: data.append(item[1][0]) return ",".join(data) ocr_get_gif_text_sec('https://xxxxxx')

?????? gif ????????????????????????????????????????????????????????????????????????get_gif_pic_path????????????????????????ocr_get_gif_text_sec ??? gif ????????????????????????????????????????????? result ??????????????????????????????????????????????????????

?????? gif ??????????????????????????????????????????????????????????????????????????????????????? gif ???????????????????????????????????????????????????

??? flask ?????????

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????????????????????????????????????????????????????????????????????????????ocr.ocr()?????????ocr.ocr() ?????????????????????????????????????????????????????????????????????????????????

??????????????????????????? nparray ???????????????????????????????????????????????????

from paddleocr import PaddleOCR import numpy as np import cv2 @app.route('/v1/upload_img', methods=['POST']) def api_v1_upload_img(): if 'file' not in request.files: return "no file part" file = request.files['file'] if file.filename == '': return "no selected file" if file: file_name = file.filename # ???????????????????????? res = upload_image(bytes=file.read(), filename=file_name) return res else: return "no file" def upload_image(bytes, filename = None, mime_type = None): ocr = PaddleOCR(use_angle_cls=True, lang="ch") ## ???????????? np_arr = np.frombuffer(bytes, dtype=np.uint8) img = cv2.imdecode(np_arr, cv2.IMREAD_COLOR) # ???????????? result = ocr.ocr(img=img, cls=True) ocr_result = [] for line in result: ocr_result.append(line[1][0].strip()) img_content = ' '.join(ocr_result) return img_content

???api_v1_upload_img???????????????????????????????????????????????????????????????????????????upload_image??????upload_image??????

np_arr = np.frombuffer(bytes, dtype=np.uint8) img = cv2.imdecode(np_arr, cv2.IMREAD_COLOR)

??????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????PaddleOCR ???????????????????????????????????????????????????????????????PaddleOCR???????????????????????????????????????????????????????????????????????????

推荐阅读