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() | |