de AMR

Cum se construiește un convertor de tip imagine în șase linii de Python

Cum se construieste un convertor de tip imagine in sase
Fotografie de Keagan Henman pe Unsplash

Unul dintre avantajele de a fi programator este abilitatea ta de a construi instrumente utilitare pentru a-ți îmbunătăți viața. Spre deosebire de un non-programator, probabil că nu petreceți ore săpând prin mai multe pagini de rezultate ale căutării Google pentru a găsi un instrument care, în primul rând, ar fi trebuit să vă îmbunătățească productivitatea (ironia câștigă). Acest lucru vă face probabil să vă simțiți mai puternic cunoașterea unui limbaj de programare – mai ales dacă acel limbaj de programare este la fel de versatil și minunat ca Python.

Unul dintre punctele din Zenul lui Python spune:

Simplul este mai bun decât complexul.

Având în vedere această filozofie, o mulțime de dezvoltare de instrumente de nișă folosind Python se poate face atât de succint încât mă face să mă întreb dacă merită să-l numesc un instrument. Uneori cuvântul script ar fi mai exact. Oricum ar fi, ne propunem aici să construim unul astfel script care convertește imaginile dintr-un format de fișier (tip imagine) în altul – în doar 6 linii de cod Python.

Declinare de responsabilitate: numărul de linii (6) exclude liniile goale și comentariile

În acest tutorial, vom construi un convertor de tip imagine care convertește o imagine PNG într-o imagine JPG. Înainte ca celulele dvs. de materie gri să se grăbească să judece dacă sunt nebun să construiesc acest instrument, permiteți-mi să spun că acest lucru nu este doar pentru o singură imagine – ci pentru toate imaginile dintr-un folder. Acest lucru ar necesita cu siguranță mai mult efort manual pentru a face fără codificare (Știu că poți mirosi bash ing).

Pachetul Python

Vom folosi pachetul Python PIL (care înseamnă Python Image Library) în acest scop. Originalul PIL nu am primit actualizări pentru cea mai recentă versiune Python, așa că au creat câteva suflete bune o furculiță prietenoasă numită Pillow care acceptă chiar> Python 3.0.

Instalați-l folosind pip3 install Pillow.

Script de început

Există două secțiuni principale în acest cod. Prima secțiune este locul în care importăm pachetele necesare, iar a doua secțiune este locul în care se întâmplă operația efectivă. Operațiunea efectivă poate fi detaliată după cum urmează:

  • Repetați toate fișierele cu extensia dată – în cazul nostru .png – și repetați toate următoarele:
  • Deschideți fișierul imagine (ca fișier imagine)
  • Convertiți fișierul imagine într-un alt format ( RGB )
  • Salvați în final fișierul – cu noua extensie .jpg

Liniile 1 și 2:

from PIL import Image  # Python Image Library - Image Processing
import glob

Această secțiune doar importă pachetele necesare. PIL pentru Prelucrarea imaginilor și glob pentru iterarea prin fișiere ale folderului dat în sistemul de operare.

Liniile 3-6:

# based on SO Answer: https://stackoverflow.com/a/43258974/5086335
for file in glob.glob("*.png"):
 im = Image.open(file)
 rgb_im = im.convert('RGB')
 rgb_im.save(file.replace("png", "jpg"), quality=95)

FIN

Deci acesta este sfârșitul instrumentului nostru! Puteți salva aceste 6 linii ca .py fișier și apoi invocați-le în computerul dvs. unde aveți imagini de convertit.

Dezvoltare ulterioară

Dacă intenționați să îmbunătățiți în continuare acest script, puteți converti întregul script într-un instrument de interfață pentru linia de comandă – atunci toate aceste detalii, cum ar fi File Format și Folder Path poate fi dat ca argumente extinzându-și astfel puterea.

Referințe