Python ile Görüntü İşleme: Başlangıç Seviyesi İçin 10 Pratik Uygulama

Python ile Görüntü İşleme: Başlangıç Seviyesi İçin 10 Pratik Uygulama

Python ile görsel işleme dünyasına adım atmak isteyenler için başlangıç seviyesinde 10 pratik uygulama örneği. Bu yazı, görseller üzerinde temel işlemler yapmayı öğretir.

Al_Yapay_Zeka

Görüntü İşlemeye Başlarken: Python ile Tanışma



Python, başlangıç seviyesindeki geliştiriciler için en uygun dillerden biridir. Basit söz dizimi ve güçlü kütüphaneleri sayesinde, karmaşık projelere bile hızlıca adım atabilirsiniz. Eğer görsel işleme dünyasına adım atmayı düşünüyorsanız, Python doğru seçim olabilir. Bu yazıda, Python ile görsel işleme konusunda başlangıç seviyesinde 10 pratik uygulama örneğiyle yol alacağız.

1. Resim Yükleme ve Gösterme



İlk adım olarak, görselleri yüklemek ve basitçe göstermek temel bir adımdır. Python’un `PIL` (Pillow) kütüphanesini kullanarak, bir resmin nasıl yüklendiğini ve gösterildiğini öğrenmek, tüm görüntü işleme sürecinin temeli olacaktır.


from PIL import Image
img = Image.open('resim.jpg')
img.show()


Bu basit kod, bir resmi yükler ve ekranda gösterir. Ne kadar basit değil mi?

2. Görüntü Boyutlandırma



Görüntü işleme, boyutlandırma gibi işlemleri içerebilir. `resize()` fonksiyonu ile görseli yeniden boyutlandırmak oldukça kolaydır.


img_resized = img.resize((800, 600))
img_resized.show()


Bu işlem, görselin boyutunu 800x600 piksele göre değiştirir.

3. Resmi Grayscale (Gri Tonlamaya) Dönüştürme



Görselleri gri tonlara dönüştürmek, genellikle analiz ve işleme adımlarında sıkça yapılan bir işlemdir. `convert()` fonksiyonu sayesinde bu dönüşümü kolayca gerçekleştirebilirsiniz.


img_gray = img.convert('L')
img_gray.show()


Bu kod, resmi siyah-beyaz yapacak ve gri tonlamalı bir görsel elde edeceksiniz.

4. Görselleri Döndürme



Bir görseli döndürmek de sıkça ihtiyaç duyulan işlemlerden biridir. `rotate()` fonksiyonu ile resminizi istediğiniz açıyla döndürebilirsiniz.


img_rotated = img.rotate(45)
img_rotated.show()


Bu örnekte, resminiz 45 derece dönecektir.

5. Görselle İşlem Uygulama: Kenar Tespiti



Görüntü işleme dünyasında en yaygın kullanılan tekniklerden biri kenar tespitidir. `Canny` algoritmasını kullanarak kenar tespiti yapabilirsiniz. Bunun için `OpenCV` kütüphanesini kullanmak iyi bir seçenek olacaktır.


import cv2
img_cv = cv2.imread('resim.jpg', 0)
edges = cv2.Canny(img_cv, 100, 200)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()


Bu işlem, görseldeki kenarları tespit eder ve görüntüyü gösterir.

6. Görsel Üzerine Metin Ekleme



Görseller üzerine metin eklemek, resminize anlam katmanın harika bir yoludur. `ImageDraw` sınıfını kullanarak istediğiniz metni görsele yerleştirebilirsiniz.


from PIL import ImageDraw, ImageFont
draw = ImageDraw.Draw(img)
font = ImageFont.load_default()
draw.text((10, 10), "Merhaba Python!", font=font, fill="white")
img.show()


Burada, "Merhaba Python!" yazısını görselin üst kısmına yerleştiriyoruz.

7. Görüntüde Renk Değiştirme



Görselin renklerini değiştirmek de oldukça popüler bir işlemdir. `ImageEnhance` sınıfı sayesinde renk yoğunluğunu artırabilir veya azaltabilirsiniz.


from PIL import ImageEnhance
enhancer = ImageEnhance.Color(img)
img_enhanced = enhancer.enhance(2)  # Renk yoğunluğunu iki katına çıkar
img_enhanced.show()


Bu işlem, görselin renk doygunluğunu artırır.

8. Görseli Yansıma Yapma



Görsel üzerinde yansıma efekti uygulamak oldukça ilginç bir işlemdir. Bunu, görselin altına bir yansıma ekleyerek sağlayabilirsiniz.


img_reflection = img.transpose(Image.FLIP_TOP_BOTTOM)
img_reflection.show()


Bu basit işlem, görselin yansımasını ters çevirerek görüntülemenizi sağlar.

9. Görselle Filtre Uygulama



Görseller üzerinde çeşitli filtreler uygulamak, görselliği değiştirmek için kullanılır. `ImageFilter` sınıfı ile bulutlu, bulanık veya kenar yumuşatma filtreleri uygulayabilirsiniz.


from PIL import ImageFilter
img_filtered = img.filter(ImageFilter.BLUR)
img_filtered.show()


Bu kod, resminize bulanık bir filtre ekler.

10. Resimlerin Birleştirilmesi



Birden fazla resmi birleştirerek yeni görseller oluşturmak oldukça yaygın bir işlemdir. `paste()` fonksiyonu sayesinde bir resmi başka bir görselin üzerine yapıştırabilirsiniz.


img2 = Image.open('resim2.jpg')
img.paste(img2, (100, 100))  # img2'yi img'ye 100,100 koordinatında yapıştır
img.show()


Bu işlem, iki farklı görseli birleştirmenizi sağlar.

Sonuç



Python ile görüntü işleme oldukça eğlenceli ve öğretici bir yolculuktur. Bu yazıda, başlangıç seviyesinde 10 pratik uygulama ile Python'un gücünü keşfettik. Her bir adım, Python ile görsel işleme dünyasına adım atmak isteyenler için bir rehber niteliğinde. Eğer bu temel adımları öğrenirseniz, daha karmaşık projelere de adım atmak çok daha kolay olacaktır.

İlgili Yazılar

Benzer konularda diğer yazılarımız

No Code ile Web Uygulaması Yapmak: Yeni Başlayanlar için Adım Adım Rehber

No Code ile Web Uygulaması Yapmak: Başlamak İçin Hangi Adımları İzlemelisin?No-code dünyası son yıllarda yazılım geliştirme konusunda devrim yaratmış durumda. Belki de "Web uygulaması geliştirmek istiyorum ama kod yazamıyorum" diye düşündüğünüz anlar...

Yapay Zeka ile Yazılım Geliştirme: Geleceğin Kod Yazma Süreçleri Nasıl Değişiyor?

Yazılım geliştirme, teknoloji dünyasında hızla evrilen bir alan. Ancak bu değişim sadece yeni programlama dillerinden veya geliştirilmiş algoritmalardan ibaret değil. Şimdi, yapay zeka (AI) devreye giriyor ve yazılım geliştirme sürecini yeniden şekillendiriyor....

Veritabanı Performansını Artırmanın 10 Yolu: Yazılım Geliştiriciler İçin İpuçları ve Stratejiler

Veritabanları, yazılım geliştiricilerin karşılaştığı en zorlu engellerden birini oluşturur. İster küçük bir uygulama geliştirin, ister büyük bir kurumsal sistem inşa edin, veritabanı performansı her zaman kritik bir faktördür. Veritabanı yavaşladığında,...

Python'da Veritabanı Bağlantı Hataları: 'OperationalError: (sqlite3.OperationalError) unable to open database file' ve Çözüm Yöntemleri

Bir Python geliştiricisi olarak, veritabanı bağlantısı kurarken bazen "OperationalError: (sqlite3.OperationalError) unable to open database file" hatasıyla karşılaşabilirsiniz. Eğer bu hatayı daha önce almadıysanız, karşınıza çıktığında oldukça kafa karıştırıcı...

Docker ile Mikroservisler Arası İletişimi Güçlendiren 5 İleri Düzey Yöntem

Docker ve mikroservis mimarisi, yazılım geliştirme dünyasında devrim yarattı. Geliştiriciler, monolitik yapıları terk edip, mikroservislerle daha modüler, ölçeklenebilir ve yönetilebilir sistemler kurmaya başladılar. Ancak, mikroservislerin sunduğu avantajlar...

Perl'de "Use of Uninitialized Value" Hatası ve Çözüm Yöntemleri

Bir gün Perl ile yazdığınız kodu çalıştırmaya başladığınızda, beklenmedik bir hata mesajı ile karşılaştınız. Hata mesajı tam olarak şöyle: **"Use of uninitialized value"**. Hadi gelin, bu mesajın ne anlama geldiğini birlikte keşfedelim ve kodumuzdaki...