2012-01-20 36 views
1

我用屏幕抓取屏幕抓取PIL圖像,將它們保存在隊列中並將它們寫入到jpg圖像序列中。減少內存中的PIL圖像大小

我使用生產者線程捕獲和工作者將圖像寫入磁盤。

但是我注意到,這個隊列真的很大,儘管寫入的輸出並不是真的那麼大,當用jpg壓縮時。這導致抓取被放入磁盤的擴展內存中,使得寫入過程更慢。由於我的數據突然爆發,我可以花費一些時間寫入磁盤,但是如果內存寫入磁盤,它會變得太慢。

有沒有辦法在將圖像添加到隊列中之前壓縮圖像?

歡呼聲,

回答

0

這裏有一個想法,因爲他們進來合併圖像

經過一段固定時間,或設置金額合併,壓縮圖像。將圖像分爲單獨的圖像。

/利潤

+0

不幸的是,這並不減少他們使用的內存量。 – tarrasch

+0

你只會在內存中的圖像。當大小達到某個閾值時,將其存儲在一個文件中。當隊列中存儲的文件名數量達到一定數量時,開始處理它們。或者,當空閒時間達到一定數量時,開始處理它們。 –