Python Yastık - Resimlerle Çalışma

Bu bölüm, bir görüntünün Pillow'da nasıl okunacağı ve kaydedileceği dahil olmak üzere konuları ayrıntılı olarak açıklamaktadır.

Bir Görüntüyü Okumak

Yastık kitaplığını kullanarak resim okumak ve yazmak çok basittir. PIL.Image module function.

Sözdizimi

Image.open(fp, mode=’r’)

Nerede

  • fp- Bir dosya adı (dize), pathlib.Path nesnesi veya bir dosya nesnesi. Dosya nesnesi read (), seek () ve tell () yöntemlerini uygulamalı ve ikili modda açılmalıdır.

  • mode - Verilirse, isteğe bağlı bir argüman 'r' olmalıdır.

  • Return value - Bir Görüntü nesnesi.

  • Error - Dosya bulunamazsa veya görüntü açılamaz ve tanımlanamazsa.

Misal

Aşağıda, herhangi bir formattaki bir resmi açacağımız çok basit bir örnek var (Kullanıyoruz.jpg), bir pencerede görüntüleyin ve ardından başka bir dosya biçimiyle (.png).

from PIL import Image
image = Image.open('beach1.jpg')
image.show()
image.save('beach1.bmp')
image1 = Image.open('beach1.bmp')
image1.show()

Yukarıdaki örnekte, Görüntü modülünü PIL kitaplığından içe aktarıyoruz ve ardından Image.open()bir görüntü nesnesi veri türü döndüren diskten bir görüntüyü okumak için işlev. Dosya içeriğine bakarak dosya türünü otomatik olarak belirleyecektir. Okumak içinopen() işlev kabul eder filename(string), bir path object veya bir image(file) nesne.

Yani open () işlevini kullanarak aslında görüntüyü okuyoruz. Image.open () resmi okuyacak ve resimden ilgili tüm bilgileri alacaktır.

Çıktı

Yukarıdaki programı Example.py olarak kaydedip yürütürseniz, orijinal (.jpg) ve yeniden kaydedilmiş (.bmp) görüntüleri standart PNG görüntüleme yardımcı programını kullanarak aşağıdaki gibi görüntüler -

Actual image

Resaved image (.bmp)

Bir Görüntüyü Kaydetme

Save () işlevi bir görüntüyü dosyaya yazar. (Open () işlevi) okumak için olduğu gibi, save () işlevi bir dosya adını, bir yol nesnesini veya yazmak için açılmış bir dosya nesnesini kabul eder.

Sözdizimi

Image.save(fp, format=None, **params)

Nerede,

  • fp - Bir dosya adı (dize), pathlib.Path nesnesi veya dosya nesnesi.

  • format- İsteğe bağlı biçim geçersiz kılma. Atlanırsa, kullanılacak format dosya adı uzantısından belirlenir. Dosya adı yerine bir dosya nesnesi kullanılmışsa, bu parametre her zaman kullanılmalıdır.

  • options - Görüntü yazıcısına ekstra parametreler.

  • Return value - Yok

  • KeyError - Çıktı biçimi dosya adından belirlenemezse, bunu çözmek için biçim seçeneğini kullanın.

  • IOError - Dosya yazılamazsa, dosya oluşturulmuş ve kısmi veriler içeriyor olabilir.

Kısaca, yukarıdaki sözdizimi, görüntüyü verilen dosya adı altında kaydedecektir. Biçim belirtilmezse, geçerli dosya adı uzantısına bağlıdır. Yazara ek talimatlar sağlamak için anahtar kelime seçeneklerini kullanıyoruz.

image.save('beach1.bmp')

Yukarıdaki örnekte, örneğin görüntünün türünü belirlemek için dosyayı dosya uzantısına göre kaydeder - yukarıdaki, mevcut çalışma dizinimizde bir bmp dosyası oluşturacaktır.

Dosya türünü ikinci bir parametre olarak da açıkça belirtebilirsiniz -

image.save('beach1.gif', 'GIF')