杠铁咸鱼 2023-10-21 22:55 采纳率: 0%
浏览 5

Python的嵌套循环的逆时针旋转哪里出问题了

img


Python的嵌套循环实现图像的逆时针旋转90度,不知道哪里出问题了

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-22 09:10
    关注

    【以下回答由 GPT 生成】

    问题原因:

    这个错误是由于旋转图像时,计算像素点位置的公式有误导致的。在逆时针旋转图像时,新图像的宽度和高度需要互换,而且在putpixel()函数中,像素点的坐标也需要进行调整。

    解决方案:

    在代码中,需要将旋转后的宽度和高度互换,并且在putpixel()函数中,像素点的坐标也需要进行调整。

    以下是修正后的代码:

    import PIL.Image
    from PIL import Image
    
    def rotate_image(im, orient='CCW'):
        width, height = im.size
        im_new = PIL.Image.new(im.mode, (height, width)) # 将图像的宽度和高度互换
        for i in range(0, width):
            for j in range(0, height):
                pix = im.getpixel((i, j))
                if orient == 'CCW':
                    im_new.putpixel((height-1-j, i), pix) # 调整像素点的坐标
                elif orient == 'CW':
                    im_new.putpixel((j, width-1-i), pix) # 调整像素点的坐标
        return im_new
    
    im = PIL.Image.open('mywife.jpg')
    rotate_image(im, orient='CCW').show()
    

    通过以上修改,应该可以成功实现逆时针旋转图像90度的功能了。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 10月21日