0

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

旋转代码

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

原始图像

原始图像

旋转图像

旋转图像

4

2 回答 2

1

以您想要的方式在旋转图像时保持形状根本不可能。就像旋转一张正方形的纸一样,当旋转 45° 时,水平宽度会扩大。如果您现在将图像裁剪为 256x256,您将再次获得图像中的黑色区域(参见下面的示例)。因此,您将不得不对其进行更多裁剪或放大。

裁剪图像示例,请单击此处

于 2022-01-30T21:15:29.633 回答
0

您可以尝试将图像裁剪为您想要的图像的一部分。尽管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')
于 2022-01-30T21:25:11.393 回答