成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

10 行 Python 代碼,批量壓縮圖片 500 張,簡直太強(qiáng)大了

Steven / 610人閱讀

摘要:這個(gè)網(wǎng)站非常良心,開放了免費(fèi)的,取消了每張大小的限制,只限定每個(gè)月處理張圖片。

本文原創(chuàng)并首發(fā)于公眾號(hào)【Python貓】,未經(jīng)授權(quán),請(qǐng)勿轉(zhuǎn)載。
原文地址:https://mp.weixin.qq.com/s/5hpFDgjCpfb0O1Jg-ycACw

熟悉 “Python貓” 的讀者應(yīng)該知道,貓哥我發(fā)布的所有文章都使用了極具特色的配圖——原創(chuàng)文章使用貓圖,轉(zhuǎn)載文章使用狗圖,極少例外。

這幾天,我在用 Github page + hexo 搭建個(gè)人網(wǎng)站,為了延續(xù)風(fēng)格,就想把配圖與文章一起遷移過去。這時(shí)候就出現(xiàn)了一個(gè)難題:我所用的圖片都是高清大圖,放到網(wǎng)站上就嚴(yán)重拖慢了加載速度。因此,需要先把圖片壓縮,再上傳。

我把需求概括如下:

需要批量壓縮圖片,現(xiàn)有大約 200 張,后會(huì)再增

是壓縮,不是切割截取,不改變圖片尺寸

原圖片大部分是 10M - 30M,目標(biāo)是壓縮成 1M 以內(nèi),越小越好

按著這幾條線索,我搜索“批量壓縮圖片”、“圖片壓縮工具“、”批量處理圖片“......

一開始的想法是找輕量級(jí)的圖片壓縮工具,簡單處理一下就好。然而不知是搜索的姿勢不對(duì),還是篩選過濾信息的姿勢不對(duì),結(jié)果都差強(qiáng)人氣。

查找到的工具有本地與在線兩類,可試驗(yàn)后都不太理想:有的軟件下載后才發(fā)現(xiàn)是付費(fèi)的,有的在使用時(shí)直接導(dǎo)致程序卡死,有的壓縮率不夠需要多次壓縮,有的要求原始圖片大小不能超過 5 M,有的要求批量處理數(shù)量不超過 20 張,有的不支持批量壓縮......群內(nèi)小伙伴還幫忙推薦了“PS+批處理”、acdsee、甚至手機(jī)應(yīng)用 snapseed,都不合我意。

花了不少時(shí)間后,偶然看到有文章寫用 Python 來壓縮圖片。一文驚醒夢中人,我怎么沒想到呢?

先看看別人是怎么做的。這篇《如何用Python智能批量壓縮圖片?》(https://zhuanlan.zhihu.com/p/32246003)文章中介紹了使用 PIL 庫的 Image 模塊來壓縮圖片的方法,主要通過調(diào)節(jié)圖片長寬數(shù)值的方式。

PIL 是個(gè)強(qiáng)大的圖片處理庫,但只支持 Python 2,而且早已停止更新。有開發(fā)者在它基礎(chǔ)上改良并維護(hù)了 Pillow,支持 Python 3。之前有所耳聞,沒用過。于是貓哥查了幾篇教程和文檔。讀后發(fā)現(xiàn)它壓縮圖片的方法主要是等比例縮放、裁剪以及改變格式等,并非我所要的。

還看到一篇《如何在無損的情況下讓圖片變的更小》(https://juejin.im/post/5959fbe0f265da6c2518d740)文章,它介紹了 Yelp(美國最大點(diǎn)評(píng)網(wǎng)站)的三種優(yōu)化圖片的策略:Pillow、動(dòng)態(tài)調(diào)優(yōu)、更換編碼器。有些方法很高大上,應(yīng)該是業(yè)界先進(jìn)經(jīng)驗(yàn)了,但它希望保證圖片無損,所有方法加起來才可以使圖片大小平均減少 30%,因此并不滿足我的要求。另外它引申介紹了幾種方法,可是需要花費(fèi)時(shí)間去研究,我也放棄了。

最后,終于找到了一種非常便捷,又十分滿足的方案,下面開始進(jìn)入正題了。(不要嫌我啰嗦,探索的過程也很有趣)(噓,實(shí)際上是因?yàn)橄旅嬉榻B的方法太簡單,才區(qū)區(qū)幾行代碼,我實(shí)在忍不住強(qiáng)行加戲......)

----------------小心翼翼的分割線---------------

Tinypng 網(wǎng)站提供在線圖片壓縮服務(wù),是所有圖片壓縮工具中最好用的之一,但它有所限制:批量最多處理 20 張,且每張大小不允許超過 5 M。

這個(gè)網(wǎng)站非常良心,開放了免費(fèi)的 API ,API 取消了每張大小的限制,只限定每個(gè)月處理 500 張圖片。這對(duì)我來說,已經(jīng)足足有余了。

下面介紹怎么使用它。第一步是在它網(wǎng)站上注冊(cè),獲得專屬的 API_KEY。使用的是郵箱注冊(cè),很簡單。

然后是安裝 package:

pip install --upgrade tinify

接著是處理圖片:

import tinify
import os

tinify.key = "此處填入你的key"
path = "C:UsersyunpoyuePicturescat" # 圖片存放的路徑

for dirpath, dirs, files in os.walk(path):
    for file in files:
        imgpath = os.path.join(dirpath, file)
        print("compressing ..."+ imgpath)
        tinify.from_file(imgpath).to_file(imgpath)

不到 10 行代碼,輕輕松松就批量壓縮圖片,簡直不要太爽!20 M 的圖片能壓縮到 2 M,壓縮率達(dá)到驚人的 90%,成績喜人。

它的 API 還提供圖片裁剪、加水印、保存壓縮圖片至云服務(wù)商(亞馬遜云、谷歌云)等功能,非常強(qiáng)大。除了壓縮過程有點(diǎn)慢,其它無可挑剔。

經(jīng)過一番探索與比較,我確定這是目前的最優(yōu)方案,所以強(qiáng)烈分享給大家。

公眾號(hào)【Python貓】, 本號(hào)連載優(yōu)質(zhì)的系列文章,有喵星哲學(xué)貓系列、Python進(jìn)階系列、好書推薦系列、技術(shù)寫作、優(yōu)質(zhì)英文推薦與翻譯等等,歡迎關(guān)注哦。后臺(tái)回復(fù)“愛學(xué)習(xí)”,免費(fèi)獲得一份學(xué)習(xí)大禮包。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43747.html

相關(guān)文章

  • 拍照黨福利駕到 華為云微認(rèn)證教你實(shí)現(xiàn)圖片壓縮和水印添加

    摘要:拍照黨福利駕到華為云微認(rèn)證教你實(shí)現(xiàn)圖片壓縮和水印添加在手機(jī)拍照成為日常的今天,用照片記錄生活已成為人們的一種習(xí)慣。華為云微認(rèn)證將總共送出個(gè)免費(fèi)機(jī)會(huì),獎(jiǎng)項(xiàng)公布時(shí)間月日。 拍照黨福利駕到 華為云微認(rèn)證教你實(shí)現(xiàn)圖片壓縮和水印添加 在手機(jī)拍照成為日常的今天,用照片記錄生活已成為人們的一種習(xí)慣。拍照容易處理難,面對(duì)手機(jī)相冊(cè)中大量的照片,你是否也苦惱過?刪,舍不得;上傳,會(huì)不會(huì)被盜圖?能否發(fā)出足夠...

    MadPecker 評(píng)論0 收藏0
  • 怎么使用python對(duì)圖片進(jìn)批量壓縮

      小編寫這篇文章的主要目的,主要是講解一些關(guān)于python的事情,比如需要對(duì)圖片進(jìn)行批量壓縮,壓縮的方法還是比較的多的,那么,為了提高效率,怎么進(jìn)行批量壓縮呢?下面就給大家詳細(xì)解答下?! ∏把浴 ∽罱谘芯吭趺磳?duì)圖片資源進(jìn)行無損壓縮,網(wǎng)上也找了一些資料??偠灾斋@不少,所以想對(duì)最近的學(xué)習(xí)做個(gè)總結(jié)?! o損壓縮其實(shí)是相對(duì)而言的,目的是為了減小圖片資源的內(nèi)存大小但又不影響圖片的顯示質(zhì)量。下面我將...

    89542767 評(píng)論0 收藏0
  • [聊一聊系列]聊一聊移動(dòng)web分辨率的那些事兒

    摘要:會(huì)各種折行,樣式錯(cuò)亂,那么細(xì)致如蘋果肯定不允許這種事情發(fā)生。又一次變遷蘋果公司在年,推出了新一代的,他們的屏幕都比要寬要大。 歡迎大家收看聊一聊系列,這一套系列文章,可以幫助前端工程師們了解前端的方方面面(不僅僅是代碼): https://segmentfault.com/blog/frontenddriver 不同于PC時(shí)代,移動(dòng)web的樣式更加多樣,也由于手機(jī)分辨率的碎片化,移動(dòng)w...

    vibiu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<