
作者:豆豆
來源:Python 技術
在我們的日常生活和工作中有不少場景需要簡單處下理圖片,很多人都是依賴 PS、美圖秀秀等各種圖像處理工具,殊不知在你打開軟件的一瞬間 Python 就已經將圖片處理完了。聽起來是不是很神奇,正所謂是 Python 在手,啥也不愁。
Python 屆處理圖片最強的庫是 PIL(Python Image Library),但由于該庫只支持 2.x 版本,于是有一批樂于助人的程序員在此基礎上做了擴展,出了一個兼容 3.x 的版本也就是 Pillow,因此,我們今天要用的庫就是 Pillow。
老規(guī)矩,先通過 pip 安裝到本地機器。
pip install Pillow
可以通過 Image 類來操控圖片,比如打開一張圖片并獲取其基本信息。
from PIL import Image, ImageFilter, ImageEnhance, ImageDraw, ImageFont
img = Image.open('cat.jpg') print(F'圖片大小為 {img.format}, 格式為 {img.size}, 模式為{img.mode}') # 圖片大小為 JPEG, 格式為 (3458, 3456), 模式為 RGB
如果給目標圖片轉換格式,可以通過 save 函數來實現。
img.save("cat.jpg ")
之后你就會在同目錄下得到一張擴展名為 png 的圖片了。
直接通過 show 函數來顯示圖片。
img.show()
使用 crop 函數傳入一個四元祖坐標來剪裁圖片。
point = (1500, 800, 3000, 2300) img_crop = img.crop(point) img_crop.show()
通過 paste 函數傳入合并的圖像和坐標來實現兩張圖片的合并,那如果要合并多張圖片呢,當然是直接調用多次就好了呀。
img.paste(img_crop, (0, 0), None) img.show(
有時候圖像過大,這時候就顯示出縮略圖的必要了,可以通過 thumbnail 函數傳入 size 來實現圖片的縮小。
thumb_size = (345, 345) img.thumbnail(thumb_size) img.show()
使用 transpose 函數傳入旋轉角度來實現圖片的翻轉。
可以傳入的參數有以下幾種:
img_rotate = img.transpose(Image.ROTATE_90) img_rotate.show()
當然,我們還可以對圖片做一些濾鏡處理。
img_gaussianblur = img.filter(ImageFilter.GaussianBlur(30)) img_gaussianblur.show()
img_contour = img.filter(ImageFilter.CONTOUR) img_contour.show()
如果照片亮度不夠,還可以對照片進行亮度增強。
color = ImageEnhance.Color(img) img_color = color.enhance(1.5) img_color.show()
當然,如果想對圖片進行二次創(chuàng)作,比如添加一些輔助線,文字之類的可以用 ImageDraw 類來完成。
draw = ImageDraw.Draw(img) draw.line((0, 0) + img.size, fill=20, width=3) draw.line((0, img.size[1], img.size[0], 0), fill=200, width=3) img.show()
文字draw = ImageDraw.Draw(img)
font = ImageFont.truetype('AliPuHui-Bold.ttf', 200)
text = 'This is a cat!'
draw.text((450, 450), text, font=font, fill='pink')
img.show()
當然,如果有多行文字的話,直接加入換行符 n 即可。
今天派森醬帶大家一起通過使用 Pillow 庫對圖片進行一些簡單的操作,事實上 Pillow 庫遠不止此,將這些簡單的操作進行組合甚至可以自創(chuàng)表情包,期待小伙伴們自行發(fā)掘更多更好玩的用法呀~
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關鍵? 在循環(huán)神經網絡(RNN)家族中,長短期記憶網絡(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數據分析師報考條件詳解與準備指南? ? 在數據驅動決策的時代浪潮下,CDA 數據分析師認證愈發(fā)受到矚目,成為眾多有志投身數 ...
2025-07-11數據透視表中兩列相乘合計的實用指南? 在數據分析的日常工作中,數據透視表憑借其強大的數據匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數據分析師:連接數據與業(yè)務的價值轉化者? ? 在大數據與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預測分析中的應用:從數據查詢到趨勢預判? ? 在數據驅動決策的時代,預測分析作為挖掘數據潛在價值的核心手段,正被廣泛 ...
2025-07-10數據查詢結束后:分析師的收尾工作與價值深化? ? 在數據分析的全流程中,“query end”(查詢結束)并非工作的終點,而是將數 ...
2025-07-10CDA 數據分析師考試:從報考到取證的全攻略? 在數字經濟蓬勃發(fā)展的今天,數據分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數據背后的時間軌跡? 在數據分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數據類型:時間維度的精準切片? ? 在數據的世界里,時間是最不可或缺的維度之一,而year_month數據類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數據分析中的核心應用與實戰(zhàn)技巧? ? 在 CDA 數據分析師認證考試中,Python 作為數據處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數據趨勢與突變分析的有力工具? ? ? 在數據分析的廣袤領域中,準確捕捉數據的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數據分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數據分析師認證作為國內權威的數據分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應對策略? 長短期記憶網絡(LSTM)作為循環(huán)神經網絡(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調研數據中的深度應用? 市場調研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調研數 ...
2025-07-07CDA數據分析師證書考試全攻略? 在數字化浪潮席卷全球的當下,數據已成為企業(yè)決策、行業(yè)發(fā)展的核心驅動力,數據分析師也因此成為 ...
2025-07-07剖析 CDA 數據分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數據分析師考試作為衡量數據專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉日期:解鎖數據處理的關鍵技能? 在數據處理與分析工作中,數據格式的規(guī)范性是保證后續(xù)分析準確性的基礎 ...
2025-07-04CDA 數據分析師視角:從數據迷霧中探尋商業(yè)真相? 在數字化浪潮席卷全球的今天,數據已成為企業(yè)決策的核心驅動力,CDA(Certifie ...
2025-07-04CDA 數據分析師:開啟數據職業(yè)發(fā)展新征程? ? 在數據成為核心生產要素的今天,數據分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03