我有一个 Python 脚本,可以在禁用 GUI 的情况下在 BeagleBoard 上全屏显示图像。该脚本在板启动时启动。为此,我使用 PyGame,它工作得很好。除某些原因外,图像质量会按比例缩小。因为图像存储在 HQ 中,所以我假设 PyGame 对图像进行了重新采样。我无法找到可以更改的位置,因此我决定替换 PyGame,“仅”显示图像似乎也有点过分。
我有下面的代码来显示图像。根据文档,默认图像查看器将显示图像。 (这应该是XV)。但是,一旦我运行下面的代码(其中图像是文件路径),我就会得到“sh:xv:找不到”。
from PIL import Image
im = Image.open(image)
im.show()
所以我尝试安装 XV 软件包,但找不到如何为 Angstrom 安装它。
我的问题可能是“如何使用 Python 全屏显示图像?” (答案应该是上面的代码)。或者问题是“如何在 Angstrom 上安装 XV?” (opkg install的包名是什么)
我进行了搜索,但没有找到有效的东西...
最佳答案
Image.show()
PIL 更适合调试而不是实际的生产使用。它被硬编码为调用 xv <temp-image-file-pil-creates>
。您可以解决这个问题(创建一个名为 xv
的符号链接(symbolic link),它将调用其他一些图像查看器),但这仍然是一个相当糟糕的方法。
我对 BeagleBoard 的了解不够,无法告诉您全屏显示图像的最佳/规范方式,但如果您使用 PyGame 做到了一半,也许您可以发布您的代码,社区可以帮助您修复质量问题。
如果图像缩小以适应屏幕,您可以考虑使用 transform.smoothscale手动缩放图像(以避免质量下降)。
关于python - 在 Linux Angstrom 上使用 Python 显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12912883/