def test_resize(self): """ test resize """ img = self.img_data op_class = 'pil' img_size = (200, 100) pil_data = run_ops( [ ops.DecodeImage(op_class=op_class), ops.ResizeImage( op_class=op_class, size=img_size) ], img) self.assertEqual(type(pil_data), PIL.Image.Image) pil_data = np.array(pil_data) op_class = 'opencv' opencv_data = run_ops( [ ops.DecodeImage(op_class=op_class), ops.ResizeImage( op_class=op_class, size=img_size) ], img) self.assertEqual(type(opencv_data), np.ndarray) self.assertEqual(pil_data.shape, opencv_data.shape) self.assertEqual(pil_data.shape, (100, 200, 3))
def test_randcrop(self): """ test random crop """ img = self.img_data img_size = (200, 100) crop_size = (50, 20) op_class = 'pil' pil_data = run_ops( [ ops.DecodeImage(op_class=op_class), ops.ResizeImage( size=img_size, op_class=op_class), ops.RandCropImage( crop_size, op_class=op_class) ], img) self.assertEqual(type(pil_data), PIL.Image.Image) pil_data = np.array(pil_data) op_class = 'opencv' opencv_data = run_ops( [ ops.DecodeImage(op_class=op_class), ops.ResizeImage( size=img_size, op_class=op_class), ops.RandCropImage( crop_size, op_class=op_class) ], img) self.assertEqual(type(opencv_data), np.ndarray) self.assertEqual(pil_data.shape, opencv_data.shape) self.assertEqual(pil_data.shape, (crop_size[1], crop_size[0], 3))
def test_decode(self): """ test decode """ img = self.img_data op_class = 'pil' pil_data = run_ops([ops.DecodeImage(op_class=op_class)], img) self.assertEqual(type(pil_data), PIL.JpegImagePlugin.JpegImageFile) pil_data = np.array(pil_data) op_class = 'opencv' opencv_data = run_ops([ops.DecodeImage(op_class=op_class)], img) self.assertEqual(type(opencv_data), np.ndarray) self.assertEqual(pil_data.shape, opencv_data.shape)
def get_ops(img_size=224, op_class='pil', normalize=True): """ a image mapper for training data """ img_ops = [ops.DecodeImage(op_class=op_class)] #if op_class == 'pil': # img_ops += [ops.RandDistortColor(op_class='pil')] # only exist in pil img_ops += [ops.RotateImage(10, rand=True, op_class=op_class)] img_ops += [ops.RandCropImage(img_size, op_class=op_class)] img_ops += [ops.RandFlipImage(op_class=op_class)] img_ops += [ops.ToCHWImage(op_class=op_class)] if normalize: img_ops += [ops.NormalizeImage(op_class=op_class)] return img_ops