gpt4 book ai didi

python - 使用 PPM 文件在 python 中将图像转换为 ASCII。不允许 PIL

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:54 26 4
gpt4 key购买 nike

在项目方面需要一点帮助/指导。我们的任务是获取一个 .ppm 文件(我们需要测试的文件可以在这里找到:http://beastie.cs.ua.edu/cs250/projects/asciiart/tux.ppm)并使用 ascii 字符在屏幕上重新打印出来。我们需要将像素转换为灰度。这真的是我被困的地方。无法弄清楚如何读取每三个元素(因为每三个元素在 PPM 文件中是一个像素),将它们转换为灰度并继续。再次不允许使用 PIL。任何有关要阅读的内容的帮助或链接都很棒!

最佳答案

PPM 不难解析。

标题:

P3
50 50
255
  • P3 表示图像是 ASCII 像素图(颜色)。
  • 50 50 是宽度和高度。
  • 255 是最大颜色值。

正文:

254 254 252 254 254 252 254 254 252 254 254 252 254 254 252 254 254 252 
254 254 252 254 254 252 254 254 252 254 254 252 254 254 252 254 254 252
254 254 252 254 254 252 254 254 252 253 255 250 239 244 237 251 255 248
234 236 231 255 255 251 252 251 249 255 254 251 253 248 242 255 255 244
...

只需删除所有换行符:

body.replace('\n', ' ')

并将其解析为三元组(不太优雅):

raw = body.split(' ')

for i in range(0, len(raw), 3):
red = raw[i]
green = raw[i + 1]
blue = raw[i + 2]

关于python - 使用 PPM 文件在 python 中将图像转换为 ASCII。不允许 PIL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com