2016-10-04 121 views
0

我一直在教自己更高級的Python方法,但似乎無法找到任何類似於這個問題的代碼。在Python中將所有RGB像素的亮度降低20%?

第一個問題:這是唯一能在終端上顯示圖像以安裝Pillow的方法嗎?我寧願不去,因爲我正試圖教給我一個初學者學到的東西。我的image.show()函數不會執行任何操作。

第二個問題:將圖像中所有RGB像素的亮度降低20%的最佳方法是什麼?我下面的內容對改變亮度沒有任何幫助,但它也可以完全編譯。就導入最小的庫而言,我寧願選擇最簡單的方法。

第三個問題:我如何製作新照片而不是更改原件? (IE-較低的亮度20%,「image-decreaseBrightness.jpg」是從「image.jpg」創建的)

這是我的代碼 - 抱歉,格式不正確。每次我嘗試縮進時,都會將其縮小到標籤欄。

import Image 
import ImageEnhance 

fileToBeOpened = raw_input("What is the file name? Include file type.") 
image = Image.open(fileToBeOpened) 

def decreaseBrightness(image): 
    image.show() 
    image = image.convert('L') 
    brightness = ImageEnhance.Brightness(image) 
    image = brightness.enhance(20) 
    image.show() 
    return image 

decreaseBrightness(image) 
+0

嗯,基本的問題是:你想使用一些質量庫,並寫一些容易理解的行,或者你想從頭開始編寫它,並必須自己實現最模糊和醜陋的功能(在字節級解析;也許顏色轉換,...​​)。我一直比較喜歡前者(如果圖書館真的很好,如果我可以在許可/安裝方面使用它們)。枕頭是候選人; scikit-image更好! – sascha

回答

0

將圖像保存爲文件,有對文檔的一個例子:

from PIL import ImageFile 

fp = open("lena.pgm", "rb") 

p = ImageFile.Parser() 

while 1: 
    s = fp.read(1024) 
    if not s: 
     break 
    p.feed(s) 

im = p.close() 

im.save("copy.jpg") 

的主要功能是im.save

想要更深入的解決方案,可以找一個好飲料,找個舒服的地方坐下來享受你的閱讀: Pillow 3.4.x Documentation

+2

優秀的詳細說明 –

+0

所以唯一的辦法就是導入枕頭... –

+0

應該是*最簡單*的方式。真的嘗試閱讀'Pillow.ImageFile'的文檔。 –