簡體   English   中英

在Python中將所有RGB像素的亮度降低20%?

[英]Lower the brightness of all RGB pixels by 20% in Python?

我一直在嘗試用Python教自己一些更高級的方法,但是似乎找不到與該問題類似的東西作為我的代碼的基礎。

第一個問題:這是在終端中顯示圖像以安裝Pillow的唯一方法嗎? 我寧願不這樣做,因為我正嘗試向初學者學習所學內容。 我的image.show()函數什么都不做。

第二個問題:將圖像中所有RGB像素的亮度降低20%的最佳方法是什么? 我下面的內容對更改亮度沒有任何作用,但也可以完全編譯。 就導入最少的庫而言,我更喜歡采用最簡單的方法。

第三個問題:如何制作新圖片而不是更改原始圖片? (即從“ image.jpg”創建較低的亮度20%,即“ image-decreasedBrightness.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)

要將圖像另存為文件,文檔中有一個示例:

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

要獲得更深入的解決方案,請獲取優質的飲料,找到一個舒適的地方坐下來享受閱讀的樂趣: 枕頭3.4.x文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM