def test_embeded_image_from_bytesio(): data = np.random.random((100, 100)) rescaled = (255.0 / data.max() * (data - data.min())).astype(np.uint8) im = PILImage.fromarray(rescaled) buf = BytesIO() im.save(buf, format="PNG") buf.seek(0) image = Image(buf) assert np.array_equal(image.to_numpy(), rescaled)
def test_image_use_https_uri(): img = Image(WIKIPEDIA) fobj = BytesIO( requests.get(WIKIPEDIA, headers={ "User-Agent": "curl/7.72.0" }).content) pic = PIL.Image.open(fobj) assert np.array_equal(img.to_numpy(), np.array(pic))
def test_crop_in_batch(): uri = "http://farm2.staticflickr.com/1129/4726871278_4dd241a03a_z.jpg" img = Image(uri) data = img.to_numpy() patches = img.crop( [Box2d(10, 10, 30, 30), Box2d(15, 15, 35, 35), Box2d(20, 20, 40, 40)]) assert len(patches) == 3 assert np.array_equal(patches[0].to_numpy(), data[10:30, 10:30, :]) assert np.array_equal(patches[1].to_numpy(), data[15:35, 15:35, :]) assert np.array_equal(patches[2].to_numpy(), data[20:40, 20:40, :])
def test_crop_real_image(): uri = "http://farm2.staticflickr.com/1129/4726871278_4dd241a03a_z.jpg" img = Image(uri) data = img.to_numpy() patch = img.crop(Box2d(10, 10, 30, 30)) assert np.array_equal(patch.to_numpy(), data[10:30, 10:30, :])
def test_image_use_https_uri(): img = Image(WIKIPEDIA) fobj = BytesIO(requests.get(WIKIPEDIA).content) pic = PIL.Image.open(fobj) assert np.array_equal(img.to_numpy(), np.array(pic))