小编Rom*_*tas的帖子

PNG到PGM的转换没有质量损失

所以,我有一个PNG图像文件,如下例所示,我需要将其转换为PGM格式.

在此输入图像描述

我正在使用Ubuntu和Python,因此任何终端或Python工具都适合.确实有很多方法可以做到这一点:使用ImageMagick'convert'命令或pngtopam包或Python PIL库等.

但关键是,在我的情况下,图像的质量是必不可少的,并且所有这些都未能保持它,总是最终得到:

在此输入图像描述

没必要提到这完全不是我想要看到的.有趣的是,当我尝试使用GIMP手动将同一图像转换为PGM时,结果非常好,完全按照我喜欢的方式,即与PNG相同.

因此,这意味着它有可能获得在精细品质PGM图像毕竟,现在我真的很感激,如果有人可以告诉我,我这样做,使用终端/ Python的工具怎么办.我想,应该有一些ImageMagick选项可以解决问题,只是我不知道任何问题.

python png imagemagick pgm imagemagick-convert

3
推荐指数
1
解决办法
4128
查看次数

Python if-elif语句命令

我遇到了一个看似非常基本和简单的问题,但是我无法找到一个合适而优雅的方法来解决它.

情况是:有一个球员可以移动 - 让我们说向上.移动时,他可能遇到一些障碍 - 让我们说树木.他可以使用像这样的非常简单的算法绕过它们:

if   <the obstacle has a free tile on its RIGHT>:
  move_right() 
elif <the obstacle has a free tile on its LEFT>:
  move_left()
else:
  stop()
Run Code Online (Sandbox Code Playgroud)

嗯,它的效果非常好,但是有一个缺点:如果障碍物从右侧和左侧都有免费的瓷砖,那么它可以从两侧绕过,玩家总是从右侧绕过它.它几乎可以解释,但仍然不那么酷.

想法是添加一些变化并以某种方式随机化玩家检查瓦片可用性的顺序,因此如果两者都是空闲的,他可以不一定向右移动,而是随机移动.而且我必须承认,我无法想出如何以简单而美丽的方式做到这一点.

基本上,解决方案应该是这样的......

if random(0, 1) == 0:
  if   <the obstacle has a free tile on its RIGHT>:
    move_right() 
  elif <the obstacle has a free tile on its LEFT>:
    move_left()
  else:
    stop()
else:
  if   <the obstacle has a free tile on its LEFT>:
    move_left()
  elif <the obstacle has a free …
Run Code Online (Sandbox Code Playgroud)

python random if-statement

1
推荐指数
1
解决办法
381
查看次数