Introdução geral
O PaddleOCR é um kit de ferramentas de OCR multilíngue baseado no PaddlePaddle, projetado para fornecer um sistema de OCR prático e ultraleve. Ele é compatível com o reconhecimento de mais de 80 idiomas e fornece ferramentas de anotação e síntese de dados para dar suporte ao treinamento e à implantação em servidores, dispositivos móveis, dispositivos incorporados e de IoT. O paddleOCR integra correção de imagem de texto, detecção de área de layout, detecção de texto regular, detecção de texto de carimbo, reconhecimento de texto, reconhecimento de tabela e outros recursos, reduzindo significativamente os custos de desenvolvimento, além de oferecer suporte a raciocínio de alto desempenho, implantação baseada em serviços e implantação no lado final. Ele também oferece suporte à inferência de alto desempenho, à implantação de serviços e à implantação no lado final.
Lista de funções
- reconhecimento multilíngueReconhecimento de texto em mais de 80 idiomas: há suporte para o reconhecimento de texto em mais de 80 idiomas.
- Ferramentas de anotação e síntese de dadosFornecimento de ferramentas convenientes de anotação e síntese de dados para ajudar a gerar rapidamente dados de treinamento.
- Correção de imagem de textoFunção de correção de imagem de texto integrada para melhorar a precisão do reconhecimento.
- Detecção de área de layoutDetecção de área de layout de alta precisão para análise de documentos complexos: suporta detecção de área de layout de alta precisão para análise de documentos complexos.
- reconhecimento de formuláriosFunção de reconhecimento de tabela: fornece a função de reconhecimento de tabela, capaz de extrair dados de tabela com precisão.
- Detecção de texto de seloSuporte à detecção e ao reconhecimento de texto carimbado: suporta a detecção e o reconhecimento de texto carimbado.
- Raciocínio de alto desempenhoSuporte à inferência de alto desempenho para aplicativos em tempo real.
- Várias opções de implementaçãoSuporte à implementação de servidores, dispositivos móveis, dispositivos incorporados e de IoT.
- Desenvolvimento com pouco códigoFornecimento de ferramentas de desenvolvimento de processo completo de baixo código para reduzir o limite de desenvolvimento e aumentar a eficiência do desenvolvimento.
Usando a Ajuda
Processo de instalação
- Preparação ambiental::
- Certifique-se de que o Python 3.6 ou posterior esteja instalado.
- Instale a estrutura do PaddlePaddle, que pode ser instalada com o seguinte comando:
pip install paddlepaddle
- Instale o PaddleOCR:
pip install paddleocr
- Modelos para download::
- Faça o download dos modelos pré-treinados do repositório oficial. Consulte a documentação oficial para obter links e comandos de download específicos.
- exemplo de execução::
- Use o seguinte comando para executar o exemplo de OCR:
bash
paddleocr --image_dir . /doc/imgs/11.jpg --det_model_dir . /inference/ch_ppocr_mobile_v2.0_det_infer --rec_model_dir . /inference/ch_ppocr_mobile_v2.0_rec_infer --cls_model_dir . /inference/ch_ppocr_mobile_v2.0_cls_infer
- Use o seguinte comando para executar o exemplo de OCR:
Função Fluxo de operação
- reconhecimento de texto::
- Prepare o arquivo de imagem a ser reconhecido.
- fazer uso de
paddleocr
ferramenta de linha de comando ou a API Python para identificação. - Código de amostra:
from paddleocr import PaddleOCR, draw_ocr import matplotlib.pyplot as plt import cv2 ocr = PaddleOCR(use_angle_cls=True, lang='ch') img_path = 'path/to/your/image.jpg' resultado = ocr.ocr(img_path, cls=True) for line in result. print(line) Resultado da visualização # imagem = cv2.imread(img_path) boxes = [elements[0] for elements in result] txts = [elements[1][0] for elements in result] scores = [elements[1][1] for elements in result] im_show = draw_ocr(image, boxes, txts, scores, font_path='path/to/your/font.ttf') im_show = cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB) plt.imshow(im_show) plt.show()
- reconhecimento de formulários::
- Prepare o arquivo de imagem que contém o formulário.
- fazer uso de
paddleocr
Ferramenta de linha de comando ou API Python para reconhecimento de formulários. - Código de amostra:
from paddleocr import PPStructure, draw_structure_result importar cv2 table_engine = PPStructure(show_log=True) img_path = 'path/to/your/table_image.jpg' result = table_engine(img_path) for line in result. print(line) Resultados da visualização do # image = cv2.imread(img_path) im_show = draw_structure_result(image, result, font_path='path/to/your/font.ttf') im_show = cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB) plt.imshow(im_show) plt.show()
- Detecção de área de layout::
- Preparar arquivos de imagem com layouts complexos.
- fazer uso de
paddleocr
Ferramenta de linha de comando ou API Python para detecção de área de layout. - Código de amostra:
from paddleocr import PaddleOCR, draw_ocr import matplotlib.pyplot as plt import cv2 ocr = PaddleOCR(use_angle_cls=True, lang='ch') img_path = 'path/to/your/layout_image.jpg' resultado = ocr.ocr(img_path, cls=True) for line in result. print(line) Resultado da visualização do # imagem = cv2.imread(img_path) boxes = [elements[0] for elements in result] txts = [elements[1][0] for elements in result] scores = [elements[1][1] for elements in result] im_show = draw_ocr(image, boxes, txts, scores, font_path='path/to/your/font.ttf') im_show = cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB) plt.imshow(im_show) plt.show()