Python - Görüntü İşlemede Kullanılan Modüller ve Kurulumları

Merhaba Arkadaşlar,

Python'da ki en popüler görüntü işleme modüllerini ve bu modüllerin kurulum ile kullanım alanlarından bahsedicem.Sırasıyla modüller;

  • PIL (Pillow)
  • Numpy
  • Matplotlib
  • OpenCV
Bağımlılıklar;
$ sudo apt-get install libjpeg-dev libpng12-dev

* PIL (Pillow) - Python Image Library

Python'da image dosyalarıyla oynamak için en çok tercih edilen modüldür.Kullanımı fazlasıyla basit, dökümantasyonu diğerlerine göre daha anlaşılabilir ve topluluk olarak daha büyük bir topluluğa sahiptir Python'da. En başta neden özel olarak "image" diye belirttiğime gelirsek, bu modül ile Video Processing yapılamıyor.Yani video dosyalarını bu modül ile kullanamıyorsunuz.Veya kameranızdan görüntü elde edemiyorsunuz. PIL modülü Pillow altında geliştirilen bir modüldür.Kurulum aşamasında da direkt PIL'i kurmak yerine Pillow kütüphanesini kurmanızı önerebilirim.

Kurulum;

$ sudo pip install Pillow
Kullanım;
import PIL
from PIL import Image

* Numpy

Python'da pek sık tercih edilen bir modül değildir.Ama bir cankurtaran görevi gören modül olduğu için bahsedecem.Özellikle PIL ile açılan image dosyalarını pixel pixel ayırarak dizi haline çevirme konusunda çok sık kullanılır.Ya da şöyle söyleyeyim, komplike bir proje planlıyorsunuz ve PIL ile OpenCV modüllerini ortak kullanmak zorundasınız.PIL modülü ile açtığınz image dosyasını OpenCV ile pencerede göstermek istediğiniz zaman OpenCV sizden image'ı direk olarak değilde dizi halinde ister haliyle de burada Numpy image'ı diziye çevirebildiği için hayati vuruşu yapar.

Kurulum;

$ sudo pip install numpy
Kullanım;
import numpy

* Matplotlib

Matplotlib, bu modüllerimiz arasında ki belkide en alçak gönüllü modülümüzdür.Diğerlerine göre daha az bilinir ve kullanılır, ama yeri geldiğinde fazlasıyla ihtiyaç duyulan bir modül olduğu gerçeğini de değiştiremeyiz.Aynı zamanda Numpy ile aynı developer grubu tarafından geliştirilmiştir. Bu modül ile image dosyalarımızı çalışma esnasında görüntüleyebilir, pixel pixel analiz yapabiliriz.OpenCV'den farkı ise, image dosyalarını grafiksel bir pencerede gösterir, istersek bu image dosyalarını o anda kayıt bile edebiliriz.Grid Layout metodu ile birden fazla image'ı aynı pencerede açabiliriz, grafiklerden yararlanabiliriz gibi gibi.

Kurulum;

$ sudo pip install matplotlib
Kullanım;
import matplotlib

* OpenCV - Open Source Computer Vision

OpenCV, bu 4 modül arasında belki de en çok bilineni, tanınanı, ün yapmışı, reisi olarak bilinir.C++ üzerinde de kullanabilir, Python üzerinde de.PIL gibi "image" kısıtlaması yapmaz, video processing desteği de vardır.Kameranızdan eş zamanlı olarak görüntüyü de elde edebilirsiniz.Kısacası, birçok işlem OpenCV üzerinden döner. Eğer C++ içinde kullanacaksanız aşağıda vereceğim komutu değil, tüm kütüphaneyi indirip kurmanız gerekmekte.Bunun içinde bu github adresini kullanabilirsiniz.

Kurulum;

$ sudo pip install SimpleCV
Kullanım;
import cv2
 

! Buradaki modüllerin hepsi ubuntu/debian üzerinde "apt-get" ile de kurulabilecek modüller.Fakat apt-get ile güncellemeler geç geldiği için, pek önerdiğim bir yöntem değildir.Umarım faydalı olmuştur, kolay gelsin..


Tags: görüntü işleme, image processing, library, python