中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python批量縮放圖片

發布時間:2022-02-21 09:42:06 來源:億速云 閱讀:253 作者:iii 欄目:開發技術

今天小編給大家分享一下如何使用Python批量縮放圖片的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

導讀

為了解決圖片被改變大小后,比例保持不變(這樣就不會變形了)

圖片需要壓縮,避免填圖后的word文件太大通過Image模塊中的resize函數,就能給解決如上問題。我們還是先按“修改時間”順序獲取圖片文件夾下的所有圖片的完整路徑

實際演示階段

我們需要做的事情就是將圖一變為圖二 圖一:

如何使用Python批量縮放圖片

圖二:

如何使用Python批量縮放圖片

進行等比例縮小。

#將圖片按修改時間排序(這樣才能與圖片的描述一致),將路徑存入列表,以便后面逐個插入圖片時調用
import  os
path = "pictures"
list_p = [path+"\\"+i for i in os.listdir(path)] #獲取圖片的文件名,并拼接完整路徑
list_p.sort(key=lambda path: os.path.getmtime(path)) #將列表中的文件按其修改時間排序,os.path.getmtime() 函數是獲取文件最后修改時間
list_p里面存放的就是該文件夾下的所有圖片路徑
'pictures\\z.jpg',
 'pictures\\x.jpg',
 'pictures\\w.jpg',
 'pictures\\y.jpg',
 'pictures\\orange-flowers-2471898.jpg',
 'pictures\\lime-631389.jpg',
 'pictures\\v.jpg',

然后導入Image模塊。for循環遍歷所有圖片的路徑,然后讀取圖片尺寸,x對應寬度,y對應高度。這里的單位是像素。壓縮圖片的關鍵參數是壓縮后的標準寬度x_s,我們Word模板中放置圖片的單元格寬度為6.25厘米。壓縮后的圖片分辨率是96,像素為230的時候,對應長度是6.1厘米。以上換算可參考鏈接www.gaitubao.com/tools/pixel… 。但是按230像素的寬度壓縮后,自動填充到Word文檔中后,圖片寬度變成了8厘米,已經超過單元格的寬度了。通過調試,最終將標準寬度設定為165像素,填入word中后,寬度是5.82厘米,比較適合單元格寬度。這個差異可能是換算的不精確導致。確定好標準寬度x_s后,高度y_s按照標準寬度乘上原始高寬比來確定,這樣就是保持比例壓縮,不會導致圖片變形。壓縮resize后,再保存到新的文件夾。

#按比例縮小圖片尺寸
from PIL import Image
for infile in list_p:
    im = Image.open(infile)
    (x,y) = im.size #讀取圖片尺寸(像素)
    x_s = 165 #定義縮小后的標準寬度 
    y_s = int(y * x_s / x) #基于標準寬度計算縮小后的高度
    out = im.resize((x_s,y_s),Image.ANTIALIAS) #改變尺寸,保持圖片高品質
    out.save('pictures_new\\{}'.format(infile.split("\\")[-1]))

就這樣簡單的幾步我們就得到了想要的結果把圖片壓縮成了:

壓縮前:

如何使用Python批量縮放圖片

結果:

如何使用Python批量縮放圖片

詳細介紹該庫

上面的介紹是不是很簡單不過它只是PIL的一個功能下面我們詳細介紹一下。

Python Imaging Library ( PIL ) 給 Python 增加了圖像處理能力。

這個庫提供了廣泛的文件格式支持,高效的內部展現,以及十分強大的圖像處理能力。

讓我們看看這個庫的幾種可能用法:

1· 圖像存儲

PIL 設計用于圖像歸檔和圖像批量處理,你可以使用它建立縮略圖,轉換格式,打印圖片等等。現在的版本可以驗證和讀取大量的圖片格式。寫入有意設計為只能寫入常用的文件格式。

2·圖像顯示 現在的版本包含了 Tk PhotoImage 和 BitmapImage 接口, 以及 Windows DIB interface,這有助于在 Windows 下使用。為了方便測試,還提供了 show() 方法,可以保存圖像到磁盤并顯示。

3·圖像處理 這個庫包含了基本的圖像處理功能,包括點操作,使用內置卷積內核過濾,色彩空間轉換。這個庫還支持更改圖像大小、旋轉、自由變換。有一個直方圖方法允許你統計圖像,這可以用于對比度增強和全局統計分析。

以上就是“如何使用Python批量縮放圖片”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

依兰县| 富阳市| 河南省| 西青区| 北碚区| 中方县| 平昌县| 武平县| 邢台市| 新安县| 昌吉市| 盱眙县| 江津市| 疏附县| 彰化县| 通州市| 义马市| 富蕴县| 沧州市| 遵义市| 山丹县| 宁远县| 托克托县| 郧西县| 大邑县| 嵊泗县| 将乐县| 杭锦旗| 神池县| 荔波县| 曲靖市| 永昌县| 盐亭县| 根河市| 九龙坡区| 东阳市| 禄丰县| 漯河市| 岚皋县| 富锦市| 平顶山市|