Python OpenCV ve Gerçek Zamanlı Görüntü İşleme

Herkese iyi günler,
Python da Opencv kullanarak gerçek zamanlı görüntü işleyeceğim. Görev model uçaktan yük bırakmak olacak. Uçağın altına bir kamera yerleştireceğiz ve yerde çizdiğimiz geometrik şekili algıladıktan sonra o şekil tam olarak ekranın ortasına geldiğinde servo motoru sürüp uçak kapısını açmam lazım. Sorum şu; algıladığı geometrik şekil ekranın tam ortasındayken servoyu sürmek istiyorum fakat bu tam ortasında olduğunu koda nasıl dökebilirim?

1 Beğeni

Seklin sag ve sol kenarlarinin X koordinatlarinin ortalamasi ((x1 + x2) / 2), ekranin sol ve sag kenarlarinin X koordinatlarinin ortalamasina esitse sekil X ekseninde tam ortadadir. Y ekseni de ayni sekilde.

Eksen basina iki koordinat yerine bir koordinat ve genislik aliyorsan ilk sayi (x + w/2) olacak.

İslenen görüntü icerisinde istenen geometrik sekil ekranin hangi bölgesinde olursa olsun zaten bulunacaktir. Kameranın çözünürlük görüntüsü örneğin 1280x720 piksel olursa seklinin kapladığı alan da 300x300 piksel degerinde olursa, şeklinin x değerini kameranin x değerinden çıkarıp çıkan sonucu ikiye bölerek ((1280-300)/2) x düzleminde nesnenin sag ve sol boslugunu (490px) diger bir deyisle ekranin x düzleminde orta kisimda bulunacak kismi belirleyebilirsin. Aynı şekilde y ekseni icin de gecerli algoritmayı uygulayabilirsin.

Ancak bırakacağın yük, içinde bulunduğu uçakla bağıl hıza sahip olacak. Bu yüzden zemine paralel sekilde kurulan kamera sistemi ve zemine paralel uçan uçakla görüntünün merkez noktasını buldugu an yük bırakılırsa istenilen bölgeye düşmeyecektir. Uçağın hızına ve zemine olan yüksekliğine göre daha ileri bir konuma düşecektir. Ayrıca bunlar normal şartlar altında uygulanan fizik kurallarıyla geçerli sorunlar. Buna hava sürtünmesi, rüzgar, zeminle uçak arasındaki yapılar gibi bir çok etmen dahil.

Önerim görüntüde geometrik şekil bulununca geometrik şeklin kamerada kapladığı alan ile kamera çözünürlük değerine göre geometri kullanılarak uçakla zemin arasındaki ortalama uzaklığı bulman. Serbest düşüş formülü ile ne kadar zamanda zemine ulaşacığını bulmak ve uçağın hızını dahil ederek bağıl hıza sahip yükün yatay düşüşte ne kadar uzağa gideceğini bulmak. Bu sayede ekranda geometrik şekli ekranın hangi kismindayken yükü bırakacağına karar vermek. Hava sürtünmesi, rüzgar gibi etmenleri de ekleyebilirsen daha doğru sonuç alırsın ancak daha fazla donanıma ihtiyacın olabilir ya da bulunduğun bölgedeki tahminsel verileri kullanabilirsin.