Files
rapidocr/python/tests/test_all_ort.py
T
2023-03-28 19:03:14 +08:00

99 lines
2.5 KiB
Python

# -*- encoding: utf-8 -*-
# @Author: SWHL
# @Contact: liekkaskono@163.com
import sys
from pathlib import Path
import numpy as np
import cv2
import pytest
root_dir = Path(__file__).resolve().parent.parent
print(root_dir)
sys.path.append(str(root_dir))
from rapidocr_onnxruntime import RapidOCR, LoadImageError
rapid_ocr = RapidOCR()
tests_dir = root_dir / 'tests' / 'test_files'
def test_normal():
image_path = tests_dir / 'ch_en_num.jpg'
img = cv2.imread(str(image_path))
result, _ = rapid_ocr(img)
assert result[0][1] == '正品促销'
assert len(result) == 17
def test_empty():
img = None
with pytest.raises(LoadImageError) as exc_info:
rapid_ocr(img)
raise LoadImageError
assert exc_info.type is LoadImageError
def test_zeros():
img = np.zeros([640, 640, 3])
result, _ = rapid_ocr(img)
assert result is None
def test_input_str():
image_path = tests_dir / 'ch_en_num.jpg'
result, _ = rapid_ocr(str(image_path))
assert result[0][1] == '正品促销'
assert len(result) == 17
def test_input_bytes():
image_path = tests_dir / 'ch_en_num.jpg'
with open(image_path, 'rb') as f:
result, _ = rapid_ocr(f.read())
assert result[0][1] == '正品促销'
assert len(result) == 17
def test_input_path():
image_path = tests_dir / 'ch_en_num.jpg'
result, _ = rapid_ocr(image_path)
assert result[0][1] == '正品促销'
assert len(result) == 17
def test_input_parameters():
image_path = tests_dir / 'ch_en_num.jpg'
rapid_ocr = RapidOCR(text_score=1)
result, _ = rapid_ocr(image_path)
assert result is None
def test_input_det_parameters():
image_path = tests_dir / 'ch_en_num.jpg'
with pytest.raises(FileNotFoundError) as exc_info:
rapid_ocr = RapidOCR(det_model_path='1.onnx')
result, _ = rapid_ocr(image_path)
raise FileNotFoundError()
assert exc_info.type is FileNotFoundError
def test_input_cls_parameters():
image_path = tests_dir / 'ch_en_num.jpg'
with pytest.raises(FileNotFoundError) as exc_info:
rapid_ocr = RapidOCR(cls_model_path='1.onnx')
result, _ = rapid_ocr(image_path)
raise FileNotFoundError()
assert exc_info.type is FileNotFoundError
def test_input_rec_parameters():
image_path = tests_dir / 'ch_en_num.jpg'
with pytest.raises(FileNotFoundError) as exc_info:
rapid_ocr = RapidOCR(rec_model_path='1.onnx')
result, _ = rapid_ocr(image_path)
raise FileNotFoundError()
assert exc_info.type is FileNotFoundError