最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python技巧之實現(xiàn)批量統(tǒng)一圖片格式和尺寸

 更新時間:2023年05月06日 14:13:02   作者:逃逸的卡路里  
大家在工作的時候基本都會接觸到很多的圖片,有時為了不同的工作需求需要修改圖片的尺寸或者大小。本文為大家整理了Python批量轉(zhuǎn)換圖片格式和統(tǒng)一圖片尺寸,希望對大家有所幫助

前言

大家在工作的時候是不是都會接觸到很多的圖片,為了滿足不同的需求:

兼容性:不同設備和應用程序可能支持不同的圖片格式。通過轉(zhuǎn)換圖片格式,可以確保在各種設備和應用程序中都能夠正確地顯示圖片。

文件大?。翰煌膱D片格式具有不同的文件大小。有時候,將圖片從一種格式轉(zhuǎn)換為另一種格式可以顯著減小文件大小,這有助于在網(wǎng)絡上更快地加載圖片。

質(zhì)量:有些圖片格式對于特定類型的圖像效果更好。通過轉(zhuǎn)換圖片格式,可以選擇更適合特定圖像的格式,從而提高圖像質(zhì)量。

編輯能力:不同的圖片格式支持不同的編輯功能。通過將圖片轉(zhuǎn)換為支持所需編輯功能的格式,可以更輕松地進行編輯工作。

如果我們需要把圖片轉(zhuǎn)換成文件,用Python學習的知識是不是能實現(xiàn)呢?

Python模塊之Image的應用示例

1.首先需要導入需要的圖像庫:

import Image

2.讀取一張圖片:

im=Image.open(‘/home/Picture/test.jpg')

3.顯示一張圖片:

im.show()

4.保存圖片:

im.save(“save.gif”,“GIF”) #保存圖像為gif格式

5.創(chuàng)建新圖片:

Image.new(mode,size)
Image.new(mode,size,color)

栗子:

newImg = Image.new(“RGBA”,(640,480),(0,255,0))
newImg.save(“newImg.png”,“PNG”)

6.兩張圖片相加:

Image.blend(img1,img2,alpha) # 這里alpha表示img1和img2的比例參數(shù)

7.點操作:

im.point(function) #,這個function接受一個參數(shù),且對圖片中的每一個點執(zhí)行這個函數(shù)

比如:

out=im.point(lambdai:i*1.5)#對每個點進行50%的加強

8.查看圖像信息:

im.format, im.size, im.mode

9.圖片裁剪:

box=(100,100,500,500)
#設置要裁剪的區(qū)域
region=im.crop(box) #此時,region是一個新的圖像對象。

10.圖像黏貼(合并)

im.paste(region,box)#粘貼box大小的region到原先的圖片對象中。

11.通道分離:

r,g,b=im.split()#分割成三個通道,此時r,g,b分別為三個圖像對象。

12.通道合并:

im=Image.merge(“RGB”,(b,g,r))#將b,r兩個通道進行翻轉(zhuǎn)。

13.改變圖像的大小:

out=img.resize((128,128))#resize成128*128像素大小

14.旋轉(zhuǎn)圖像:

out=img.rotate(45) #逆時針旋轉(zhuǎn)45度

有更方便的:

region = region.transpose(Image.ROTATE_180)

15.圖像轉(zhuǎn)換:

out = im.transpose(Image.FLIP_LEFT_RIGHT)
#左右對換
out = im.transpose(Image.FLIP_TOP_BOTTOM)
#上下對換

16.圖像類型轉(zhuǎn)換:

im=im.convert(“RGBA”)

17.獲取某個像素位置的值:

im.getpixel((4,4))

18.寫某個像素位置的值:

img.putpixel((4,4),(255,0,0))

圖片批量轉(zhuǎn)換和尺寸調(diào)整代碼示例

'''
  圖片格式批量轉(zhuǎn)換
'''
def istype(filetype):
    '''
    判斷是否為圖片文件
    :param filetype: 文件擴展名
    :return: 是,返回True,不是,返回False
    '''
    filetype = filetype.lower() # 擴展名轉(zhuǎn)換為小寫
    # 判斷是否為圖片格式
    if filetype == '.jpg' or filetype=='.jpeg' or filetype=='.png' or filetype=='.gif' or filetype=='.bmp' or filetype=='.tif':
        return True # 返回True
    else:
        return False

def thumpic(filepath, width, height):
    try:

        image = Image.open(filepath) # 打開圖片文件
        # 按指定大小對圖片進行縮放(不一定完全按照設置的寬度和高度,而是按比例縮放到最接近的大?。?
        image.thumbnail((width, height))
        # 下面的方法會以嚴格按指定大小對圖片進行縮放,但可能會失真
        # image = image.resize((width, height))
        image.save(filepath) # 保存縮放后的圖片
        # print('圖片處理完成……')
        # os.startfile(path) # 打開指定路徑進行預覽
    except Exception as e:
        print(e)
        
import os
from PIL import Image
while True:
    oldpath = input('請輸入要轉(zhuǎn)換格式的圖片路徑:')
    newpath = input('請輸入轉(zhuǎn)換格式后的圖片保存路徑:')
    flag = int(input('''要轉(zhuǎn)換的格式:
1、jpg  2、jpeg  3、png  4、gif  5、bmp  6、tif
請選擇:'''))
    width=int(input('請輸入寬度限制:'))
    height=int(input('請輸入高度限制:'))
    list = os.listdir(oldpath)  # 遍歷選擇的文件夾
    for i in range(0, len(list)):  # 遍歷文件列表
        filepath = os.path.join(oldpath, list[i])  # 記錄遍歷到的文件名
        if os.path.isfile(filepath):  # 判斷是否為文件
            filename= os.path.splitext(list[i])[0]  # 獲取文件名
            filetype = os.path.splitext(list[i])[1]  # 獲取擴展名
            if istype(filetype):  # 判斷是否為圖片文件
                img = Image.open(filepath)  # 打開圖片文件
                # 根據(jù)選擇的格式轉(zhuǎn)換圖片,并保存
                if flag == 1:
                    img=img.convert('RGB') # 將圖片轉(zhuǎn)換為RGB格式,因為jpg格式不支持透明度
                    img.save(os.path.join(newpath,filename+'.jpg'),'jpeg')
                    thumpic(os.path.join(newpath,filename+'.jpg'), width, height)
                elif flag == 2:
                    img = img.convert('RGB')
                    img.save(os.path.join(newpath, filename + '.jpeg'),'jpeg')
                    thumpic(os.path.join(newpath,filename+'.jpeg'), width, height)
                elif flag == 3:
                    img.save(os.path.join(newpath, filename + '.png'),'png')
                    thumpic(os.path.join(newpath,filename+'.png'), width, height)
                elif flag == 4:
                    img.save(os.path.join(newpath, filename + '.gif'),'gif')
                    thumpic(os.path.join(newpath,filename+'.gif'), width, height)
                elif flag == 5:
                    img.save(os.path.join(newpath, filename + '.bmp'),'bmp')
                    thumpic(os.path.join(newpath,filename+'.bmp'), width, height)
                elif flag == 6:
                    img.save(os.path.join(newpath, filename + '.tif'), 'tiff')
                    thumpic(os.path.join(newpath,filename+'.tif'), width, height)
    os.startfile(newpath)
    
    print('格式轉(zhuǎn)換完成……')

到此這篇關(guān)于Python技巧之實現(xiàn)批量統(tǒng)一圖片格式和尺寸的文章就介紹到這了,更多相關(guān)Python圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談Python黑帽子取代netcat

    淺談Python黑帽子取代netcat

    本篇文章通過一個小小實例給大家分析了Python黑帽子取代netcat的過程以及相關(guān)知識點,對此有興趣的朋友可以學習下。
    2018-02-02
  • python使用ProjectQ生成量子算法指令集

    python使用ProjectQ生成量子算法指令集

    在量子計算機領域,由于實現(xiàn)方案的不同,在不同的體系內(nèi)的指令集其實是不一樣的,并不是說OpenQASM里面的所有指令都會被支持。但是這也沒有關(guān)系,因為本文將要介紹的開源量子計算模擬器框架ProjectQ可以支持將輸入的量子算法分解到對應的指令集中。
    2021-05-05
  • Python中關(guān)于set的基本用法

    Python中關(guān)于set的基本用法

    這篇文章主要介紹了Python中關(guān)于set的基本用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Python中可以用三種方法判斷文件是否存在

    Python中可以用三種方法判斷文件是否存在

    本文主要介紹了Python中可以用三種方法判斷文件是否存在,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • 解決yum對python依賴版本問題

    解決yum對python依賴版本問題

    這篇文章主要介紹了解決yum對python依賴版本問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • python opencv實現(xiàn)圖像配準與比較

    python opencv實現(xiàn)圖像配準與比較

    這篇文章主要為大家詳細介紹了python opencv實現(xiàn)圖像配準與比較,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • python 實現(xiàn)單例模式的5種方法

    python 實現(xiàn)單例模式的5種方法

    這篇文章主要介紹了python 實現(xiàn)單例模式的5種方法,幫助大家更好的理解和學習python 設計模式,感興趣的朋友可以了解下
    2020-09-09
  • python如何使用split多字符分割字符串的方法

    python如何使用split多字符分割字符串的方法

    這篇文章主要給大家介紹了關(guān)于python如何使用split多字符分割字符串的相關(guān)資料,split()方法是一個非常強大的工具,可以幫助我們輕松地分割字符串,需要的朋友可以參考下
    2023-10-10
  • 微信公眾號腳本-獲取熱搜自動新建草稿并發(fā)布文章

    微信公眾號腳本-獲取熱搜自動新建草稿并發(fā)布文章

    本來想寫一個自動化發(fā)布微信公眾號的小綠書的腳本,但是微信公眾號官網(wǎng)沒有小綠書的接口,那就寫一個獲取熱搜微信普通文章的腳本吧,這篇文章主要介紹了微信公眾號腳本-獲取熱搜自動新建草稿并發(fā)布文章
    2025-04-04
  • Python 列表篩選數(shù)據(jù)詳解

    Python 列表篩選數(shù)據(jù)詳解

    這篇文章主要為大家介紹了Python 列表篩選數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11

最新評論

旬阳县| 邵武市| 喀喇| 乌拉特前旗| 张家界市| 时尚| 绥江县| 凉城县| 长泰县| 河北省| 九江市| 万州区| 通海县| 遂川县| 凉城县| 威远县| 麦盖提县| 怀化市| 新干县| 北海市| 德兴市| 文山县| 云和县| 玉山县| 全椒县| 饶平县| 葫芦岛市| 元阳县| 金阳县| 绿春县| 重庆市| 阳山县| 岐山县| 峨眉山市| 汉中市| 仁布县| 西畴县| 万宁市| 蒙阴县| 新宁县| 尼玛县|