Spaces:
Runtime error
Runtime error
# Copyright (c) OpenMMLab. All rights reserved. | |
"""Test text label visualize.""" | |
import os.path as osp | |
import random | |
import tempfile | |
from unittest import mock | |
import numpy as np | |
import pytest | |
import mmocr.core.visualize as visualize_utils | |
def test_tile_image(): | |
dummp_imgs, heights, widths = [], [], [] | |
for _ in range(3): | |
h = random.randint(100, 300) | |
w = random.randint(100, 300) | |
heights.append(h) | |
widths.append(w) | |
# dummy_img = Image.new('RGB', (w, h), Image.ANTIALIAS) | |
dummy_img = np.ones((h, w, 3), dtype=np.uint8) | |
dummp_imgs.append(dummy_img) | |
joint_img = visualize_utils.tile_image(dummp_imgs) | |
assert joint_img.shape[0] == sum(heights) | |
assert joint_img.shape[1] == max(widths) | |
# test invalid arguments | |
with pytest.raises(AssertionError): | |
visualize_utils.tile_image(dummp_imgs[0]) | |
with pytest.raises(AssertionError): | |
visualize_utils.tile_image([]) | |
def test_show_text_label(mock_imwrite, mock_imshow, mock_imread): | |
img = np.ones((32, 160), dtype=np.uint8) | |
pred_label = 'hello' | |
gt_label = 'world' | |
tmp_dir = tempfile.TemporaryDirectory() | |
out_file = osp.join(tmp_dir.name, 'tmp.jpg') | |
# test invalid arguments | |
with pytest.raises(AssertionError): | |
visualize_utils.imshow_text_label(5, pred_label, gt_label) | |
with pytest.raises(AssertionError): | |
visualize_utils.imshow_text_label(img, pred_label, 4) | |
with pytest.raises(AssertionError): | |
visualize_utils.imshow_text_label(img, 3, gt_label) | |
with pytest.raises(AssertionError): | |
visualize_utils.imshow_text_label( | |
img, pred_label, gt_label, show=True, wait_time=0.1) | |
mock_imread.side_effect = [img, img] | |
visualize_utils.imshow_text_label( | |
img, pred_label, gt_label, out_file=out_file) | |
visualize_utils.imshow_text_label( | |
img, '中文', '中文', out_file=None, show=True) | |
# test showing img | |
mock_imshow.assert_called_once() | |
mock_imwrite.assert_called_once() | |
tmp_dir.cleanup() | |