Python ile Görüntüleri Diziye Dönüştürme

Giriş

Görüntüler, günümüz teknolojisinin en önemli bileşenlerinden biridir. Veri bilimi, makine öğrenmesi ve yapay zeka alanlarında görüntü işleme, büyük bir rol oynamaktadır. Python, bu süreçte en sık kullanılan dillerden biri olup, birçok kütüphane ile bu işlemleri kolaylaştırmaktadır. İster bir fotoğraf üzerinde yüz tespit etmek ister derin öğrenme modelleri için veri hazırlamak isteyin, görüntüleri diziye dönüştürmek, bu uygulamaların temel bir adımıdır.

Bu yazıda, Python kullanarak bir görüntüyü nasıl diziye dönüştürebileceğimizi adım adım inceleyeceğiz. Bildiğiniz gibi, görüntüler piksel verileri içerir ve bu verileri işlemek için genellikle sayısal bir formata dönüştürmemiz gerekmektedir. Dizi biçimleri, görüntüleri makine öğrenmesi modellerinde kullanmak için daha uygun hale getirir.

Bu süreçte kullanacağımız ana araçlar, Popüler Python kütüphaneleri olan NumPy ve OpenCV’dir. Bu yazıda, genel bir süreç tanımlamanın yanı sıra, örneklerle de konuyu pekiştireceğiz. Hazırsanız, hemen başlayalım!

Gerekli Kütüphanelerin Kurulumu

Python ortamınıza gerekli kütüphaneleri kurmak, görüntüleri diziye dönüştürmek için ilk adımdır. Terminalinizde aşağıdaki komutları çalıştırarak NumPy ve OpenCV kütüphanelerini kurabilirsiniz:

pip install numpy opencv-python

NumPy, çok boyutlu diziler ve karmaşık matematiksel işlemler için harika bir kütüphanedir. OpenCV ise görüntü işleme ve bilgisayarla görme uygulamalarında yaygın olarak kullanılan bir kütüphanedir. Kurulum tamamlandıktan sonra, Python scriptimizle birlikte bu kütüphaneleri kullanmaya başlayabiliriz.

Her iki kütüphane de oldukça geniş bir bellek alanına sahiptir ve belgeleri ile pek çok özellik sunar. Alıştırmalarımıza başlamadan önce, bu kütüphanelerin temel işlevleri hakkında kısa bir bilgi edinmek faydalı olacaktır.

Bir Görüntüyü Diziye Dönüştürme

Bir görüntüyü diziye dönüştürmek için ilk olarak, OpenCV kullanarak görüntüyü yüklememiz gerekir. Bu işlem, görüntüyü bellek alanımıza alır ve Python ile işlenebilir hale getirir. Aşağıdaki kod parçacığı ile bir görüntüyü nasıl yükleyip diziye dönüştüreceğimizi göstereceğiz:

import cv2
import numpy as np

# Görüntüyü yükleme
img = cv2.imread('ornek.jpg')

# Görüntüyü diziye dönüştürme
img_array = np.array(img)

Bu kodda, ‘ornek.jpg’ adındaki görüntüyü yüklüyoruz ve ardından bu görüntüyü NumPy dizisine dönüştürüyoruz. Bu noktada, img değişkeni bir görüntü nesnesi iken, img_array değişkeni ise bu görüntünün dizi temsili olacaktır. img_array, piksel değerlerini içeren çok boyutlu bir NumPy dizisi olarak karşımıza çıkacaktır.

OpenCV kütüphanesi, görüntüyü BGR formatında yükler. Yani, eğer RGB formatında bir görüntü istiyorsanız, diziyi dönüşüm yaparak düzenlemeniz gerekebilir. Bunun için aşağıdaki gibi bir kod kullanabilirsiniz:

img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

Dizide Görüntü Verilerini İşleme

Artık görüntümüzü bir diziye dönüştürdüğümüze göre, dizideki verileri işleyebiliriz. Görüntü işleme, görüntüyü çeşitli filtreler uygulayarak veya pikseller üzerinde bazı hesaplamalar yaparak geliştirilebilir. NumPy, bu tür işlemler için yüksek performans sağlar.

Örneğin, diziye dönüştürülmüş bir görüntü üzerinde renk filtreleri, kenar algılama veya parlaklık ayarlama gibi işlemleri gerçekleştirebiliriz. Aşağıda, görüntüyü gri tonlamaya dönüştüren bir örnek verilmiştir:

gray_image = cv2.cvtColor(img_array, cv2.COLOR_BGR2GRAY)

Yukarıdaki kodda, cvtColor fonksiyonu ile dizi formatındaki görüntümüzü gri tonlamaya dönüştürüyoruz. Bu tür dönüşümlerin uygulamaları, görüntü analizi ve nesne algılama süreçlerinde sıkça kullanılır.

Dizi Üzerinde Analiz Yapma

Görüntü üzerinde daha derin analizler yapmak istiyorsanız, görüntü dizisini kullanarak bazı temel analiz işlemleri başlatabilirsiniz. NumPy ile dizinin boyutunu öğrenebilir, belirli piksellerin değerlerine erişebilir ve görüntü üzerinde farklı işlemler gerçekleştirebilirsiniz.

Örneğin, görüntü dizisinin boyutunu öğrenmek için aşağıdaki kodu kullanabilirsiniz:

print(

Scroll to Top