1

我有一个 Python 脚本,可以在禁用 GUI 的 BeagleBoard 上全屏显示图像。该脚本在板启动时启动。为此,我使用 PyGame,它工作得非常好。除非出于某种原因,图像质量会按比例缩小。因为图像存储在 HQ 中,所以我假设 PyGame 会重新采样图像。我无法找到可以更改的位置,因此我决定替换 PyGame,“仅”显示图像似乎也有点过分。

我有下面的代码来显示图像。根据文档,默认图像查看器将显示图像。(应该是 XV)。但是,一旦我运行下面的代码,其中图像是文件路径,我就会得到“sh:xv:not found”。

from PIL import Image
im = Image.open(image)
im.show()

所以我尝试安装 XV 包,但找不到如何为 Angstrom 安装它。

我的问题可能是“如何使用 Python 全屏显示图像?” (答案应该是上面的代码)。或者问题是“我怎样才能在 Angstrom 上安装 XV?” (opkg install 的包名是什么)

我确实搜索过,但没有找到有效的东西......

4

1 回答 1

1

Image.show()在 PIL 中,更多的是用于调试而不是实际的生产用途。调用是硬编码的xv <temp-image-file-pil-creates>。您可以解决这个问题(创建一个名为的符号链接xv,该链接将调用其他图像查看器),但这仍然是一种相当糟糕的方法。

我对 BeagleBoard 了解不多,无法告诉您全屏显示图像的最佳/规范方式,但如果您使用 PyGame 到了一半,也许您可​​以发布您的代码,社区可以帮助您解决质量问题。

如果图像被缩小以适应屏幕,您可能会考虑使用transform.smoothscale手动缩放图像(以避免丢失质量)。

于 2012-10-16T10:50:32.647 回答