INVISIBILITY CLOAK(Görünmezlik pelerini)

Nurullah
2 min readDec 28, 2020

Merhaba arkadaşlar bu yazımda Python yazılım dili ile geliştirdiğim görünmezlik pelerini uygulaması hakkında bahsedeceğim. Dilerseniz başlayalım.

Yazılım kısmına geçmeden önce bu uygulamayı yaparken uygulamamız gereken adımlardan bahsedelim. Biliyorsunuz ki Görüntü işleme metotları ile bir görüntüdeki rengin tespit edilmesi ve bu rengin görüntüden çıkarılması mümkün daha önce görüntü ilşleme uygulamaları ile çalışmış iseniz renk tespiti konusu ile sık sık karşılaşmış olmanız gerek. Bizde bu uygulamada tam anlamıyla bir renk belirleyip bu rengi görüntüde tespit ederek görüntüden çıkarmaya çalışıcaz tabi bunu çıkardıktan sonra yerini boş bırakmak olmaz pellerinin arkasında kalan kısmında çıkardığımız yere denk gelen kısım ile yeni görüntüyü toplayacağız 😀 evet karışık geldiğinin farkındayım sırayla uyguladıkça aslında çok kolay bir mantığının olduğunu göreceksiniz. Hadi başlayalım.

Şimdi ilk amacımız görüntüyü alıp bu gürüntü üzerinde renk tespit etmek olmalı bunu yaparsak eğer yolu yarılamış oluruz renk tespiti için hsv uzayına çevirip bu görüntüden renk tespit etme yolunu kullandım tabi sizlerin kullandığı görüntüde tespit etmek istediğiniz renk farklı renk uzaylarında daha iyi tespit edilebilir bu size kalmış farklı renk uzaylarında denemeler yapmanız yararınıza olacaktır 🙃

hsv maskeleme fonksiyonu

yukarda gördüğünüz fonksiyona verdiğiniz görüntüde ayarladığınız hsv değerlerine göre renk tespiti yapar ve maskelediği görüntü ile maske matrisini geri döndürür şu kadarcık kodun yaptığına bakarmısın etkileyici 😎

Tamam rengi ayırt edebildiğimize göre şimdi görüntü üzerinde ayırdığımız parçanın yerine pelerinin arkasında olması gereken görüntüyü ekleyelim. Bunu yapmak için sabit bir görüntüye ihtiyacımız var ki bunuda uygulama çalıştığı anda hafızaya kaydedicez (kişi uygulamayı çalıştırırken kameranın önünde durmayacak ki boş bir görüntü alınsın) bu görüntü ile maskeleme sonucu çıkan görüntüyü mantıksal toplama işlemine tabii tutuyoruz ve sonuc ta çıkan görüntüde amacımıza ulaşmış oluyoruz 😋

invisible_function

Peki diyiceksiniz şimdi iki fonksiyon gösterdin ve görünmezlik uygulamasını yaptığınımı idda ettin tabikide evet işin mantığı bu ki fonksiyon geriye iyileştirmeler var eğer bu iyileştirmeleri yapmazsanız çok kötü bir görünüm ortaya çıkacaktır bu iyileştirmeler aşşağıdda bulunmakta 😉

bu uygulama sonucunu gösteren bir görüntüyü buraya ekliyorum ve github hesabımda bulunan kodun tamamının bağlantısınıda aşşağı bırakıyorum.

invisible_coat

inşallah yararlı olmuştur, benden bu kadar, buraya kadar ilgi gösterip okuduğunuz için teşekkürler. Geri dönüşlerinizi bekliyorum.

--

--

Nurullah

AI, opencv, MachineLearning, Electrik Elektronik Engineer