lewangdev / PaddleWebOCR

开源的中英文离线 OCR,使用 PaddleOCR 实现,提供了简单的 Web 页面及接口
Apache License 2.0
120 stars 30 forks source link

如何在参数中选择模型? #12

Closed Hodoio closed 2 years ago

Hodoio commented 2 years ago

希望可在API中调用不同模型,或有更为详细的文档以便建设此类社区

lewangdev commented 2 years ago

接口中参数 ocr_model 可选值为:

与 paddleocr 模型名称相同

Hodoio commented 2 years ago

接口中参数 ocr_model 可选值为:

  • chinese_cht_mobile_v2.0
  • ch_ppocr_mobile_v2.0_xx
  • ch_PP-OCRv2_xx
  • ch_ppocr_server_v2.0_xx

与 paddleocr 模型名称相同 好的,多谢解答,我已明白。但对于不需要图片压缩和结果图片生成,不知您是否有解决方案呢?

lewangdev commented 2 years ago

接口中参数 ocr_model 可选值为:

  • chinese_cht_mobile_v2.0
  • ch_ppocr_mobile_v2.0_xx
  • ch_PP-OCRv2_xx
  • ch_ppocr_server_v2.0_xx

与 paddleocr 模型名称相同 好的,多谢解答,我已明白。但对于不需要图片压缩和结果图片生成,不知您是否有解决方案呢?

编辑文件 https://github.com/lewangdev/PaddleWebOCR/blob/main/paddlewebocr/route/v1/ocr.py

    img = rotate_image(img)
    img = img.convert("RGB")
    #img = compress_image(img, compress_size)

    texts = text_ocr(img, ocr_model)
    #img_drawed = draw_box_on_image(img.copy(), texts)
    #img_drawed_b64 = convert_image_to_b64(img_drawed)

    data = {'code': 0, 'msg': '成功',
            'data': {'img_detected': '',
                     'raw_out': list(map(lambda x: [x[0], x[1][0], x[1][1]], texts)),
                     'speed_time': round(time.time() - start_time, 2)}}
    return MyORJSONResponse(content=data)

可以参考这样修改

Hodoio commented 2 years ago

接口中参数 ocr_model 可选值为:

  • chinese_cht_mobile_v2.0
  • ch_ppocr_mobile_v2.0_xx
  • ch_PP-OCRv2_xx
  • ch_ppocr_server_v2.0_xx

与 paddleocr 模型名称相同 好的,多谢解答,我已明白。但对于不需要图片压缩和结果图片生成,不知您是否有解决方案呢?

    img = rotate_image(img)
    img = img.convert("RGB")
    #img = compress_image(img, compress_size)

    texts = text_ocr(img, ocr_model)
    #img_drawed = draw_box_on_image(img.copy(), texts)
    #img_drawed_b64 = convert_image_to_b64(img_drawed)

    data = {'code': 0, 'msg': '成功',
            'data': {'img_detected': '',
                     'raw_out': list(map(lambda x: [x[0], x[1][0], x[1][1]], texts)),
                     'speed_time': round(time.time() - start_time, 2)}}
    return MyORJSONResponse(content=data)

可以参考这样修改

好的,十分感谢您的解答。