MATLAB SİMULİNK İLE GÖRÜNTÜ İŞLEME -2 – Veri Bilimi Okulu
Abdullah Enes Doruk Yayınlanma Tarihi 20 Şubat 2020
Herkese merhabalar. Serimizin 2. bölümüne hoşgeldiniz. Bu bölümde Matlab simulink ile projemize video ve görüntü dahil etme, görüntüler üzerinde değişiklik yapma ve videoları kaydetme metotları blok diyagramlar ile gerçekleştirilecektir.
Serinin ilk bölümü: http://veribilimiokulu.com/matlab-simulink-ile-goruntu-isleme-1/
Şekil 1: Proje sayfası
Bu bölümde computer vision system toolbox altında sinks, sources ve geometric transformations alt bölümlerini göreceğiz.
1- Proje sayfasına görüntü veya video dosyası dahil etmek
2- Görüntü dosyası üzerinde geometrik dönüşümler yapmak
3- Video dosyası üzerinde yapılan geometrik dönüşümleri kaydetmek
1- Görüntü ve video dahil etmek
Projemize görüntü veya video dahil etmek için sources bölümünü kullanacağız.
Şekil 2: Sources alt bölümü
Video dahil etmek için From Multimedia File, görüntü dahil etmek için Image From File alt bölümü kullanılmaktadır.
Blok diyagramlarını proje sayfasına eklemek için sürükle bırak metodu kullanılmaktadır.
Şekil 3: Blok diyagramları eklemek
Eklediğimiz blok diyagramların üzerine iki kere tıkladığımızda diyagram özelliklerine ulaşıyoruz.
Şekil 4: Blok diyagram özellikleri
Browse butonu ile görüntü veya video dosya yolu seçilebilmektedir. Video ekleme diyagramı için output color format bölümü ile resmin renk formatı ayarlanabilmektedir.
Görüntü veya video dahil ettikten sonra video ve görüntüleri görüntülemek için sinks alt bölümünden video dosyası ve görüntü dosyasını görüntülemek için To Video Display blok diyagramı kullanılmaktadır. Burada görüntü dosyasını Video To Display diyagramı ile görüntüleyebilmemizin nedeni; videoların görüntülerden oluştuğu ve blok diyagramın görüntü dosyasını tek görüntülük video olarak kabul etmesidir.
Şekil 5: Görüntü ve video dosyasını görüntülemek
Projemizi çalıştırmak için;
Şekil 6: Soldaki görüntü, sağdaki video
Video’ nun saniyedeki görüntü karesine ulaşmak için sinks alt bölümünde Frame Rate Display blok diyagramı kullanılabilmektedir.
Şekil 7: Video’ nun saniyedeki görüntü karesi
2.1- Resize blok diyagram
Şekil 8: Resize blok diyagramı
Resize blok diyagramı ile görüntünün boyutunu veya görüntünün ilgilendiği bölgeyi değiştirebilmekteyiz. Görüntüyü yeniden boyutlandırmak için kullanmak istediğiniz parametreleri belirtmek için specify parametresini kullanın. Hem satırlara hem de sütunlara uygulanan bir skaler yüzde belirtebilir veya satırları ve sütunları farklı ölçeklemek için iki öğeli bir vektör belirtilmektedir. Çıktı görüntüsünü olmasını istediğiniz satır ve / veya sütun sayısını belirtebilir ve görüntünün en boy oranını koruyabilir veya değiştirebilirsiniz.
Şekil 9: Resize blok diyagramının proje sayfasına eklenmesi
Resize blok diyagramını dahil ettikten sonra blok diyagram özelliklerine erişiyoruz.
Şekil 10: Resize blok diyagram özellikleri
Specify kısmında resmimizi satır ve sütün değerlerini yazarak boyutlandırmak istediğimizi belirtebilmekteyiz. Satır ve sütun sayısına [120 120] yazıyoruz.
Apply butonuna tıklandığında görüntü 120×120 ölçeğinde boyutlanmış oldu.
Şekil 11: 120×120 görüntü
2.2- Rotation blok diyagram
Şekil 12: Rotation blok diyagram
Rotation blok diyagramı görüntüyü radyan cinsinden bir açıyla döndürür. Bu açıyı blok parametreleri iletişim kutusunu veya giriş bağlantı noktası açısını kullanarak belirleyebilirsiniz. Çıktının boyutunu belirlemek için output size parametresi kullanılmaktadır. Döndürülmüş giriş görüntüsüne sığacak şekilde Genişletilmiş seçeneğini belirlerseniz, blok tüm döndürülmüş görüntü değerlerini ve başka yerlerde sıfırları içeren bir matris çıkarır. Giriş görüntüsü ile aynı seçeneğini belirlerseniz, blok döndürülen görüntünün orta kısmını ve başka bir yerde sıfırları içeren bir matris çıkarır.
Açı bağlantı noktasını kullanarak dönüş açısını belirtirken, maksimum açı değeri 0’dan büyük, ancak pi radyandan küçük veya ona eşit olmalıdır.
Şekil 13: Rotation blok diyagramının proje sayfasına eklenmesi
Rotation blok diyagramını dahil ettikten sonra blok diyagram özelliklerine erişiyoruz.
Şekil 14: Rotation blok diyagram özellikleri
Angle bölümünde resmin döndürme açısı belirtilebilmektedir. Background fill value ile döndürüldükten sonra boşta kalan arka planı hangi piksel değerleri ile doldurulacağı belirtilebilmektedir. Bu görüntü için pi/6 derece ve arka plan 0 değerli pikseller ile doldurulma işlemi gerçekleştirilecektir.
Apply butonuna tıklayarak değişikler kaydediliyor. Run butonu ile proje başlatılıyor.
Şekil 15: Rotation işleminin uygulanması
2.3- Shear blok diyagram
Şekil 16: Shear blok diyagram
Shear blok diyagramı görüntünün her satırını veya sütununu doğrusal olarak artan veya azalan bir mesafeye kaydırır. Satırları veya sütunları yatay mı dikey mi kaydırmak istediğinizi belirtmek için Kesme yönü parametresi kullanılmaktadır. İki elemanlı bir vektör belirlemek için Satır / sütun kesme değerleri [ilk son] parametresi kullanılmaktadır. İlk öğe, ilk satırınızı veya sütununuzu kaydırmak istediğiniz piksel sayısını ve ikinci öğe, son satırınızı veya sütununuzu değiştirmek istediğiniz piksel sayısını temsil etmektedir.
Kırpmadan sonraki çıktı boyutu parametresi için Full‘ ı seçerseniz, blok tüm kesilen görüntüyü çıkarır. same as input image seçeneğini belirlerseniz, blok, tam kesilmiş görüntünün sol üst kısmını giriş görüntüsü ile aynı boyutlara sahip olarak çıktılar.
Şekil 17: Shear blok diyagramının proje sayfasına eklenmesi
Shear blok diyagramını dahil ettikten sonra blok diyagram özelliklerine erişiyoruz.
Şekil 18: Shear blok diyagram özellikleri
Kırpma işlemini düşey veya yatay olarak yapılabilmektedir. satır sütün olarak [0 125] değerleri seçildi. Arka plan 255 piksel değerleri ile dolduruldu.
Şekil 19: Shear işleminin düşey uygulanması
Şekil 20: Shear işleminin yatay uygulanması
2.4- Translate blok diyagram
Şekil 21: Translate blok diyagram
Translate blok diyagramı ile görüntüyü yukarı veya aşağı ve / veya sola veya sağa hareket ettirebilmekteyiz. İletişim kutusunu veya Ofset bağlantı noktasını kullanarak iki öğeli ofset vektörünüzü belirtebilirsiniz. İlk öğe, görüntünüzü kaydırmak için kaç piksel yukarı veya aşağı olduğunu gösterir. Pozitif bir değer girerseniz, blok görüntüyü aşağı taşır. İkinci öğe, görüntünüzü kaydırmak için kaç piksel sola veya sağa olduğunu gösterir. Pozitif bir değer girerseniz, blok görüntüyü sağa taşır.
Şekil 22: Translate blok diyagramının proje sayfasına eklenmesi
Translate blok diyagramını dahil ettikten sonra blok diyagram özelliklerine erişiyoruz.
Şekil 23: Trasnlate blok diyagram özellikleri
Offset kısmında [150 230] değerleri verilerek resmin sağa ve aşağı yönde kayması sağlanılabilmektedir. Arka plan 0 değerli pikseller ile dolduruldu.
Şekil 24: Translate işleminin uygulanması
Görüntü ve video üzerinde yapılan değişiklikleri kaydetmek için sinks alt bölümünü kullanılacaktır.
Şekil 25: To multimedia file blok diyagram
To multimedia file blok diyagramı video karelerini ve / veya ses örneklerini bir multimedya dosyasına yazar. Windows’ta, çıktı dosyasındaki ses ve / veya video akışlarını sıkıştırmak için ses ve video kompresörleri de mevcuttur. Belirtilen çıktı dosyası varsa, üzerine yazılır.
Şekil 22: To multimedia file blok diyagramının proje sayfasına eklenmesi
To multimedia file blok diyagramını dahil ettikten sonra blok diyagram özelliklerine erişiyoruz.
Şekil 23: To multimedia file blok diyagram özellikleri
File name kısmı ile kaydedilecek dosyanın ismini ve dosya yolunu seçebilmekteyiz. File type ile dosya formatını seçebilmektedir. Video compressor ile dosyayı sıkıştırma işlemi yapılabilmektedir. Fİle color format ile video renk formatı ayarlanabilmektedir.
video 1: To multimedia file işleminin uygulanması
Matlab Simulink ile Görüntü işleme serimizin ikinci bölümünde görüntü ve/ veya video yükleme, üzerinde değişiklikler yapma ve kaydetme metotları anlatıldı. Serimizin sonraki bölümlerinde, diğer görüntü işleme algoritmaları anlatılacak ve uygulama gerçekleştirilecektir.