def process(self, im):
if self.crop:
(h, w, _) = im.shape
nw, nh = self.rotatedRectWithMaxArea(w, h, math.radians(self.degrees))
rotated = transform.rotate(im, self.degrees, resize=True)
(rh, rw, _) = rotated.shape
image_size = (rw, rh)
image_center = (int(image_size[0] * 0.5), int(image_size[1] * 0.5))
x1 = int(image_center[0] - nw * 0.5)
x2 = int(image_center[0] + nw * 0.5)
y1 = int(image_center[1] - nh * 0.5)
y2 = int(image_center[1] + nh * 0.5)
rotated_cropped = rotated[y1:y2, x1:x2, :]
return rotated_cropped
else:
return transform.rotate(im, self.degrees, resize=True)
评论列表
文章目录