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

Python實現(xiàn)批量修改圖片大小

 更新時間:2023年07月16日 14:10:31   作者:shaomine  
在日常生活中經(jīng)常有需要調(diào)整圖片大小的需求,一張兩張的還好,但是如果需要幾十張幾百張甚至幾千張,就可以考慮使用Python腳本來執(zhí)行了,下面小編就來和大家分享幾個Python可以批量修改圖片大小的腳本吧

python 批量修改圖片大小

一個文件夾下面有好多圖片格式是jpg大小是1920*1080,把它們處理成1280*720并按原先圖片的名保存在另一路徑下 這里首先要找到給定路徑下所有的圖片文件,然后在修改圖片文件的大小,這里用到PIL和glob兩個庫:

# -*- coding: utf-8 -*-
  import os
  import glob
  from PIL import Image
  import os.path
  '''修改圖片文件大小jpgfile:圖片文件;savedir:修改后要保存的路徑'''
  def convertjpg(jpgfile,savedir,width=500,height=400):
    img=Image.open(jpgfile)
    new_img=img.resize((width,height),Image.BILINEAR)
    new_img.save(os.path.join(savedir,os.path.basename(jpgfile)))
  '''查找給定路徑下圖片文件,并修改其大小'''
  def modifyjpgSize(file,saveDir):
    for jpgfile in glob.glob(file):
    convertjpg(jpgfile,saveDir)
  #測試代碼
  file = r'D:\test2\restImage\*.jpg'
  saveDir = r'D:\test2\outImage'
  modifyjpgSize(file,saveDir)

方法補充

除了上面的方法,小編還為大家整理了幾個好用的Python批量修改圖片尺寸大小的方法,希望對大家有所幫助

方法一

效果圖

實現(xiàn)

環(huán)境要求

安裝python3,測試時使用的是3.11版本,具體和環(huán)境配置可以百度一下,有很多教程

該腳本需要cmd窗口執(zhí)行下列語句安裝相關(guān)python庫

pip install Pillow

具體實現(xiàn)

新建一個.py的腳本

將下列代碼復(fù)制進去保存后運行

import os
import sys
from PIL import Image ## 需要 pip install Pillow 安裝相關(guān)插件
# 輸入相關(guān)參數(shù)
isEquals = True
while isEquals:
	start_path = input("請輸入圖片所在目錄(可包含子文件夾):")
	out_path = input("請輸入圖片生成目錄(同名會覆蓋):")
	isEquals = False
	if start_path == out_path :
		print("\n所在目錄和生成目錄不能為同一個!\n")
		isEquals = True
	pass
# 讀取路徑下所有文件
isPrint = False
for root, dirs, files in os.walk(start_path):
	#逐個讀取文件
	for file in files:
		path = root + "\\" + file
		# 判斷是否是圖片文件
		if ".png" in path or ".jpg" in path:
			img = Image.open(path)
			print("\n原始圖片分辨率(寬 * 高):" + str(img.size))
			isPrint = True
			break
	if isPrint:
		break
width = int(input("\n請輸入圖片寬度:"))
height = int(input("請輸入圖片高度:"))
print("\n所在目錄: " + start_path)
print("生成目錄: " + out_path)
print("目標(biāo)圖片寬高: " + str(width) + " * "+ str(height))
index = 0
# 讀取路徑下所有文件
for root, dirs, files in os.walk(start_path):
	print("\n當(dāng)前路徑:" + root) # 打印路徑
	# 輸入路徑
	temp_path = out_path + root[len(start_path) : len(root)]
	#判斷路徑是否存在
	if not os.path.exists(temp_path):
		os.mkdir(temp_path)
	print("輸出路徑:" + temp_path) # 打印路徑
	#逐個讀取修改文件
	for file in files:
		path = root + "\\" + file
		save_path =  temp_path + "\\" + file
		# 判斷是否是圖片文件
		if ".png" in path or ".jpg" in path:
			img = Image.open(path)
			im_resized = img.resize((width, height))
			im_resized.save(save_path)
print("\n處理完成\n")
os.system("pause")

方法二

import os
from PIL import Image
import re
# 圖像文件存儲路徑
Start_path='C:\\Users\\.....'
# 需要調(diào)整圖片的寬度與高度
pic_width=390
pic_depth=567
# 讀取路徑下的圖片文件
list=os.listdir(Start_path)
#print list
count=0
# 遍歷圖片文件名
for pic in list:
    # 單個圖片的路徑
    path=Start_path+pic
    # 輸出文件名(含路徑)
    print (path)
    # 打開圖片文件 圖像句柄為im
    im=Image.open(path)
    # 返回im的寬度與高度
    w,h=im.size
    # 大于寬度修改
    if w>pic_width:
        print (pic)
        print ("圖片名稱為"+pic+"圖片被修改")
        # 按比例縮放
        h_new=pic_width*h/w
        w_new=pic_width
        count=count+1
        out = im.resize((w_new,h_new),Image.ANTIALIAS)
        new_pic=re.sub(pic[:-4],pic[:-4]+'_new',pic)
        #print new_pic
        new_path=Start_path+new_pic
        out.save(new_path)
    # 大于高度修改
    if h>pic_depth:
        print (pic)
        print ("圖片名稱為"+pic+"圖片被修改")
        # 按比例縮放
        w=pic_depth*w/h
        h=pic_depth
        count=count+1
        out = im.resize((pic_width,pic_depth),Image.ANTIALIAS)
        new_pic=re.sub(pic[:-4],pic[:-4]+'_new',pic)
        #print new_pic
        new_path=Start_path+new_pic
        out.save(new_path)
print ('END')
count=str(count)
print ("共有"+count+"張圖片尺寸被修改")

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

相關(guān)文章

  • Python 虛擬空間的使用代碼詳解

    Python 虛擬空間的使用代碼詳解

    這篇文章主要介紹了Python 虛擬空間的使用,本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 使用keras實現(xiàn)孿生網(wǎng)絡(luò)中的權(quán)值共享教程

    使用keras實現(xiàn)孿生網(wǎng)絡(luò)中的權(quán)值共享教程

    這篇文章主要介紹了使用keras實現(xiàn)孿生網(wǎng)絡(luò)中的權(quán)值共享教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python列表插入append(), extend(), insert()用法詳解

    python列表插入append(), extend(), insert()用法詳解

    在本篇文章里小編給大家整理了關(guān)于python列表插入append(), extend(), insert()用法以及相關(guān)知識點,有需要的朋友們參考下。
    2019-09-09
  • Python迭代用法實例教程

    Python迭代用法實例教程

    這篇文章主要介紹了Python迭代用法,包括了迭代的定義及具體用法,是一個非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • python常見模塊與用法

    python常見模塊與用法

    這篇文章主要介紹了python常見模塊與用法,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • python人工智能tensorflow構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)CNN

    python人工智能tensorflow構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)CNN

    學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)已經(jīng)有一段時間,從普通的BP神經(jīng)網(wǎng)絡(luò)到LSTM長短期記憶網(wǎng)絡(luò)都有一定的了解,但是從未系統(tǒng)的把整個神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)記錄下來,我相信這些小記錄可以幫助我更加深刻的理解神經(jīng)網(wǎng)絡(luò)
    2022-05-05
  • Python自動化辦公之讀取Excel數(shù)據(jù)的實現(xiàn)

    Python自動化辦公之讀取Excel數(shù)據(jù)的實現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何通過Python實現(xiàn)Excel數(shù)據(jù)的讀取,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)有一定幫助,需要的可以參考一下
    2022-05-05
  • 舉例講解Python中的迭代器、生成器與列表解析用法

    舉例講解Python中的迭代器、生成器與列表解析用法

    這篇文章主要介紹了Python中的迭代器、生成器與列表解析用法,還對Python3.x版本中的一些改變作出了提示,需要的朋友可以參考下
    2016-03-03
  • Python圖像處理庫處理步驟

    Python圖像處理庫處理步驟

    這篇文章主要介紹了Python圖像處理探索之Python圖像處理庫,我們將學(xué)習(xí)使用不同的 Python 庫實現(xiàn)一些常見的圖像處理、變換和可視化技術(shù),這些技術(shù)通??梢杂米鞲鼜?fù)雜的圖像處理任務(wù)的基本預(yù)處理/后處理步驟,需要的朋友可以參考下
    2023-04-04
  • Python利用keyboard模塊實現(xiàn)鍵盤記錄操作

    Python利用keyboard模塊實現(xiàn)鍵盤記錄操作

    模擬鍵盤操作執(zhí)行自動化任務(wù),我們常用的有pyautowin等自動化操作模塊。今天介紹的這個模塊叫做keyboard,它是純Python原生開發(fā),編譯時完全不需要依賴C語言模塊。一行命令就能完成安裝,非常方便,需要的可以了解一下
    2022-10-10

最新評論