
    9i	                         S SK Jr  S SKJr  S SKJr  S SKJrJr  S SK	J
r
  S SKJr  S SKJr  \" 5       r\
R                   " \R"                  \R"                  S9 " S	 S
\5      5       rg)    )	Pipelines)OCRRecognition)
OutputKeys)InputPipeline)	PIPELINES)Tasks)
get_logger)module_namec                   R   ^  \ rS rSrSrS\4U 4S jjrU 4S jrS rS r	S r
S	rU =r$ )
OCRRecognitionPipeline   u{  OCR Recognition Pipeline.

Example:

```python
>>> from modelscope.pipelines import pipeline

>>> ocr_recognition = pipeline('ocr-recognition', 'damo/cv_crnn_ocr-recognition-general_damo')
>>> ocr_recognition("http://duguang-labelling.oss-cn-shanghai.aliyuncs.com"
    "/mass_img_tmp_20220922/ocr_recognition_handwritten.jpg")

    {'text': '电子元器件提供BOM配单'}
```
modelc                 D  > [        U[        5      (       d   S5       e[        TU ]  " SSU0UD6  [        R                  SU 35        U R                  R                  U R                  5      U l	        U R                  R                  5         [        R                  S5        g)z
use `model` to create a ocr recognition pipeline for prediction
Args:
    model: model id on modelscope hub or `OCRRecognition` Model.
    preprocessor: `OCRRecognitionPreprocessor`.
zmodel must be a single strr   zloading model from dir zloading model doneN )
isinstancestrsuper__init__loggerinfor   todeviceocr_recognizereval)selfr   kwargs	__class__s      p/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/pipelines/cv/ocr_recognition_pipeline.pyr   OCRRecognitionPipeline.__init__   s     %%%C'CC%/u//-eW56"jjmmDKK8  "()    c                 &   > [         TU ]  " U40 UD6$ )a  
Recognize text sequence in the text image.

Args:
    input (`Image`):
        The pipeline handles three types of images:

        - A string containing an HTTP link pointing to an image
        - A string containing a local path to an image
        - An image loaded in PIL or opencv directly

        The pipeline currently supports single image input.

Return:
    A text sequence (string) of the input text image.
)r   __call__)r   inputr   r   s      r   r#   OCRRecognitionPipeline.__call__-   s    " w000r!   c                 (    U R                  U5      nU$ )N)preprocessorr   inputsoutputss      r   
preprocess!OCRRecognitionPipeline.preprocess@   s    ##F+r!   c                 .    U R                  US   5      nU$ )Nimager   r(   s      r   forwardOCRRecognitionPipeline.forwardD   s    %%fWo6r!   c                 0    [         R                  US   0nU$ )Npreds)r   TEXTr(   s      r   postprocess"OCRRecognitionPipeline.postprocessH   s    ??F7O4r!   r/   )__name__
__module____qualname____firstlineno____doc__r   r   r#   r+   r0   r5   __static_attributes____classcell__)r   s   @r   r   r      s-    *c *1& r!   r   N)modelscope.metainfor   $modelscope.models.cv.ocr_recognitionr   modelscope.outputsr   modelscope.pipelines.baser   r   modelscope.pipelines.builderr   modelscope.utils.constantr	   modelscope.utils.loggerr
   r   register_moduleocr_recognitionr   r   r!   r   <module>rG      sZ    ) ? ) 5 2 + .	 	y'@'@B;X ;B;r!   