Python - 旋转图像而不使用内置的旋转方法



如何在 OpenCV 库的帮助下,通过更改图像的高度和宽度值(不使用 OpenCV 中的内置旋转方法(在 Python 中旋转图像。它必须使用两个嵌套循环来实现。

img=cv2.imread('Images/Screenshot.png',cv2.IMREAD_GRAYSCALE)
height, width = img.shape
# for i in range(0,height):
#     for j in range(0,width):
#         img[i][j]=
# show rotated image
cv2.imshow("image",img)

感谢您的关注!

如果你需要在OpenCV中进行简单的旋转,它是内置的:

img=cv2.imread('Images/Screenshot.png',cv2.IMREAD_GRAYSCALE)
imgrot = cv2.rotate(img,cv2.ROTATE_90_CLOCKWISE)

其他可能性是cv2.ROTATE_90_COUNTERCLOCKWISEcv2.ROTATE_180

它必须是OpenCv吗?因为如果没有,您可以使用 PIL 轻松完成:

from PIL import Image
def rotate_img(img_path, rt_degr):
img = Image.open(img_path)
return img.rotate(rt_degr, expand=1)
img_rt_90 = rotate_img('Images/Screenshot.png', 90)
img_rt_90.save('img_rt_90.png')

我使用 PIL 包,这样做非常简单。

from PIL import Image
path = '/Users/diegodsp/sample.jpg'
img = Image.open(path)
img = img.rotate(90) # 90, -90, 180, ...
img.save(path) # to override your old file

最新更新