🤖 Google Colab ile Yapay Zeka ve Görüntü İşleme Dünyasına Giriş
Google Colab, yapay zeka (YZ) ve görüntü işleme projeleri için harika bir platform sunar. Bulut tabanlı olması, güçlü donanım kaynaklarına ücretsiz erişim sağlaması ve kolay kullanılabilir arayüzü sayesinde, hem yeni başlayanlar hem de deneyimli geliştiriciler için ideal bir ortamdır. Bu yazıda, Google Colab'ı kullanarak nasıl görüntü işleme projeleri geliştirebileceğinizi adım adım inceleyeceğiz.
🎨 Gerekli Kütüphanelerin Kurulumu
Görüntü işleme projelerinde sıklıkla kullanılan bazı kütüphaneleri Colab ortamına kurarak başlayalım:
- 🐍 OpenCV (cv2): Görüntü işleme algoritmaları için kapsamlı bir kütüphane.
- 🔢 NumPy: Diziler ve matrisler üzerinde işlem yapmak için temel bir kütüphane.
- 📈 Matplotlib: Görüntüleri ve grafikleri görselleştirmek için kullanılır.
- 🖼️ Pillow (PIL): Görüntü dosyalarını okuma, yazma ve işleme yetenekleri sunar.
Bu kütüphaneleri kurmak için aşağıdaki kodu Colab'da çalıştırabilirsiniz:
python
!pip install opencv-python
!pip install numpy
!pip install matplotlib
!pip install Pillow
📂 Görüntü Verisinin Yüklenmesi
Colab'a görüntü verisi yüklemenin birkaç yolu vardır:
- 💾 Yerel Dosyadan Yükleme: Colab arayüzündeki "Dosyalar" sekmesini kullanarak bilgisayarınızdan doğrudan dosya yükleyebilirsiniz.
- ☁️ Google Drive'dan Yükleme: Google Drive'ınızdaki görüntüleri Colab'a bağlayarak kullanabilirsiniz. Bunun için aşağıdaki kodu kullanabilirsiniz:
python
from google.colab import drive
drive.mount('/content/drive')
Bu kodu çalıştırdıktan sonra, Google hesabınızla yetkilendirmeniz gerekecektir. Ardından, Google Drive'ınızdaki dosyalara `/content/drive/MyDrive/` yolu üzerinden erişebilirsiniz.
- 🌐 URL'den Yükleme: Görüntülerin URL'lerini kullanarak doğrudan Colab'a indirebilirsiniz. Örneğin:
python
import urllib.request
urllib.request.urlretrieve("https://www.easygifanimator.net/images/samples/video-to-gif-sample.gif", "sample.gif")
🛠️ Temel Görüntü İşleme Teknikleri
Şimdi, temel görüntü işleme tekniklerine bir göz atalım:
🌈 Görüntüyü Okuma ve Görüntüleme
OpenCV ve Matplotlib kullanarak bir görüntüyü okuyabilir ve görüntüleyebilirsiniz:
python
import cv2
import matplotlib.pyplot as plt
# Görüntüyü oku
img = cv2.imread('sample.gif')
# OpenCV, renkleri BGR formatında okur, bu yüzden RGB'ye çevirelim
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# Görüntüyü görüntüle
plt.imshow(img_rgb)
plt.axis('off') # Eksenleri kapat
plt.show()
📏 Görüntüyü Yeniden Boyutlandırma
Görüntünün boyutunu değiştirmek için `cv2.resize()` fonksiyonunu kullanabilirsiniz:
python
resized_img = cv2.resize(img_rgb, (200, 200)) # Genişlik ve yükseklik
plt.imshow(resized_img)
plt.axis('off')
plt.show()
⚙️ Gri Tonlamaya Dönüştürme
Görüntüyü gri tonlamaya dönüştürmek için `cv2.cvtColor()` fonksiyonunu kullanabilirsiniz:
python
gray_img = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2GRAY)
plt.imshow(gray_img, cmap='gray') # cmap='gray' gri tonlamayı belirtir
plt.axis('off')
plt.show()
模糊laştırma (Blurring)
Görüntüdeki gürültüyü azaltmak için bulanıklaştırma tekniklerini kullanabilirsiniz. Örneğin, Gaussian Blur:
python
blurred_img = cv2.GaussianBlur(img_rgb, (5, 5), 0) # (5, 5) çekirdek boyutu
plt.imshow(blurred_img)
plt.axis('off')
plt.show()
邊緣 Algılama (Edge Detection)
Görüntüdeki kenarları tespit etmek için Canny Edge Detection algoritmasını kullanabilirsiniz:
python
edges = cv2.Canny(gray_img, 100, 200) # 100 ve 200 eşik değerleri
plt.imshow(edges, cmap='gray')
plt.axis('off')
plt.show()
🧠 Yapay Zeka ile Görüntü İşleme
Google Colab, TensorFlow ve Keras gibi derin öğrenme kütüphanelerini kullanarak daha karmaşık yapay zeka tabanlı görüntü işleme projeleri geliştirmenize olanak tanır. Örneğin, bir görüntü sınıflandırma modeli oluşturabilir veya nesne tespiti yapabilirsiniz.
🐾 Görüntü Sınıflandırma
Küçük bir örnek olarak, MNIST veri kümesini kullanarak basit bir görüntü sınıflandırma modeli oluşturalım:
python
import tensorflow as tf
from tensorflow import keras
# MNIST veri kümesini yükle
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
# Veriyi ön işleme
x_train = x_train.astype('float32') / 255.0
x_test = x_test.astype('float32') / 255.0
# Modeli oluştur
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax') # 10 sınıf (0-9 rakamları)
])
# Modeli derle
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# Modeli eğit
model.fit(x_train, y_train, epochs=2)
# Modeli değerlendir
loss, accuracy = model.evaluate(x_test, y_test)
print('Doğruluk:', accuracy)
🚀 Sonuç
Google Colab, yapay zeka ile görüntü işleme projeleri geliştirmek için güçlü ve erişilebilir bir platformdur. Bu yazıda, temel görüntü işleme tekniklerinden derin öğrenme tabanlı görüntü sınıflandırmaya kadar çeşitli konuları ele aldık. Bu bilgileri kullanarak kendi projelerinizi geliştirmeye başlayabilir ve yapay zeka ile görüntü işleme dünyasında keşifler yapabilirsiniz. Unutmayın, pratik yaparak ve farklı algoritmaları deneyerek daha da uzmanlaşabilirsiniz!