logo

Python'da Görsellerle Çalışmak

PIL, python yorumlayıcısına görüntü düzenleme yetenekleri sağlayan Python Görüntüleme Kitaplığıdır. Fredrik Lundh ve diğer birçok katkıda bulunan kişi tarafından geliştirildi. Pillow, Alex Clark ve diğer katkıda bulunanlar tarafından geliştirilen, dost canlısı PIL çatalı ve kullanımı kolay bir kütüphanedir. Pillow'la çalışacağız.

Kurulum:

js dizisi
  • Linux: Linux terminalinde aşağıdakini yazın:
    pip install Pillow
    Pip'in terminal aracılığıyla kurulması:
    sudo apt-get update  
    sudo apt-get install python-pip
  • Windows: İndirmek python sürümünüze göre uygun Yastık paketini seçin. Sahip olduğunuz python sürümüne göre indirdiğinizden emin olun.

Burada aynı isimde bir sınıf sağlayan ve görsellerimiz üzerinde çalışmak için birçok fonksiyon sağlayan Image Modülü ile çalışacağız. Image modülünü içe aktarmak için kodumuz aşağıdaki satırla başlamalıdır:



 from PIL import Image

Görsellerle Yapılan İşlemler:

aslana kıyasla kaplan
  • Bir yoldan belirli bir resmi açın: Python
    #img = Image.open(path)  # On successful execution of this statement # an object of Image type is returned and stored in img variable) try: img = Image.open(path) except IOError: pass # Use the above statement within try block as it can  # raise an IOError if file cannot be found  # or image cannot be opened. 
  • Resmin boyutunu al : Image sınıfının oluşturulan örneklerinin birçok özelliği vardır, kullanışlı özelliklerinden biri de boyuttur. Python
    from PIL import Image filename = 'image.webp' with Image.open(filename) as image: width height = image.size #Image.size gives a 2-tuple and the width height can be obtained 
    Diğer bazı özellikler şunlardır: Resim.genişlik Resim.yükseklik Resim.format Resim.bilgi vb.
  • Resimdeki değişiklikleri kaydedin: Resim dosyasında yaptığınız değişiklikleri kaydetmek için resim formatının yanı sıra yol da vermemiz gerekiyor. Python
    img.save(path format) # format is optional if no format is specified  #it is determined from the filename extension 
  • Bir Görüntüyü Döndürme: Görüntünün döndürülmesi için görüntü döndürme parametresi olarak açıya ihtiyaç vardır. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #Angle given img = img.rotate(180) #Saved in the same relative location img.save('rotated_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    python'da bir görüntüyü döndürme' src='//techcodeview.com/img/python/71/working-with-images-in-python.webp' title=Not: Döndürme yönteminin argümanlarından biri olarak isteğe bağlı bir genişletme bayrağı vardır; bu bayrak, doğru olarak ayarlanırsa çıktı görüntüsünü, tam döndürülmüş görüntüyü tutacak kadar büyütecek şekilde genişletir. Yukarıdaki kod parçacığında görüldüğü gibi, resmimin python kod dosyamla aynı dizinde bulunduğu göreceli bir yol kullandım ve mutlak bir yol da kullanılabilir.
  • Bir Görüntünün Kırpılması: Image.crop(box), 4'lü (sol üst sağ alt) piksel koordinatını alır ve kullanılan görüntüden dikdörtgen bir bölge döndürür. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') width height = img.size area = (0 0 width/2 height/2) img = img.crop(area) #Saved in the same relative location img.save('cropped_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    python'da bir görüntüyü kırpma' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-1.webp' title=
  • Bir Resmi Yeniden Boyutlandırma: Image.resize(size)- Burada boyut 2'li genişlik ve yükseklik olarak sağlanır. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') width height = img.size img = img.resize((width/2 height/2)) #Saved in the same relative location img.save('resized_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    python'da bir resmi yeniden boyutlandırma' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-2.webp' title=
  • Bir resmi başka bir resmin üzerine yapıştırma: İkinci argüman 2'li (sol üst köşeyi belirtir) veya 4'lü (sol üst sağ alt) olabilir - bu durumda yapıştırılan görüntünün boyutu bu kutu bölgesinin boyutuyla eşleşmelidir veya Yok (0 0)'a eşdeğerdir. Python
    from PIL import Image def main(): try: #Relative Path #Image on which we want to paste img = Image.open('picture.webp') #Relative Path #Image which we want to paste img2 = Image.open('picture2.webp') img.paste(img2 (50 50)) #Saved in the same relative location img.save('pasted_picture.webp') except IOError: pass if __name__ == '__main__': main() ##An additional argument for an optional image mask image is also available. 
    Python'da bir görüntüyü diğerine yapıştırmak' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-3.webp' title=
  • Bir Görüntünün Histogramını Alma: Bu, görüntüdeki her piksel için bir piksel sayımı listesi olarak görüntünün histogramını döndürür. (Bir görüntünün histogramı, dijital bir görüntüdeki ton dağılımının grafiksel bir temsilidir. Bir görüntüde bulunan tüm parlaklık değerlerinin ne olduğunu içerir. Her parlaklık değeri için piksel sayısını çizer. Pozlama ayarlarının yapılmasına yardımcı olur.) PIL içe aktarma görüntüsünden Python
    def main(): try: #Relative Path img = Image.open('picture.webp') #Getting histogram of image print img.histogram() except IOError: pass if __name__ == '__main__': main() 
    python kopyasındaki görüntünün histogramını alma' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-4.webp' title=


  • Bir Görüntünün Transpoze Edilmesi: Bu özellik bize bir görüntünün ayna görüntüsünü verir Python
     from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #transposing image  transposed_img = img.transpose(Image.FLIP_LEFT_RIGHT) #Save transposed image transposed_img.save('transposed.webp') except IOError: pass if __name__ == '__main__': main() 
    python'da bir görüntüyü aktarma' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-5.webp' title=
  • Bir görüntüyü ayrı bantlara bölün: Bir görüntüyü RGB modunda bölmek, her biri orijinal ayrı bantların bir kopyasını içeren üç yeni görüntü oluşturur. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #splitting the image print img.split() except IOError: pass if __name__ == '__main__': main() 
    python'da bir görüntüyü bölme' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-6.webp' title=
  • bit haritası: Bir görüntüyü X11 bitmap'e dönüştürme (Düz metin ikili görüntü formatı). X11 bitmap içeren bir dize döndürür; yalnızca mod 1 görüntüler, yani 1 bit piksel siyah beyaz görüntüler için kullanılabilir. PIL içe aktarma görüntüsünden Python
    def main(): try: #Relative Path img = Image.open('picture.webp') print img.mode #converting image to bitmap print img.tobitmap() print type(img.tobitmap()) except IOError: pass if __name__ == '__main__': main() 
    python'da görüntüyü bitmap'e dönüştürme' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-7.webp' title= python'da görüntüyü bitmao'ya dönüştürme' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-8.webp' title=
  • Küçük resim oluşturma: Bu yöntem, açılan görüntünün küçük resmini oluşturur. Yeni bir görüntü nesnesi döndürmez, halihazırda açık olan görüntü nesnesinin kendisinde yerinde değişiklik yapar. Orijinal görüntü nesnesini değiştirmek istemiyorsanız bir kopyasını oluşturun ve ardından bu yöntemi uygulayın. Bu yöntem aynı zamanda geçirilen boyuta göre görüntünün en boy oranını korumanın uygunluğunu da değerlendirir. PIL içe aktarma görüntüsünden Python
    def main(): try: #Relative Path img = Image.open('picture.webp') #In-place modification img.thumbnail((200 200)) img.save('thumb.webp') except IOError: pass if __name__ == '__main__': main() 
    python'da görüntünün küçük resmini oluşturma' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-9.webp' title=
Test Oluştur