删除黑色边框并保持图像大小相同 python

Remove the black border and keep the image size same in python

我正在将图像旋转 45 度。当我旋转图像时,它有一个黑色边框,图像大小从 256x256 变为 364x364。我想删除这个黑色边框的值并保持尺寸 256。如果我在枕头中填充颜色,那么黑色边框会消失但尺寸仍然相同。有什么方法可以去除黑色边框并保留原来的形状

要轮换的代码

path = "E:\download\1.jpeg"
image = cv2.imread(path)
rotated = imutils.rotate_bound(image, -33)

原图

旋转图片

在旋转图像的同时保持形状根本不可能以您想要的方式进行。就像旋转一张square-shapedsheet的纸一样,水平宽度会随着旋转例如45°。如果您现在在 256x256 上裁剪图像,您将再次在图像中获得黑色区域(参见下面的示例)。所以你会把它裁剪得更多或放大。

您可以尝试根据需要裁剪图片的一部分。虽然 python 中的裁剪可以以像素的形式进行。因此,您可以尝试根据需要裁剪图像。 以下代码可能会帮助您裁剪

im=Image.open(r"specify the path of the image")`

width, height = im.size

left = "specify the value in pixels"
top = "specify the value in pixels"
right = "specify the value in pixels"
bottom = "specify the value in pixels"
# Cropped image of above dimension
# (It will not change original image)
im1 = im.crop((left, top, right, bottom))
#im1.show()
im1.save('specify destination path')