def tranfun(self, image):
     image = getpilimage(image)
     w, h = image.size
     rate = np.random.random() * (self.max_rate -
                                  self.min_rate) + self.min_rate
     w2 = int(w * rate)
     image = image.resize((w2, h))
     return image
 def tranfun(self, image):
     image = getpilimage(image)
     num_noise = int(image.size[1] * image.size[0] * self.rate)
     # assert len(image.split()) == 1
     for k in range(num_noise):
         i = int(np.random.random() * image.size[1])
         j = int(np.random.random() * image.size[0])
         image.putpixel((j, i), int(np.random.random() * 255))
     return image
    def tranfun(self, image_and_loc):
        image, left, top, right, bottom = image_and_loc
        w, h = image.size
        left = np.clip(left, 0, w - 1)
        right = np.clip(right, 0, w - 1)
        top = np.clip(top, 0, h - 1)
        bottom = np.clip(bottom, 0, h - 1)
        img = trans_utils.getcvimage(image)
        try:
            # global index
            res = getpilimage(img[top:bottom, left:right])
            # res.save('test_imgs/crop-debug-{}.jpg'.format(index))
            # index+=1
            return res
        except AttributeError as e:
            print('error')
            image.save('test_imgs/t.png')
            print(left, top, right, bottom)

        h = bottom - top
        w = right - left
        org = np.array(
            [[
                left - np.random.randint(0, self.maxv_w),
                top + np.random.randint(-self.maxv_h, self.maxv_h // 2)
            ],
             [
                 right + np.random.randint(0, self.maxv_w),
                 top + np.random.randint(-self.maxv_h, self.maxv_h // 2)
             ],
             [
                 left - np.random.randint(0, self.maxv_w),
                 bottom - np.random.randint(-self.maxv_h, self.maxv_h // 2)
             ],
             [
                 right + np.random.randint(0, self.maxv_w),
                 bottom - np.random.randint(-self.maxv_h, self.maxv_h // 2)
             ]], np.float32)
        dst = np.array([[0, 0], [w, 0], [0, h], [w, h]], np.float32)
        M = cv2.getPerspectiveTransform(org, dst)
        res = cv2.warpPerspective(img, M, (w, h))
        return getpilimage(res)
 def tranfun(self, image):
     img = trans_utils.getcvimage(image)
     h, w = img.shape[:2]
     org = np.array([[0, np.random.randint(0, self.maxv)],
                     [w, np.random.randint(0, self.maxv)],
                     [0, h - np.random.randint(0, self.maxv)],
                     [w, h - np.random.randint(0, self.maxv)]], np.float32)
     dst = np.array([[0, 0], [w, 0], [0, h], [w, h]], np.float32)
     M = cv2.getPerspectiveTransform(org, dst)
     res = cv2.warpPerspective(img, M, (w, h))
     return getpilimage(res)
 def tranfun(self, image):
     image = getpilimage(image)
     sha = ImageEnhance.Sharpness(image)
     return sha.enhance(random.uniform(self.lower, self.upper))
 def tranfun(self, image):
     image = getpilimage(image)
     col = ImageEnhance.Color(image)
     return col.enhance(random.uniform(self.lower, self.upper))
 def tranfun(self, image):
     image = getpilimage(image)
     bri = ImageEnhance.Brightness(image)
     return bri.enhance(random.uniform(self.lower, self.upper))
 def tranfun(self, image):
     image = getpilimage(image)
     image = image.filter(ImageFilter.GaussianBlur(radius=1))
     # blurred_image = image.filter(ImageFilter.Kernel((3,3), (1,1,1,0,0,0,2,0,2)))
     # Kernel
     return image
 def tranfun(self, image):
     image = getpilimage(image)
     rot = random.uniform(self.lower, self.upper)
     trans_img = image.rotate(rot, expand=True)
     # trans_img.show()
     return trans_img