‘hareket özetleme’ etiketli içerik
Videolardan alınan örneklerden oluşan görüntü dizilerinin birleştirilerek özet kare elde edilmesi basit bir işlem olmakla birlikte çeşitli ileri uygulamaların temeli olabilir. Fizikte bir eylemin özetlenmesi, örneğin belirli açılarla fırlatılan bir topun bu eğik atış hareketindeki yörüngesinin gözlenmesi görüntü dizisi birleştirme ile sağlanabilir. Daha sonraki aşamalarda görüntü dizilerinden hareket vektörleri çıkarılarak trafik yönünün ve akış hızının belirlenmesi gibi benzer uygulamalar yapılabilir. Ancak proje konumuz kapsamında olmadığı için bu uygulama ile ilgilenmedik.
Geliştirme Aşaması
Proje kapsamında bir videodan alınan 50 karenin C ile yazılmış program ile birleştirilmesi gerekiyordu. Görüntü dosyaları üzerinde işlem yapabilmek için öncelikle yardımcı c kütüphanelerini araştırdık. Sonrasında bitmap dosyasının yapısını incelediğimizde bu işlemi yardımcı görüntü işleme kütüphaneleri olmadan da kolaylıkla yapabileceğimizi gördük. Gri tonlamalı bir bitmap dosyası 14 byte dosya başlık bilgisi, 40 byte görüntü başlık bilgisi ve her biri bir byte olan piksel değerlerinden oluşuyordu. Görüntülerin tutulacağı 2 boyutlu dizinin boyutunu dinamik olarak belirlerken bu başlık bilgisinden faydalandık. Programda kullandığımız değişkenleri çoğunlukla unsigned char türünde tanımladık. Bir byte boyutunda olan bu değişken tipi, görüntü üzerinde byte bazında yapılan işlemlerde kolaylık sağladı.
Örneklenen karelerin belirgin olması için videoları saniyede yaklaşık 8 kare çekebilen bir fotoğraf makinesiyle timelapse yöntemini kullanarak çektik. Birleştirilmiş görüntüyü elde etmede kullanılan fotoğraf sayısı arttıkça görüntünün netliğini yitirdiğini gördük. Örneğin 50 kare ile çalıştığımızda en açık beyaz piksel olan 255 bile örnek sayısı olan 50 ye bölündüğünde 5 e düşüyor ve elde edilecek görüntüde aynı konumdaki pikselle toplandığında sonuca etkisi çok büyük olmuyor. Çalıştırma örnekleri bölümünde de örnekleri bulunan elde ettiğimiz görüntüler bu durumu destekler nitelikte.
Çalışma hakkında bilgi ve çalıştırma örneklerine aşağıdaki linkten ulaşabilirsiniz:
Hareket Özetleme
Kaynak kodlar için:
