2012-10-16 39 views
1

我有一個Python腳本,在禁用GUI的BeagleBoard上全屏顯示圖像。腳本在電路板啓動時啓動。爲此,我使用PyGame,它工作得很好。除了某些原因,圖像質量被縮小。由於圖像存儲在總部,我認爲PyGame重新採樣圖像。我無法找出這可以改變的地方,所以我決定取代PyGame,它也似乎有點「只」顯示圖像。在Linux上用Python顯示圖像Angstrom

我有下面的代碼來顯示圖像。根據文檔,默認圖像查看器將顯示圖像。 (這應該是XV)。但只要我運行下面的代碼,其中圖像是一個文件路徑,我會得到「sh:xv:not found」。

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

因此,我試圖安裝XV軟件包,但無法找到如何安裝它的Angstrom。

我的問題可能是「如何用Python全屏顯示圖像?」 (答案應該是上面的代碼)。或者問題是「我怎樣才能在Angstrom上安裝XV?」 (什麼是opkg包名安裝)

我做了搜索,但沒有發現東西的作品......

回答

1

Image.show() PIL中更傾向於調試比實際生產中使用。它被硬編碼爲xv <temp-image-file-pil-creates>。你可以繞過這個(創建一個名爲xv的符號鏈接,它會調用其他圖像查看器),但它仍然是一個相當糟糕的方式。

我不太瞭解BeagleBoard來告訴你全屏顯示圖像的最佳/規範方法,但是如果你在PyGame中途有一半的地方,也許你可以發佈你的代碼,社區可以幫助你修復品質問題。

如果圖像縮小以適合屏幕,則可以使用transform.smoothscale手動縮放圖像(以避免丟失質量)。

+0

我會發佈一個新問題,試圖讓PyGame不壓縮圖像。使用你的建議,我發現壓縮發生在載入文件和轉換之間。因爲精確的低質量效果可以通過transform.smoothscale進行縮放 – Ruudt