繁体   English   中英

.ppm 镜像镜像颠倒且质量低下

[英].ppm image mirrored is upside down and low quality

我有这个程序应该镜像一个.ppm图像。

但是,它会产生倒置的镜像。 如何防止它翻转图像?

代码:

takePPM = input("Enter the pmm file name: ")
try:
    openFile = open(takePPM, "r")
    readFile = openFile.readlines()
except FileNotFoundError:
    print("File not found")
    exit(1)
lists = []
for row in readFile[3:]:
    lists.append(row.split())

#convert each list in lists to lists of 3-tuples
target = []
for list in lists:
    target.append([tuple(list[i:i+3]) for i in range(0,len(list),3)])
revList = []
for i in reversed(target):
    revList.append(i)

string = ''
for row in revList:
    for pixel in row:
        for value in pixel:
            string += value + ' '
    string+='\n'


newFile = open("Mirror_" + takePPM, "w")
newFile.write((readFile[0]))
newFile.write((readFile[1]))
newFile.write((readFile[2]))
newFile.write(string)

输入: 在此处输入图像描述

预期 output: 在此处输入图像描述

我得到了什么:

在此处输入图像描述

好吧,水平镜像也是镜像。 :-)

看起来您假设输入文件中每一行像素都会有一行。 这是危险的; 不能保证会出现这种情况。

无论如何,如果您的假设成立,那么lists将包含每行的三元组列表。 然后,您颠倒这些列表的顺序,而不是颠倒每行中三元组的顺序!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM