예제 #1
0
    def zero_pad(image, target, h, w):
        oh, ow = get_tensor_image_size(target)
        pad_h = h - oh if oh < h else 0
        pad_w = w - ow if ow < w else 0
        image = F.pad(image, (0, 0, pad_w, pad_h), fill=0)
        target = F.pad(target, (0, 0, pad_w, pad_h), fill=255)

        return image, target
예제 #2
0
    def __call__(self, img, target):
        """
        Args:
            img (PIL Image): Image to be cropped.

        Returns:
            PIL Image: Cropped image.
        """
        if self.padding > 0:
            img = F.pad(img, self.padding)
            target = F.pad(target, self.padding)

        i, j, h, w = self.get_params(img, self.size)

        return F.crop(img, i, j, h, w), F.crop(target, i, j, h, w),
예제 #3
0
 def __call__(self, img):
     """
     Args:
         img (numpy ndarray): Image to be padded.
     Returns:
         numpy ndarray: Padded image.
     """
     return F.pad(img, self.padding, self.fill, self.padding_mode)
예제 #4
0
 def __call__(self, img):
     """
     Args:
         img (PIL Image): Image to be padded.
     Returns:
         PIL Image: Padded image.
     """
     return F.pad(img, self.padding, self.fill)
예제 #5
0
    def __call__(self, img):
        """
        Args:
            img (PIL Image): Image to be cropped.

        Returns:
            PIL Image: Cropped image.
        """
        if self.padding > 0:
            img = F.pad(img, self.padding)

        # pad the width if needed
        if self.pad_if_needed and img.size[0] < self.size[1]:
            img = F.pad(img, (int((1 + self.size[1] - img.size[0]) / 2), 0))
        # pad the height if needed
        if self.pad_if_needed and img.size[1] < self.size[0]:
            img = F.pad(img, (0, int((1 + self.size[0] - img.size[1]) / 2)))

        i, j, h, w = self.get_params(img, self.size)

        return F.crop(img, i, j, h, w)
예제 #6
0
    def __call__(self, img):
        """
        Args:
            img (numpy ndarray): Image to be cropped.
        Returns:
            numpy ndarray: Cropped image.
        """
        if self.padding is not None:
            img = F.pad(img, self.padding, self.fill, self.padding_mode)

        # pad the width if needed
        if self.pad_if_needed and img.shape[1] < self.size[1]:
            img = F.pad(img, (self.size[1] - img.shape[1], 0), self.fill,
                        self.padding_mode)
        # pad the height if needed
        if self.pad_if_needed and img.shape[0] < self.size[0]:
            img = F.pad(img, (0, self.size[0] - img.shape[0]), self.fill,
                        self.padding_mode)

        i, j, h, w = self.get_params(img, self.size)

        return F.crop(img, i, j, h, w)
예제 #7
0
    def __call__(self, sample):
        """
        Args:
            img (PIL Image): Image to be cropped.

        Returns:
            PIL Image: Cropped image.
        """

        if self.padding > 0:
            sample = F.pad(sample, self.padding)

        (img, target) = sample
        i, j, h, w = self.get_params(img, self.size)

        return F.crop(sample, i, j, h, w)
예제 #8
0
 def __call__(self, img):
     return F.pad(img, self.pad_width, self.mode)