11
11
from unittest import TestCase , main
12
12
13
13
import numpy as np
14
- from PIL import Image
14
+ from PIL import Image , ImageFont
15
15
16
- from image_dataset_viz .dataset_exporter import resize_image , DatasetExporter
16
+ from image_dataset_viz .dataset_exporter import resize_image , DatasetExporter , \
17
+ get_default_font , to_pil , render_datapoint
17
18
18
19
19
20
class TestDatasetExporter (TestCase ):
@@ -24,6 +25,10 @@ def setUp(self):
24
25
def tearDown (self ):
25
26
pass
26
27
28
+ def test_get_default_font (self ):
29
+ font = get_default_font (10 )
30
+ assert isinstance (font , ImageFont .FreeTypeFont )
31
+
27
32
def test_resize_image (self ):
28
33
size = (320 , 300 )
29
34
large_img = Image .new ('RGB' , size = size )
@@ -47,6 +52,20 @@ def read_img(i):
47
52
de = DatasetExporter (read_img_fn = read_img )
48
53
de .export_datapoint (0 , 0 , "test.png" )
49
54
55
+ def test_render_datapoint (self ):
56
+
57
+ img = np .ones ((100 , 120 , 3 ), dtype = np .uint8 )
58
+ res = render_datapoint (img , "test label" , text_color = (0 , 255 , 0 ), text_size = 10 )
59
+ assert isinstance (res , Image .Image )
60
+
61
+ target = Image .fromarray (np .ones ((100 , 120 , 3 ), dtype = np .uint8 ))
62
+ res = render_datapoint (img , target , text_color = (0 , 255 , 0 ), text_size = 10 )
63
+ assert isinstance (res , Image .Image )
64
+
65
+ target = np .array ([[10 , 10 ], [55 , 10 ], [55 , 77 ], [10 , 77 ]])
66
+ res = render_datapoint (img , target , geom_color = (255 , 0 , 0 ))
67
+ assert isinstance (res , Image .Image )
68
+
50
69
def test_export_datapoint (self ):
51
70
52
71
def read_img (i ):
@@ -128,6 +147,15 @@ def read_img(i):
128
147
out_img = Image .open (fp )
129
148
self .assertEqual (out_img .size , ((s + m ) * n_cols , (s + m ) * max_n_rows ))
130
149
150
+ def test_to_pil (self ):
151
+ img = np .ones ((100 , 120 , 3 ), dtype = np .uint8 )
152
+ pil_img = to_pil (img )
153
+ assert isinstance (pil_img , Image .Image )
154
+
155
+ img = Image .fromarray (np .ones ((100 , 120 , 3 ), dtype = np .uint8 ))
156
+ pil_img = to_pil (img )
157
+ assert isinstance (pil_img , Image .Image )
158
+
131
159
132
160
if __name__ == "__main__" :
133
161
main ()
0 commit comments