Convertire immagini con Python

Convertire immagini con Python Convertire immagini con Python

Convertire immagini con Python

Versione italiana

Con Python è possibile convertire immagini tra diversi formati usando diverse librerie. Ecco i metodi più comuni:

1. Usando Pillow (la libreria più semplice)

from PIL import Image

# Apri l'immagine
img = Image.open("input.jpg")

# Converti e salva in diversi formati
img.save("output.png")  # JPG → PNG
img.save("output.webp") # JPG → WEBP
img.save("output.bmp")  # JPG → BMP

2. Conversione batch (più file alla volta)

from PIL import Image
import os

input_folder = "foto/"
output_folder = "convertite/"

os.makedirs(output_folder, exist_ok=True)

for file in os.listdir(input_folder):
    if file.endswith((".jpg", ".jpeg", ".png")):
        img = Image.open(f"{input_folder}/{file}")
        img.save(f"{output_folder}/{os.path.splitext(file)[0]}.webp")

3. Convertire con qualità specifica (per JPG/WEBP)

from PIL import Image

img = Image.open("input.png")
img.save("output.jpg", quality=85)  # Qualità 85%
img.save("output.webp", quality=90, method=6)  # Alta qualità

4. Altri formati supportati:

  • Formati comuni: JPG, PNG, WEBP, BMP, TIFF, GIF

  • Formati RAW: (richiedono rawpy)

    import rawpy
    import imageio
    
    with rawpy.imread("foto.CR2") as raw:
        rgb = raw.postprocess()
    imageio.imsave("output.jpg", rgb)

5. Installazione:

  • se si vuole usare solo pillow:
pip install pillow
  • si si vogliono usare solo rawpy e imageio
pip install imageio rawpy
  • se si vogliono usare tutte
pip install pillow imageio rawpy

Extra: Convertire PDF a immagini

from pdf2image import convert_from_path

images = convert_from_path("documento.pdf")
for i, img in enumerate(images):
    img.save(f"pagina_{i}.jpg", "JPEG")

Consigli:

  1. Per conversioni semplici usa Pillow (PIL)
  2. Per foto professionali RAW usa rawpy
  3. Per PDF usa pdf2image
  4. WEBP offre la migliore compressione
  5. JPG è meglio per foto, PNG per grafica con trasparenza

English version

With Python, you can convert images between different formats using several libraries. Here are the most common methods:

1. Using Pillow (the simplest library)

from GDP import Image

# Open the image
img = Image.open("input.jpg")

# Convert and save to different formats
img.save("output.png") # JPG → PNG
img.save("output.webp") # JPG → WEBP
img.save("output.bmp") # JPG → BMP

2. Batch conversion (multiple files at a time)

from GDP import Image
import os

input_folder = "photo/"
output_folder = "convert/"

os.makedirs(output_folder, exist_ok=True)

for file in os.listdir(input_folder): 
if file.endswith((".jpg", ".jpeg", ".png")): 
img = Image.open(f"{input_folder}/{file}") 
img.save(f"{output_folder}/{os.path.splitext(file)[0]}.webp")

3. Convert with specific quality (for JPG/WEBP)

from GDP import Image

img = Image.open("input.png")
img.save("output.jpg", quality=85) # Quality 85%
img.save("output.webp", quality=90, method=6) # High quality

4. Other supported formats:

  • Common formats: JPG, PNG, WEBP, BMP, TIFF, GIF
  • RAW formats: (require rawpy)
import rawpy 
import imageio 

with rawpy.imread("photo.CR2") as raw:
rgb = raw.postprocess()
imageio.imsave("output.jpg", rgb)

5. Installation:

  • if you want to use only pillow:
pip install pillow
  • if you want to use only rawpy and imageio
pip install imageio rawpy
  • if you want to use all
pip install pillow imageio rawpy

Extra: Convert PDF to images

from pdf2image import convert_from_path

images = convert_from_path("document.pdf")
for i, img in enumerate(images):
img.save(f"pagina_{i}.jpg", "JPEG")

Tips:

  1. For simple conversions use Pillow (PIL)
  2. For professional RAW photos use rawpy
  3. For PDF use pdf2image
  4. WEBP offers the best compression
  5. JPG is best for photos, PNG for graphics with transparency

Puoi seguire anche il mio canale YouTube https://www.youtube.com/channel/UCoOgys_fRjBrHmx2psNALow/ con tanti video interessanti


I consigli che offriamo sono di natura generale. Non sono consigli legali o professionali. Quello che può funzionare per una persona potrebbe non essere adatto a un’altra, e dipende da molte variabili.
Per supportare e far crescere il canale in modo semplice, rapido e gratuito, potete fare acquisti su amazon usando il mio link di affiliazione.
Questo implica che io prenda una commissione ogni volta che qualcuno faccia un qualsiasi acquisto utilizzando il mio link di affiliazione https://amzn.to/4cgJ3Ls

Commenti