欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python生成各式各樣的圖像特效實(shí)例

 更新時(shí)間:2023年10月31日 11:00:52   作者:sgzqc  
這篇文章主要為大家介紹了Python生成圖像特效,本文重點(diǎn)介紹如何使用python進(jìn)行圖像處理,生成各式各樣的圖像特效,有需要的朋友可以借鑒參考下,希望能夠有所幫助

1. 引用

本文重點(diǎn)介紹如何使用python進(jìn)行圖像處理,生成各式各樣的圖像特效。閑話少說(shuō),我們直接開始吧!

2. 讀入圖像

首先我們來(lái)讀取我們的樣例圖像,并嘗試打印圖像中相應(yīng)元素的像素值。為了實(shí)現(xiàn)這一點(diǎn),我們使用Python中的Pillow子模塊進(jìn)行實(shí)現(xiàn),代碼如下:

from PIL import Image
img = Image.open('./landscape.jpg')
width, height = img.size
print(width, height)
for x in range(0, height):
    for y in range(0, width):
        (r, g, b) = img.getpixel((x, y))
        print(r, g, b)

如果我們運(yùn)行上面的代碼片段,我們可以在終端中看到圖像的寬和高,以及所有的像素值。其中每個(gè)像素值表示為3個(gè)整數(shù)值的元組,即紅色、綠色和藍(lán)色三個(gè)通道的對(duì)應(yīng)值。

3. 改變單個(gè)通道

現(xiàn)在,讓我們更新代碼來(lái)展示相應(yīng)的處理效果。為了實(shí)現(xiàn)這一點(diǎn),我們將首先創(chuàng)建一個(gè)相同大小的新的對(duì)象。

之后,我們將遍歷原始圖像的像素,并將它們復(fù)制到新圖像中。此外,我們將該修改新圖像綠色通道的像素值:

from PIL import Image
img = Image.open('./landscape.jpg')
width, height = img.size
print(width, height)
new_img = Image.new('RGB', (width, height))
for row in range(0, height):
    for col in range(0, width):
        (r, g, b) = img.getpixel((col, row))
        new_img.putpixel((col, row), (r, g + 50, b))
new_img.save("landscape_edited.png")

結(jié)果如下:

4. 黑白特效

為了實(shí)現(xiàn)基本的黑白特效,我們必須確保所有3個(gè)通道都具有相同的值。 讓我們?cè)俅蔚總€(gè)像素,并計(jì)算三個(gè)通道像素值的平均值:

rom PIL import Image
img = Image.open('./landscape.jpg')
width, height = img.size
print(width, height)
new_img = Image.new('RGB', (width, height))
for row in range(0, height):
    for col in range(0, width):
        (r, g, b) = img.getpixel((col, row))
        avg = int((r + g + b) / 3)
        new_img.putpixel((col, row), (avg, avg, avg))
new_img.save("landscape_black_and_white.jpg")

我們知道,像素值 RGB=(0,0,0)表示黑色像素;同時(shí)像素值RGB=(255,255,255)表示白色像素;中間其他取值表示灰色像素值;運(yùn)行上述代碼,得到結(jié)果如下:

5. 顏色反轉(zhuǎn)

看懂了上述代碼,那么顏色反轉(zhuǎn)的實(shí)現(xiàn)現(xiàn)在應(yīng)該會(huì)很簡(jiǎn)單!

簡(jiǎn)單來(lái)說(shuō)。我們的目標(biāo)是將黑色像素(0,0,0)轉(zhuǎn)換為白色像素(255,255,255)。為了實(shí)現(xiàn)這一點(diǎn),我們將通過(guò)從255中減去舊像素的值來(lái)創(chuàng)建新像素,代碼如下:

from PIL import Image
img = Image.open('./landscape.jpg')
width, height = img.size
print(width, height)
new_img = Image.new('RGB', (width, height))
for row in range(0, height):
    for col in range(0, width):
        (r, g, b) = img.getpixel((col, row))
        inverted_pixel = (255 - r, 255-g, 255-b)
        new_img.putpixel((col, row), inverted_pixel)
new_img.save("landscape_edited.jpg")

得到結(jié)果如下:

6. 合并

最后,讓我們將圖像拆分成四個(gè)子部分,并將本節(jié)所學(xué)內(nèi)容充分利用起來(lái):

from PIL import Image
img = Image.open('./landscape.jpg')
width, height = img.size
print(width, height)
new_img = Image.new('RGB', (width, height))
for row in range(0, height):
    for col in range(0, width):
        (r, g, b) = img.getpixel((col, row))
        if col < width * 0.25:
            (r, g, b) = (r, g, b)
        elif col < width * 0.5:
            avg = int((r + g + b) / 3)
            (r, g, b) = (avg, avg, avg)
        elif col < width * 0.75:
            (r, g, b) = (r, g + 50, b)
        else:
            (r, g, b) = (255 - r, 255 - g, 255 - b)
        new_img.putpixel((col, row), (r, g, b))
new_img.save("landscape_edited.jpg")

得到結(jié)果如下:

鼓勵(lì)大家使用代碼,并嘗試新的組合和效果。歡迎在評(píng)論中分享大家的成果!

7. 總結(jié)

本文使用簡(jiǎn)單的python代碼實(shí)現(xiàn)了各種各樣的圖像特效,可以方便大家進(jìn)行自由組合成更加酷炫的效果。

更多關(guān)于Python生成圖像特效的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 留一交叉驗(yàn)證的實(shí)例

    python 留一交叉驗(yàn)證的實(shí)例

    這篇文章主要介紹了python 留一交叉驗(yàn)證的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python decimal模塊使用方法詳解

    Python decimal模塊使用方法詳解

    這篇文章主要介紹了Python decimal模塊使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python命令行參數(shù)解析工具 docopt 安裝和應(yīng)用過(guò)程詳解

    Python命令行參數(shù)解析工具 docopt 安裝和應(yīng)用過(guò)程詳解

    這篇文章主要介紹了Python命令行參數(shù)解析工具 docopt 安裝和應(yīng)用過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python的列表List求均值和中位數(shù)實(shí)例

    python的列表List求均值和中位數(shù)實(shí)例

    這篇文章主要介紹了python的列表List求均值和中位數(shù)實(shí)例,具有很好對(duì)參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 如何在Windows下載、安裝Python和配置環(huán)境(新手、保姆級(jí)教程)

    如何在Windows下載、安裝Python和配置環(huán)境(新手、保姆級(jí)教程)

    本文詳細(xì)介紹了如何在Windows系統(tǒng)上下載、安裝Python以及配置環(huán)境變量,通過(guò)步驟說(shuō)明,即使是新手也能順利完成Python的安裝,并驗(yàn)證其是否成功,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Python 使用SFTP和FTP實(shí)現(xiàn)對(duì)服務(wù)器的文件下載功能

    Python 使用SFTP和FTP實(shí)現(xiàn)對(duì)服務(wù)器的文件下載功能

    這篇文章主要介紹了Python 使用SFTP和FTP實(shí)現(xiàn)對(duì)服務(wù)器的文件下載功能,本文通過(guò)實(shí)例代碼給大家介紹的非常想詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 在Python中使用__slots__方法的詳細(xì)教程

    在Python中使用__slots__方法的詳細(xì)教程

    這篇文章主要介紹了在Python中使用__slots__方法的詳細(xì)教程,__slots__方法是Python的一個(gè)重要內(nèi)置類方法,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • python 腳本生成隨機(jī) 字母 + 數(shù)字密碼功能

    python 腳本生成隨機(jī) 字母 + 數(shù)字密碼功能

    本文通過(guò)一小段簡(jiǎn)單的代碼給大家分享基于python 腳本生成隨機(jī) 字母 + 數(shù)字密碼功能,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • Python?httpstat命令行工具功能使用探索

    Python?httpstat命令行工具功能使用探索

    Python?httpstat是一個(gè)強(qiáng)大的命令行工具,用于深入了解HTTP請(qǐng)求的性能和狀態(tài)信息,本文將介紹Python?httpstat的基本用法、功能特性、示例代碼以及實(shí)際應(yīng)用場(chǎng)景,幫助大家更好地理解和利用這個(gè)有用的工具
    2024-01-01
  • Python實(shí)現(xiàn)柵欄密碼的加密解密方法詳解

    Python實(shí)現(xiàn)柵欄密碼的加密解密方法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)柵欄密碼的加密解密方法,所謂柵欄密碼,就是把要加密的明文分成N個(gè)一組,然后把每組的第1個(gè)字連起來(lái),形成一段無(wú)規(guī)律的話。不過(guò)柵欄密碼本身有一個(gè)潛規(guī)則,就是組成柵欄的字母一般不會(huì)太多
    2023-01-01

最新評(píng)論