图像的水平翻转[python]

2024-09-27 23:26:19 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我需要水平翻转一个图像,意思是相对于水平轴,比如这个图片enter image description here

但是,我的问题是它在垂直轴上翻转,如图enter image description here

这是我现在的密码。有人能解释一下我需要做的改变吗?图像.gif是我想要翻转的图像。我之所以将新图像设置为如下所示的新位置,是因为我希望图像与旧图像出现在同一窗口中。它做到了!只垂直翻转而不是水平翻转。在

from cImage import*
def horizentalFlip(oldimage):
    myimagewindow = ImageWin("image",1000,600)
    oldimage = FileImage("image.gif")
    oldimage.draw(myimagewindow)
    oldw = oldimage.getWidth()
    oldh = oldimage.getHeight()

    newImage = EmptyImage(oldw,oldh)

    maxp = oldw - 1
    for row in range(oldh):
        for col in range(oldw):
            oldpixel = oldimage.getPixel(maxp-col,row)
            newImage.setPixel(col,row,oldpixel)
    newImage.setPosition(oldw+1,0)
    newImage.draw(myimagewindow)
    myimagewindow.exitOnClick()

谢谢你


Tags: in图像imagefor水平colgifrow
1条回答
网友
1楼 · 发布于 2024-09-27 23:26:19

你想要的翻转类型(围绕x轴的反射,你的第一张图片)通常被称为“垂直”翻转,而围绕y轴(第二张图片)的反射通常称为水平翻转。在

抛开反射轴的术语,如果你理解的话。这是因为以下几行:

  maxp = oldw - 1
  ...
        oldpixel = oldimage.getPixel(maxp-col,row)

操作宽度(w)、列(col)和每个^{调用的第一个坐标参数:所有这些概念都与每个像素的水平坐标的操作有关。但是要更改每个像素的垂直坐标,因此需要处理高度、行和第二个坐标参数:

^{pr2}$

相关问题 更多 >

    热门问题