OpenCV Dosya Sisteminden Görüntü Okuma

Eksik/Güncel Olmayan Bilgi Raporla

Dosya Sisteminden Görüntü Okuma

OpenCV ile dosya sisteminden görüntü dosyası okumak için Imgcodecs paketi içerisindeki imread metodu kullanılmaktadır. Bu konu öncesinde önemli bir sınıf olan Mat sınıfına göz atalım.

Mat tipi olarak da adlandırabileceğimiz bu sınıf, görüntü barındırma işlevine sahiptir. Okunan görüntü dosyaları OpenCV kütüphanesin de mat sınıfında tutulmaktadır. Alınan görüntü renk uzayına göre farklı boyutlarda olabilecek dizi haline getirilerek bu tip içerisinde tutulur.

Bir örnek yapalım ve dosya sisteminden görüntü okuyarak bunu mat tipi içerisinde tutalım.

OpenCV kütüphanesini kullanmak için native kütüphaneyi yüklememiz gerekmekte, bunun için loadLibrary metotu ile bu işlemi yapıyoruz. Bir adet mat nesnesi tanımlıyoruz bu nesne ile okunacak olan görüntüyü üzerinde işlem yapmak için barındırabileceğiz. Imgcodecs.imread ile parametre olarak bulunduğu dosya adresi verilen resim.jpg resmini okuyoruz. Okunan bu resim dosyasını dijital olarak imageArray mat nesnesi tutmaktadır, artık bu nesne üzerinden o görüntüye ulaşabiliriz. Resim dosyası okunduğunda bu resmin eni ve boyu kadar mat nesnesi boyutlandırılır ve satır, sütün sayısını yazdırdığımızda resmin satır sütun sayısını elde edebiliriz, satır ve sütun çarpımı ise kaç adet piksele (hücreye) sahip olduğunu gösterecektir.

 

Yukarıdaki örneği OpenCV 3.x sürümü yerine OpenCV 2.x sürümü ile gerçekleştirecek olursak değişen tek şey imread metodunu çağırdığımız sınıf olacaktır. OpenCV 2.x sürümü görüntü okuma, yazma işlemleri Highgui ile yapılmaktaydı, 3.x sürümü ile birlikte bunlar Imgcodecs içerisine taşınmıştır.

Video Dosyası Okuma

Aynı yöntemle video dosyasını okumak  için aşağıdaki gibi bir örnek yapalım. Video okurken dikkat etmeniz gereken konu videonun codec’i dir.Aşağıdaki örnek gösterilen video dosyasındaki 100 frame i resim olarak dosya sistemine yazmaktadır.

 

Yorumlar

yorumlar





Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir