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

PIL圖像與數(shù)組之間轉(zhuǎn)換的使用示例

 更新時間:2024年12月05日 11:51:13   作者:微小冷  
本文介紹了使用Python的PIL庫和numpy庫進行圖像與數(shù)組之間的轉(zhuǎn)換,通過getpixel函數(shù)和putpixel函數(shù)可以實現(xiàn),具有一定的參考價值,感興趣的可以了解一下

getpixel

如果想對圖像進行細致地處理,那么操作像素是必不可少的一步。在Image類中,通過getpixel可以得到圖像在某個坐標位置處的像素值,示例如下

from PIL import Image
path = 'lena.jpg'
img = Image.open(path)  # 讀取

img.getpixel((15,15))
# (230, 130, 104)

其含義是,lena圖的 ( 15 , 15 ) (15,15) (15,15)這個位置處的RGB值為 ( 230 , 130 , 104 ) (230, 130, 104) (230,130,104)。如果想將所有像素,輸出到一個數(shù)組中,可以對像素點進行遍歷

import numpy as np

w, h = img.size
mat = np.zeros([w,h,3])

for y in range(h):
    for x in range(w):
        mat[y,x,:] = img.getpixel((x,y))

putpixel

與getpixel相對偶的函數(shù)是putpixel,其功能是寫入某個像素點,通過如下代碼,可以將mat中的每個像素點,填充到一個新的圖像中

pImg = Image.new("RGB", size=(w, h))
for y in range(h):
    for x in range(w):
        pImg.putpixel((x,y), tuple(mat[y,x,:].astype(int)))

【putpixel】的輸入?yún)?shù)分別是像素位置和像素值。這個過程十分耗時,處理一張 512 × 512 512\times512 512×512的圖像,甚至需要消耗掉1秒的時間,所以非常不建議這么使用。

快速轉(zhuǎn)換

PIL和numpy都是非常著名的Python庫,對彼此的數(shù)據(jù)類型自然也了然于胸,提供了便捷的轉(zhuǎn)換函數(shù),示例如下

m1 = np.asarray(img)
im1 = Image.fromarray(mat)

由此得到的m1與經(jīng)過單點迭代填充的mat,內(nèi)容完全相同。而經(jīng)過m1轉(zhuǎn)換得到的im1,圖像在保存之后,也與讀取得到的原圖沒有區(qū)別。

在這里插入圖片描述

到此這篇關(guān)于PIL圖像與數(shù)組之間的轉(zhuǎn)換的使用示例的文章就介紹到這了,更多相關(guān)PIL圖像與數(shù)組轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Python虛擬環(huán)境的原理及使用詳解

    Python虛擬環(huán)境的原理及使用詳解

    這篇文章主要介紹了Python虛擬環(huán)境的原理及使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 淺談Django REST Framework限速

    淺談Django REST Framework限速

    這篇文章主要介紹了淺談Django REST Framework限速,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python圖片的橫坐標漢字實例

    Python圖片的橫坐標漢字實例

    今天小編就為大家分享一篇Python圖片的橫坐標漢字實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python類繼承和多態(tài)原理解析

    Python類繼承和多態(tài)原理解析

    這篇文章主要介紹了python類繼承和多態(tài)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python3中l(wèi)ambda表達式與函數(shù)式編程講解

    Python3中l(wèi)ambda表達式與函數(shù)式編程講解

    今天小編就為大家分享一篇關(guān)于Python3中l(wèi)ambda表達式與函數(shù)式編程講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • pyqt6實現(xiàn)關(guān)閉窗口前彈出確認框的示例代碼

    pyqt6實現(xiàn)關(guān)閉窗口前彈出確認框的示例代碼

    本文主要介紹了pyqt6實現(xiàn)關(guān)閉窗口前彈出確認框的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • python 按鈕點擊關(guān)閉窗口的實現(xiàn)

    python 按鈕點擊關(guān)閉窗口的實現(xiàn)

    這篇文章主要介紹了python 按鈕點擊關(guān)閉窗口的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Pytorch通過保存為ONNX模型轉(zhuǎn)TensorRT5的實現(xiàn)

    Pytorch通過保存為ONNX模型轉(zhuǎn)TensorRT5的實現(xiàn)

    這篇文章主要介紹了Pytorch通過保存為ONNX模型轉(zhuǎn)TensorRT5的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 對Python Pexpect 模塊的使用說明詳解

    對Python Pexpect 模塊的使用說明詳解

    今天小編就為大家分享一篇對Python Pexpect 模塊的使用說明詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python自動化之定位方法大殺器xpath

    Python自動化之定位方法大殺器xpath

    selenium的幾種定位方法中,大殺器之一就是xpath方法,學會它,你將無所不能.本文就帶大家詳細了解一下這個大殺器,文中有非常詳細的介紹,需要的朋友可以參考下
    2021-05-05

最新評論